How to use a Pro Micro as a cheap controller/converter
- Norman_
- Location: New Jersey
- Main keyboard: RedScarf II+ (RS78)
- Main mouse: Zowie FK2
- Favorite switch: Anything Alps
- DT Pro Member: -
That worked, thank you so much! It still failed because the hex must be in the wrong place, but whatever.Rimrul wrote: ↑You did verify COM5 is the correct port? IIRC it changes when switching to bootloader and I just tried them until I hit the right one, resetting again every few tested COM ports.
Where do i put it/how do i specify where to grab from?
Edit: And i would run Linux, but as you can see, i have absolutely no clue what i'm doing
Editedit: NVM, got it...it's the path next to where you type the command...duh
-
- Location: Virginia
- DT Pro Member: -
I recently used a Pro Micro as a controller (not converter) for my Model F "Bigfoot" keyboard running Soarer's firmware.
I was told that the Pro Micro didn't have enough pins and, since the controller needed access to PB6-PB0, it seemed that I
would be one pin short (PB0) see http://i.imgur.com/wMNx2u6.png. However, by removing the R4 resistor (current limiter for the yellow TX LED, which wouldn't be seen anyway since the Pro Micro is mounted inside the Bigfoot case) and soldering to the pad vacated by R4, I was able to gain access to PB0 and thus successfully make the Pro Micro work as my controller.
I was told that the Pro Micro didn't have enough pins and, since the controller needed access to PB6-PB0, it seemed that I
would be one pin short (PB0) see http://i.imgur.com/wMNx2u6.png. However, by removing the R4 resistor (current limiter for the yellow TX LED, which wouldn't be seen anyway since the Pro Micro is mounted inside the Bigfoot case) and soldering to the pad vacated by R4, I was able to gain access to PB0 and thus successfully make the Pro Micro work as my controller.
- Wodan
- ISO Advocate
- Location: ISO-DE
- Main keyboard: Intense Rotation!!!
- Main mouse: Logitech G903
- Favorite switch: ALL OF THEM
- DT Pro Member: -
Oh wow amazing job. I always wondered if that was possible but had enought Teensies left to take one insteadjim121049 wrote: ↑I recently used a Pro Micro as a controller (not converter) for my Model F "Bigfoot" keyboard running Soarer's firmware.
I was told that the Pro Micro didn't have enough pins and, since the controller needed access to PB6-PB0, it seemed that I
would be one pin short (PB0) see http://i.imgur.com/wMNx2u6.png. However, by removing the R4 resistor (current limiter for the yellow TX LED, which wouldn't be seen anyway since the Pro Micro is mounted inside the Bigfoot case) and soldering to the pad vacated by R4, I was able to gain access to PB0 and thus successfully make the Pro Micro work as my controller.
Come on take some pics
- alh84001
- v.001
- Location: EU-HR-ZG
- Main keyboard: unsaver
- Main mouse: logitech m305 / apple trackpad
- Favorite switch: BS
- DT Pro Member: -
Awesome! This is just in time, as I will be getting some springs for my cannibalised Bigfoot soon, and I have just Pro Micros laying around Can you mark the R4 on the pic you linked?
-
- Location: Virginia
- DT Pro Member: -
Wodan wrote: ↑Oh wow amazing job. I always wondered if that was possible but had enought Teensies left to take one insteadjim121049 wrote: ↑I recently used a Pro Micro as a controller (not converter) for my Model F "Bigfoot" keyboard running Soarer's firmware.
I was told that the Pro Micro didn't have enough pins and, since the controller needed access to PB6-PB0, it seemed that I
would be one pin short (PB0) see http://i.imgur.com/wMNx2u6.png. However, by removing the R4 resistor (current limiter for the yellow TX LED, which wouldn't be seen anyway since the Pro Micro is mounted inside the Bigfoot case) and soldering to the pad vacated by R4, I was able to gain access to PB0 and thus successfully make the Pro Micro work as my controller.
Come on take some pics
The R4 resistor is in the lower left corner of the Pro Micro. It is immediately below the yellow LED, between the hole labeled "8" and the 16MHz crystal. The lower of the two pads vacated when R4 is removed connects to pin 8 of the ATmega32U4 which is PB0.
-
- Location: Virginia
- DT Pro Member: -
Just a couple of additional points which may save some grief for anyone contemplating using a Pro Micro with a Bigfoot...
1. Connect "Frame Ground" on the Bigfoot's circuit board to "GND" on the Pro Micro. My setup wouldn't work correctly without this connection.
2. I changed "debounce 1" to "debounce 5" in the "bigfoot.sc" configuration file to solve key bounce problems with some keys. The documentation found in Soarer_Controller_v1.20_beta4.zip states that 5 is the default value.
1. Connect "Frame Ground" on the Bigfoot's circuit board to "GND" on the Pro Micro. My setup wouldn't work correctly without this connection.
2. I changed "debounce 1" to "debounce 5" in the "bigfoot.sc" configuration file to solve key bounce problems with some keys. The documentation found in Soarer_Controller_v1.20_beta4.zip states that 5 is the default value.
Last edited by jim121049 on 28 Dec 2016, 12:56, edited 1 time in total.
- alh84001
- v.001
- Location: EU-HR-ZG
- Main keyboard: unsaver
- Main mouse: logitech m305 / apple trackpad
- Favorite switch: BS
- DT Pro Member: -
Thanks! I'll try it out next week probably.
Edit: Tried this without the modifications you mention above and it works without any issues for now. Rocking my DE bigfoot right now
Edit: Tried this without the modifications you mention above and it works without any issues for now. Rocking my DE bigfoot right now
-
- Location: United States
- Main keyboard: Model M SSK
- Favorite switch: Buckling Spring
- DT Pro Member: -
I had been stumped for the last week about why my Pro Micro (5v version) clone wasn't working with a Model F XT, but worked fine with a Model F AT. Turns out the Pro Micro I was using didn't have J1 soldered and thus there was additional voltage drop to the keyboard. On the particular PC I was using, the keyboard was only getting 4.0v. Once I bridged the jumper, everything worked like a charm.
So, if you buy a Pro Micro clone from eBay, make sure the J1 jumper is bridged, otherwise you might run into some combinations of PCs/keyboards that don't work.
Edit: clarified the 5v version
So, if you buy a Pro Micro clone from eBay, make sure the J1 jumper is bridged, otherwise you might run into some combinations of PCs/keyboards that don't work.
Edit: clarified the 5v version
Last edited by megahertzcoil on 21 Feb 2017, 03:13, edited 1 time in total.
- just_add_coffee
- Location: United States
- Main keyboard: Model F AT, Batwing Ergodox
- Main mouse: Microsoft Trackball Explorer 1.0
- Favorite switch: Buckling Spring
- DT Pro Member: -
Awesome news!megahertzcoil wrote: ↑I had been stumped for the last week about why my Pro Micro clone wasn't working with a Model F XT, but worked fine with a Model F AT. Turns out the Pro Micro I was using didn't have J1 soldered and thus there was additional voltage drop to the keyboard. On the particular PC I was using, the keyboard was only getting 4.0v. Once I bridged the jumper, everything worked like a charm.
So, if you buy a Pro Micro clone from eBay, make sure the J1 jumper is bridged, otherwise you might run into some combinations of PCs/keyboards that don't work.
-
- Location: Virginia
- DT Pro Member: -
Interesting. I had exactly the same problem with a Pro Micro clone and my Model F XT keyboard. I posted a message in this very same thread about the J1 jumper back on May 11, 2016.megahertzcoil wrote: ↑I had been stumped for the last week about why my Pro Micro (5v version) clone wasn't working with a Model F XT, but worked fine with a Model F AT. Turns out the Pro Micro I was using didn't have J1 soldered and thus there was additional voltage drop to the keyboard. On the particular PC I was using, the keyboard was only getting 4.0v. Once I bridged the jumper, everything worked like a charm.
So, if you buy a Pro Micro clone from eBay, make sure the J1 jumper is bridged, otherwise you might run into some combinations of PCs/keyboards that don't work.
Edit: clarified the 5v version
- kekstee
- Location: Germany
- Main keyboard: HHKB
- Main mouse: RFM01
- DT Pro Member: -
Thanks for figuring that out jim.
Using it in my Bigfoot like that. Unfortunately I managed to pull the pad on the first Pro Micro I tried it with.
I should probably add a liberal amount of hot glue on this working one some day.
//e now that I read it, I don't think my J1 is bridged.
Using it in my Bigfoot like that. Unfortunately I managed to pull the pad on the first Pro Micro I tried it with.
I should probably add a liberal amount of hot glue on this working one some day.
//e now that I read it, I don't think my J1 is bridged.
-
- Location: Germany
- Main keyboard: Pok3r
- Main mouse: SS Kinzu
- Favorite switch: MX Blue
- DT Pro Member: -
Thank you so much for this Tutorial! I've managed to use a Pro Micro as a controller for my handwired m0116!
Two things I've noticed:
1. On MacOS you can install avrdude via homebrew:
2. To go into bootloader mode you do not have to short while 'powering up' and the pro micro only stays in bootloader mode for 8 seconds
Two things I've noticed:
1. On MacOS you can install avrdude via homebrew:
Code: Select all
brew install avrdude
- Laser
- emacs -nw
- Location: Romania
- Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
- DT Pro Member: 0180
AFAIK, this only happens if the Pro Micro wasn't flashed. After you flash something on it, you will have to reset it in order to enter bootloader mode (or, so it should! otherwise, you'd have to wait 8 seconds everytime you plug your keyboard, waiting for the Micro to escape the bootloader). I think there's also another way - by selecting a certain baud rate configuration, but I don't remember where I found that, or something like this (not tested): https://github.com/Amadiro/arduino-resetoluigenuma wrote: ↑ 2. To go into bootloader mode you do not have to short while 'powering up'
- solkoseryl
- Location: Rostov-on-Don, Russia
- Main keyboard: F XT <> ErgoDox Blues <> UniComp M
- Main mouse: Logitech X4
- Favorite switch: Capacitive Buckling Spring
- DT Pro Member: -
Thank you very much for the tutorial!
I've managed to get my IBM model F XT working. And it does like a charm
I've done it under Windows 7 x64. So, I'd like to tell about one issue I've faced with.
Windows didn't recognize the device, of course, then I installed drivers manually, as SparkFun recommends. After that I got the Pro Micro in my device list under 'Ports Com & Lpt' section, associated with com5. So far -- so good. But when I pushed the ProMicro into the bootloader mode it didn't change the com-port number (like it says in all tutorials I've read). All of a sudden, it turned again to the 'Arduino Leonardo' with a question mark under 'unknown devices' section in the device manager. And, after 8 secs, it turned back to 'SparkFun ProMicro on com5' under 'ports com & lpt' section.
It turned to me that I have to install the same driver again, but to do it while the device is in unknown state, i.e. in the bootloader mode, i.e. in 8 seconds
I've tried a dozen of times until succeeded Then I found out that in bootloader mode the port number changes to com6. And then I easily flashed the Soarer's code using the fresh avrdude for Windows. Voila!
It turned out the XT layout is not that weird. When I started to touch-type I suddenly got that every key is exactly on its place.
I've managed to get my IBM model F XT working. And it does like a charm
I've done it under Windows 7 x64. So, I'd like to tell about one issue I've faced with.
Windows didn't recognize the device, of course, then I installed drivers manually, as SparkFun recommends. After that I got the Pro Micro in my device list under 'Ports Com & Lpt' section, associated with com5. So far -- so good. But when I pushed the ProMicro into the bootloader mode it didn't change the com-port number (like it says in all tutorials I've read). All of a sudden, it turned again to the 'Arduino Leonardo' with a question mark under 'unknown devices' section in the device manager. And, after 8 secs, it turned back to 'SparkFun ProMicro on com5' under 'ports com & lpt' section.
It turned to me that I have to install the same driver again, but to do it while the device is in unknown state, i.e. in the bootloader mode, i.e. in 8 seconds
I've tried a dozen of times until succeeded Then I found out that in bootloader mode the port number changes to com6. And then I easily flashed the Soarer's code using the fresh avrdude for Windows. Voila!
It turned out the XT layout is not that weird. When I started to touch-type I suddenly got that every key is exactly on its place.
- Phenix
- -p
- Location: Germany, Cologne
- Main keyboard: F122, soarer´d|Novatouch-s
- Main mouse: Roccat Kone Pure|Rollermouse
- Favorite switch: BS F|Topre-s
- DT Pro Member: -
can please someone help me out shortly:
I want to make sure that the Model M will work (didnt got to solder the pro micro in).
After I navigated to the soarers firmware folder/run the command, I got the result
"Avrdude done"
Is THIS correct?
I want to make sure that the Model M will work (didnt got to solder the pro micro in).
After I navigated to the soarers firmware folder/run the command, I got the result
"Avrdude done"
Is THIS correct?
- kokokoy
- Location: Singapore
- Main keyboard: FC660C
- Main mouse: CST L'trac
- Favorite switch: Topre, Green Alps, Vintage Black
- DT Pro Member: 0145
Managed to do this on my 5155 portable. Burned my teensy w/c was its previous controller (don't ask) thus tried using a cheaper approach. Bought a pro micro from Banggood and worked perfectly. Thanks scottc for the tutorial.
For wiring just go to keyboards-f2/ibm-5155-model-f-keyboard-t7644.html
For wiring just go to keyboards-f2/ibm-5155-model-f-keyboard-t7644.html
- depletedvespene
- Location: Chile
- Main keyboard: IBM Model F122
- Main mouse: Logitech G700s
- Favorite switch: buckling spring
- DT Pro Member: 0224
- Contact:
Oh, excellent! I look forward to pull the same stunt on the 5155 I got, too.kokokoy wrote: ↑Managed to do this on my 5155 portable. Burned my teensy w/c was its previous controller (don't ask) thus tried using a cheaper approach. Bought a pro micro from Banggood and worked perfectly. Thanks scottc for the tutorial.
For wiring just go to keyboards-f2/ibm-5155-model-f-keyboard-t7644.html
- pixelheresy
- Location: Åland
- Main keyboard: Pok3r Vortex (work); IBM Model M (home)
- Main mouse: Rollermouse Pro
- Favorite switch: IBM Buckling Spring; Alps SKCM Orange
- DT Pro Member: -
Really? I have no issue. It's either hooked up to a 3.0 hub or (if I take it and my laptop to work with her at the kitchen table) directly to a 3.0 port.kokokoy wrote: ↑One thing with mine though, I can't seem to use it on USB 3 but 2 works perfectly fine.
Perhaps an incompatibility due to the Pro Micro being OSH and made by multiple manufacturers (and perhaps both are to official spec, but specs don't require 3.0)? Dunno really.
I have used two different ProMicros by different manufacturers and both work fine. Have a half dozen en route but will test out those.
-
- Location: Austria, Europe
- Main keyboard: Unicomp PC/5250
- DT Pro Member: -
- Contact:
I've recently acquired two other little Arduino-compatible boards which can be used for Soarers Converter. The first one is called:
SS Micro
This is a close relative of the Pro Micro; the main difference is that its LEDs, while connected to the same ATmega32U4 pins, are active high instead of the active low LEDs on the Pro Micro. That means you can use my patched Soarer Converter firmware (somewhere on page 2 of this thread, AFAIR), but the LEDs will be constantly lit and only be turned off when an error happens. While this little fellow has far less pins available, it's just about right for Soarer and/or Hasu's Converter. Here's an image of the thing, its connectors and where to attach what for Soarer's Converter: As you can see, the SS Micro has a double-sided layout. Well, who needs to see the microcontroller ... the LEDs are more important.
The other one is called
CJMCU Beetle
Seems to be a DFROBOT Beetle clone; it exposes the same pins and the same LED connection as that one in a slightly larger, but also more usable package. Works for Soarer Converter, too, but the LED is at a totally different port/pin, so neither Soarer's original firmware nor my patched one use it at the moment. Well, that's a very minor problem, and maybe I'll create a patched version. Here's an image of the thing, its connectors and where to attach what for Soarer's Converter: Both are cheap and can be used for Soarers Converter. One little problem is the thickness of their PCBs; both are a bit too thick to fit comfortably in a USB A socket (they do, but just about). Soldering a cable to the USB pins would probably be a good idea.
SS Micro
This is a close relative of the Pro Micro; the main difference is that its LEDs, while connected to the same ATmega32U4 pins, are active high instead of the active low LEDs on the Pro Micro. That means you can use my patched Soarer Converter firmware (somewhere on page 2 of this thread, AFAIR), but the LEDs will be constantly lit and only be turned off when an error happens. While this little fellow has far less pins available, it's just about right for Soarer and/or Hasu's Converter. Here's an image of the thing, its connectors and where to attach what for Soarer's Converter: As you can see, the SS Micro has a double-sided layout. Well, who needs to see the microcontroller ... the LEDs are more important.
The other one is called
CJMCU Beetle
Seems to be a DFROBOT Beetle clone; it exposes the same pins and the same LED connection as that one in a slightly larger, but also more usable package. Works for Soarer Converter, too, but the LED is at a totally different port/pin, so neither Soarer's original firmware nor my patched one use it at the moment. Well, that's a very minor problem, and maybe I'll create a patched version. Here's an image of the thing, its connectors and where to attach what for Soarer's Converter: Both are cheap and can be used for Soarers Converter. One little problem is the thickness of their PCBs; both are a bit too thick to fit comfortably in a USB A socket (they do, but just about). Soldering a cable to the USB pins would probably be a good idea.
Last edited by Arakula on 26 Nov 2017, 06:43, edited 1 time in total.
- scottc
- ☃
- Location: Remote locations in Europe
- Main keyboard: GH60-HASRO 62g Nixies, HHKB Pro1 HS, Novatouch
- Main mouse: Steelseries Rival 300
- Favorite switch: Nixdorf 'Soft Touch' MX Black
- DT Pro Member: -
Oooh, cool. They look great, thanks for sharing, especially with the annotated pinouts! They'd be great for a very small in-line converter. I might grab one to try out.
The only CJMCU beetles I could find on AliExpress didn't have an atmega32u4, but an attiny85. It had a different pinout too. Anyone looking at these, be sure to get the right version.
The only CJMCU beetles I could find on AliExpress didn't have an atmega32u4, but an attiny85. It had a different pinout too. Anyone looking at these, be sure to get the right version.
-
- Location: Austria, Europe
- Main keyboard: Unicomp PC/5250
- DT Pro Member: -
- Contact:
Searching for "beetle atmega32u4" or "beetle leonardo" turns up quite some on AliExpress and eBay.
- scottc
- ☃
- Location: Remote locations in Europe
- Main keyboard: GH60-HASRO 62g Nixies, HHKB Pro1 HS, Novatouch
- Main mouse: Steelseries Rival 300
- Favorite switch: Nixdorf 'Soft Touch' MX Black
- DT Pro Member: -
Ah yeah, thanks! That works.Arakula wrote: ↑Searching for "beetle atmega32u4" or "beetle leonardo" turns up quite some on AliExpress and eBay.
-
- Location: United States
- DT Pro Member: -
I have a Zenith Data Systems keyboard that needs the reset pin and I got a Pro Micro before I knew it lacked a PB7 pin out. I tried using the promicro without the reset pin but nothing works. Just got some lights and the keyboards all locked up, no good.
I then stuck a 220uf cap (I'm not really sure why I did this) between the keyboards reset and the Micros ground. With that in place everything's working great now.
Why did that work? I've not a clue, not one.
Well before I saw Arakula's post on the alternate build for Pro Micros I was playing about and noticed the keyboard worked fine if the reset line from the keyboard was just tapped on the Pro Micro's ground pin.Arakula wrote: ↑the PB7 line, which Soarer uses for the PC/XT format Reset pin, isn't available, so connecting a PC or XT (-compatible) keyboard presumably won't work
I then stuck a 220uf cap (I'm not really sure why I did this) between the keyboards reset and the Micros ground. With that in place everything's working great now.
Why did that work? I've not a clue, not one.
-
- Location: United Kingdom
- Main keyboard: Novatouch
- Main mouse: Logitech G9
- DT Pro Member: -
I made an ADB to USB converter using an pro micro (5V version) for my ISO UK AEK II and it works really well. Thanks to everyone for their contributions to this thread, made the process simple and answered all my questions I had throughout the process of making it.
I downloaded a hex file from the TMK gui https://goo.gl/KW66Rt and flashed it to the pro micro using AVRDUDE under windows 10
First I tried rev.2 but for some reason once the device was flashed it would reboot and be unrecognized, then when disconnecting and reconnecting it nothing would come up at all (as if it was never connected)
Resetting it was fine, so I did just that and then put on a rev.1 hex file. This time it recognised it immediately as an ADB converter and appeared as HID keyboard and mouse, which was great.
Any idea why the rev.2 would not work but the rev.1 would? Is it a quirk of the pro micro?
Also, the numpad equals (keymapd equal) is weird under windows, it outputs 5 in most instances and nothing in the command prompt. Anyone know why this might be? I changed it to regular equals, so it's not really an issue.
P.S. If you find that when you plug in the keyboard your mouse starts moving around 50 pixels to the left every second or so, then you have the PD0 and VCC wires the wrong way (yes I am a dumbass)
I downloaded a hex file from the TMK gui https://goo.gl/KW66Rt and flashed it to the pro micro using AVRDUDE under windows 10
First I tried rev.2 but for some reason once the device was flashed it would reboot and be unrecognized, then when disconnecting and reconnecting it nothing would come up at all (as if it was never connected)
Resetting it was fine, so I did just that and then put on a rev.1 hex file. This time it recognised it immediately as an ADB converter and appeared as HID keyboard and mouse, which was great.
Any idea why the rev.2 would not work but the rev.1 would? Is it a quirk of the pro micro?
Also, the numpad equals (keymapd equal) is weird under windows, it outputs 5 in most instances and nothing in the command prompt. Anyone know why this might be? I changed it to regular equals, so it's not really an issue.
P.S. If you find that when you plug in the keyboard your mouse starts moving around 50 pixels to the left every second or so, then you have the PD0 and VCC wires the wrong way (yes I am a dumbass)
- Laser
- emacs -nw
- Location: Romania
- Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
- DT Pro Member: 0180
AFAIK "rev.2" is for atmega32u2, while the Pro Micro is an atmega32u4 (-> "rev. 1"). Those firmwares are intended to be used with Hasu's prebuilt converters, so those revisions follow what Hasu uses: https://geekhack.org/index.php?topic=14290.0