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

User avatar

02 Jan 2019, 20:00

twasa wrote: I'm using the converter I believe (Soarer_at2usb_v1.12_atmega32u4.hex). Good for you St0ckz, I'm hoping to also get this to work, without knowing enough yet about what I'm doing. :D
You might try using qmk_toolbox. This worked for me on a Pro Micro.

User avatar

03 Jan 2019, 06:33

twasa wrote: Code Set: 1
Mode: PC/XT
That doesn't look right to me, I'd expect code set 3 for terminal M122s.


03 Jan 2019, 20:02

@Darkshado, that's what I was expecting too. I am stumped, since I don't know why the board gets identified as code set 1, which I suspect is why I don't get any keys to register.


05 Jan 2019, 05:40

i agree that it should auto-sense, and that points to a wiring issue, but have you tried forcing it to code set 3 to see if it's just an auto-detection issue?


05 Jan 2019, 12:33

Thanks mxgian99. I tried that with the same result. hid_listen does not register any key press. I'll check the wiring to the pro micro again.


05 Sep 2020, 03:49

Hey All,

Just in case anyone is looking for an experimental version that might work with 3V3 Pro Micros, please see attached .hex file.

I started with the following .hex file: resources/slightly-changed-sc-v1-12/15676
Which I found a link to here: ... _micro.pdf

This appears to be a modified version that exposes the reset line too on PB6 (read that .pdf), the default release I think has it on a pin that is not accessible on the pro micro, but it's otherwise accessible by other atmega32u4 boards.

I disassembled it, and looked for "out 0x29" instructions.
These instructions write the PLLCSR register.

Basicly for 16MHz pro micro the PINDIV bit of this register must be set, but for 8MHz Pro Micro PINDIV must not be set.
I found the following sequence:
│ 0x000016fc 82e1 ldi r24, 0x12
│ 0x000016fe 89bd out 0x29, r24

And I changed it to:
│ 0x000016fc 82e0 ldi r24, 0x02
│ 0x000016fe 89bd out 0x29, r24

After this change, if flashing the modified .hex file (see attached), then the 3.3V Pro Micro successfully enumerates.

Note: You probably need to short the J1 pads on the Pro Micro to force it to operate at 5V.

Note2: I have not tested this with a keyboard, and it's not guaranteed that this will work with the keyboard, there could be other timing sensitive elements in the firmware that assume that the CPU is running at 16MHz, in which case more mods are needed.

If you try this please report back here.

(15.59 KiB) Downloaded 5 times

Post Reply

Return to “Workshop”