How to use a Pro Micro as a cheap controller/converter

User avatar
ohaimark
Kingpin

17 Nov 2016, 23:38

Protip: use Linux.

Rimrul

17 Nov 2016, 23:40

Even in that case using the right TTY is a good idea.

User avatar
Norman_

17 Nov 2016, 23:54

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.
That worked, thank you so much! It still failed because the hex must be in the wrong place, but whatever.

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 :roll:

jim121049

26 Dec 2016, 14:37

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.

User avatar
Wodan
ISO Advocate

26 Dec 2016, 15:12

jim121049 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.
Oh wow amazing job. I always wondered if that was possible but had enought Teensies left to take one instead ;)

Come on take some pics

User avatar
alh84001
v.001

26 Dec 2016, 19:20

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?

jim121049

27 Dec 2016, 10:10

Wodan wrote:
jim121049 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.
Oh wow amazing job. I always wondered if that was possible but had enought Teensies left to take one instead ;)

Come on take some pics
Image
Image
Image

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.

User avatar
Wodan
ISO Advocate

27 Dec 2016, 10:52

You're a real champ! Nice to have you on DT :)

jim121049

27 Dec 2016, 12:37

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.
Last edited by jim121049 on 28 Dec 2016, 12:56, edited 1 time in total.

User avatar
alh84001
v.001

27 Dec 2016, 13:39

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 :)

megahertzcoil

21 Feb 2017, 00:48

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
Last edited by megahertzcoil on 21 Feb 2017, 03:13, edited 1 time in total.

User avatar
just_add_coffee

21 Feb 2017, 02:18

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.
Awesome news!

jim121049

21 Feb 2017, 10:02

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
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.

User avatar
kekstee

11 Mar 2017, 02:36

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.
pro micro soarer converter
pro micro soarer converter
wires.jpg (606.38 KiB) Viewed 13540 times
//e now that I read it, I don't think my J1 is bridged.

oluigenuma

22 Mar 2017, 12:18

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:

Code: Select all

brew install avrdude
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

User avatar
Laser
emacs -nw

22 Mar 2017, 12:41

oluigenuma wrote: 2. To go into bootloader mode you do not have to short while 'powering up'
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-reset

User avatar
solkoseryl

03 Apr 2017, 11:09

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.

User avatar
Phenix
-p

05 May 2017, 23:02

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?

User avatar
kokokoy

29 Aug 2017, 04:03

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

User avatar
depletedvespene

29 Aug 2017, 04:29

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
Oh, excellent! I look forward to pull the same stunt on the 5155 I got, too. :-)

User avatar
kokokoy

30 Aug 2017, 03:52

One thing with mine though, I can't seem to use it on USB 3 but 2 works perfectly fine.

User avatar
pixelheresy

30 Aug 2017, 08:24

kokokoy wrote: One thing with mine though, I can't seem to use it on USB 3 but 2 works perfectly fine.
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.

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.

Arakula

25 Nov 2017, 13:26

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:
SS Pro Micro Soarer AT Converter.jpg
SS Pro Micro Soarer AT Converter.jpg (546.42 KiB) Viewed 12297 times
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:
CJMCU Beetle Soarer AT Converter.jpg
CJMCU Beetle Soarer AT Converter.jpg (345.97 KiB) Viewed 12297 times
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.

User avatar
scottc

25 Nov 2017, 16:50

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. :)

Arakula

25 Nov 2017, 17:40

Searching for "beetle atmega32u4" or "beetle leonardo" turns up quite some on AliExpress and eBay.

User avatar
scottc

25 Nov 2017, 18:51

Arakula wrote: Searching for "beetle atmega32u4" or "beetle leonardo" turns up quite some on AliExpress and eBay.
Ah yeah, thanks! That works.

Goophoba

24 Jun 2018, 04:26

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.
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
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.

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.

Gouty

14 Jul 2018, 12:12

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)

User avatar
Laser
emacs -nw

14 Jul 2018, 13:28

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

Gouty

15 Jul 2018, 11:54

Thanks laser, I can see now that it clearly states that out on Hasu's thread!

Post Reply

Return to “Workshop”