How to use a Pro Micro as a cheap controller/converter
-
- Location: United States
- DT Pro Member: -
I didn''t think to try another keyboard. Well I connected a Focus 2001 through the pro micro and it at least sort of works, some keys repeat but it does type, meanwhile the Model F does nothing. So that seems to confirm that something is wrong with the keyboard, thats too bad. Well thanks anyway.
- ThePillenwerfer
- Location: Yorkshire, England.
- Main keyboard: IBM KB-8926
- Main mouse: Unbranded optical PS/2.
- Favorite switch: Blue Alps
- DT Pro Member: -
- Contact:
I certainly wouldn't like to trust them far. I boxed mine up in such a way that there's no strain/wiggling on the socket.
-
- Location: South Africa
- Main keyboard: IBM model M
- DT Pro Member: -
I spent a frustrating afternoon attempting to flash Soarer's converter to a pro micro. All I get is the following error message:
Connecting to programmer: .
Found programmer: Id = "@ d"; type =
Software Version = D. ; Hardware Version = É._
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
I tried two different cables and all of the usb ports on my machine.
This is what I use:
avrdude -p m32 -P com3 -c avr109 -U flash:w:Soarer_at2usb_v1.12_atmega32u4.hex on Windows 10 64-bit.
A general wave in the direction of a solution would be much appreciated.
Connecting to programmer: .
Found programmer: Id = "@ d"; type =
Software Version = D. ; Hardware Version = É._
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
I tried two different cables and all of the usb ports on my machine.
This is what I use:
avrdude -p m32 -P com3 -c avr109 -U flash:w:Soarer_at2usb_v1.12_atmega32u4.hex on Windows 10 64-bit.
A general wave in the direction of a solution would be much appreciated.
- ThePillenwerfer
- Location: Yorkshire, England.
- Main keyboard: IBM KB-8926
- Main mouse: Unbranded optical PS/2.
- Favorite switch: Blue Alps
- DT Pro Member: -
- Contact:
The obvious thing is that -p m32 should be -p atmega32u4.
-
- Location: South Africa
- Main keyboard: IBM model M
- DT Pro Member: -
That's where I started, but that just brings up a list of supported parts, of which atmega32 is the closest, with m32 as the shorthand name. It is a 32-bit avrdude executable, which I think I should look for again. It may be an older version perhaps.
- ThePillenwerfer
- Location: Yorkshire, England.
- Main keyboard: IBM KB-8926
- Main mouse: Unbranded optical PS/2.
- Favorite switch: Blue Alps
- DT Pro Member: -
- Contact:
The the latest version for Windows seems to be 5.10 from: https://sourceforge.net/projects/winavr/
You could try -p m32u4 as that seems to be the supported:—
I'm not much help as I always do that sort of thing on Linux.
You could try -p m32u4 as that seems to be the supported:—
Code: Select all
C:\users\Joe>avrdude -p ?
Valid parts are:
[.....]
m32u4 = ATmega32U4 [C:\WinAVR-20100110\bin\avrdude.conf:11880]
[.....]
m32 = ATMEGA32 [C:\WinAVR-20100110\bin\avrdude.conf:6285]
[.....]
I'm not much help as I always do that sort of thing on Linux.
Last edited by ThePillenwerfer on 23 Dec 2018, 00:30, edited 2 times in total.
- Hypersphere
- Location: USA
- Main keyboard: Silenced & Lubed HHKB (Black)
- Main mouse: Logitech G403
- Favorite switch: Topre 45/55g Silenced; Various Alps; IBM Model F
- DT Pro Member: 0038
I've been able to flash Soarer's converter to a Pro Micro ATmega32U4 using QMK_Toolbox. However, I have been unable to flash Hasu's xt_usb converter this way.
On the other hand, I was able to flash Hasu's xt_usb converter to a Teensy 2.0 using the teensy.exe loader in Windows 10.
On the other hand, I was able to flash Hasu's xt_usb converter to a Teensy 2.0 using the teensy.exe loader in Windows 10.
- Quartz64
- Location: Russia
- Main keyboard: Kinesis Contoured (Kailh Box Black, Koala)
- Main mouse: Elecom Huge
- Favorite switch: Durock Koala
- DT Pro Member: 0253
- Contact:
Pro Micro uses 'Caterina' bootloader and it will only stay for a few seconds in it when you short a reset pin to ground. See Let's Split flashing guide for details about drivers and using avrdude or avrdudess (GUI for avrdude) to flash a Pro Micro.
- Hypersphere
- Location: USA
- Main keyboard: Silenced & Lubed HHKB (Black)
- Main mouse: Logitech G403
- Favorite switch: Topre 45/55g Silenced; Various Alps; IBM Model F
- DT Pro Member: 0038
A handy feature of QMK_Toolbox is the auto-flash. It will flash the chip as soon as the pins on the Pro Micro are shorted.
-
- Location: South Africa
- Main keyboard: IBM model M
- DT Pro Member: -
Just a sanity check if someone knowledgeable is around. I'm connecting an M122 (1390718) to a blue Pro Micro. Are these also correct for that keyboard:
Black -> VCC
White -> GND (third away from the usb connector)
Red -> 3
Yellow -> 2
Black -> VCC
White -> GND (third away from the usb connector)
Red -> 3
Yellow -> 2
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
gnd on my blue pro micro is 2nd in that row, but otherwise correct.twasa wrote: ↑Just a sanity check if someone knowledgeable is around. I'm connecting an M122 (1390718) to a blue Pro Micro. Are these also correct for that keyboard:
Black -> VCC
White -> GND (third away from the usb connector)
Red -> 3
Yellow -> 2
Typed on my M122 I opened to check
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
so usb port facing away from youtwasa wrote: ↑Thanks St0ckz. Looks like I have J1 top, then Tx0, Rx1, GND, GND, 2, 3 etc. Do I use the first GND?
White wire, right hand side, 2nd down marked GND
Black wire, right hand side, 4th down marked VCC
Yellow wire, left hand side, 5th down marked 2
Red wire, left hand side, 6th down marked 3
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
You are most welcome, i just finished doing mine today in fact, it's a nice board. A tad loud compared to the lubed retooled blacks I usually run thoughtwasa wrote: ↑Thanks a lot St0ckz! I would have wired it incorrectly. That is completely clear.
-
- Location: South Africa
- Main keyboard: IBM model M
- DT Pro Member: -
One step forward, soldering the wires to the pro micro successful. Fired up hid_listen:
I connect the keyboard to a usb port:
And then nothing happens when I press a key on the keyboard. Any suggestions to proceed from here? (Sorry this is my first attempt at this.)
Code: Select all
Waiting for device:....
Code: Select all
Listening:
wEE
remaining: FFFC
Keyboard ID: 0000
Code Set: 1
Mode: PC/XT
R05
- Hypersphere
- Location: USA
- Main keyboard: Silenced & Lubed HHKB (Black)
- Main mouse: Logitech G403
- Favorite switch: Topre 45/55g Silenced; Various Alps; IBM Model F
- DT Pro Member: 0038
@twasa: Have you checked the wiring and loaded a hex file?
- Hypersphere
- Location: USA
- Main keyboard: Silenced & Lubed HHKB (Black)
- Main mouse: Logitech G403
- Favorite switch: Topre 45/55g Silenced; Various Alps; IBM Model F
- DT Pro Member: 0038
Have you tried 1k pull-up resistors between clock and Vcc and between data and Vcc?twasa wrote: ↑@Hypershere Yes, the loading of the hex file was my first hurdle. I checked the wires that I soldered to the pro micro and they correspond to the advice St0ckz gave.
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
I need to know how far you've gotten, have you extracted soarers?twasa wrote: ↑One step forward, soldering the wires to the pro micro successful. Fired up hid_listen:
I connect the keyboard to a usb port:Code: Select all
Waiting for device:....
And then nothing happens when I press a key on the keyboard. Any suggestions to proceed from here? (Sorry this is my first attempt at this.)Code: Select all
Listening: wEE remaining: FFFC Keyboard ID: 0000 Code Set: 1 Mode: PC/XT R05
set up an enviroment variable?
There's a bunch of steps so it would be good to know what you've done so far
-
- Location: South Africa
- Main keyboard: IBM model M
- DT Pro Member: -
@St0ckz: So far, I have flashed the Soarer hex file to the pro micro and then soldered the wires as you said I should. The original cable of the keyboard was forcibly removed, leaving behind the little black connection box that connects the cable to the pins on the pcb. I soldered the wires that remained from that connection box to the pro micro.
I'm pretty sure I haven't set up an environment variable.
I'm pretty sure I haven't set up an environment variable.
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
Only thing I can think of is that the actual keymap file isn't there.twasa wrote: ↑@St0ckz: So far, I have flashed the Soarer hex file to the pro micro and then soldered the wires as you said I should. The original cable of the keyboard was forcibly removed, leaving behind the little black connection box that connects the cable to the pins on the pcb. I soldered the wires that remained from that connection box to the pro micro.
I'm pretty sure I haven't set up an environment variable.
(I have no idea what an enviroment variable actually is, I just have a very knowledgable friend)
Let's start at the start in this case because it'll be easier to type out.
First goto the folder Soarer Convertor\tools and extract the windows.zip
Then you should get the folder named soarer_sctools_v1.0_windows which inside will be a bunch of exe files
Type edit enviromental variables into start menu, then in the top box, select the line starting with PATH
Then click edit, then new, then add the path to the Soarer_Converter_v1.0/tools folder, click ok and then apply.
type scas into command prompt, you should get this.
Code: Select all
usage: scas <text_config> [<text_config> ...] <binary_config>
Code: Select all
scas your_keymap.sc your_keymap.scb
Code: Select all
scwr your_keymap.scb
I mean step for step that's exactly what i did, so i hope yours works
-
- Location: South Africa
- Main keyboard: IBM model M
- DT Pro Member: -
Thanks for the detailed reply. Adding the Soarer tools folder to the path, allows one to address the contents of the folder from any other folder. I'm ok with the command line and don't really need that to execute the Soarer tools.
I was under the impression that there is a default key mapping when one flashes the converter onto the pro micro and one only needs one if you'd like to reassign keys etc. Am I mistaken?
I was under the impression that there is a default key mapping when one flashes the converter onto the pro micro and one only needs one if you'd like to reassign keys etc. Am I mistaken?
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
That was not my experience. I thought converting a board with a well documented process such as soarers would pretty straightforward, like remapping any qmk board for example.twasa wrote: ↑Thanks for the detailed reply. Adding the Soarer tools folder to the path, allows one to address the contents of the folder from any other folder. I'm ok with the command line and don't really need that to execute the Soarer tools.
I was under the impression that there is a default key mapping when one flashes the converter onto the pro micro and one only needs one if you'd like to reassign keys etc. Am I mistaken?
if you have an .sc or .scb file, do the last steps and your board should work. How to edit said file is beyond my knowledge I'm afraid, but when i flashed soarer's hex onto my pro micro it did not have a default mapping of any kind.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
That's not how Soarer's *converter* works at all. There is a default mapping. It simply 1:1 translates the original keyboard's output into USB keyboard codes.
Soarer's *controller* meanwhile, does indeed need a map specified from scratch. Similar name, very different function. The controller has to drive a matrix. In this case, there is no clear sensible default. You have to define the matrix yourself.
Soarer's *controller* meanwhile, does indeed need a map specified from scratch. Similar name, very different function. The controller has to drive a matrix. In this case, there is no clear sensible default. You have to define the matrix yourself.
- St0ckz
- Location: United Kingdom
- Main keyboard: HHKB Pro 1
- Main mouse: Elecom Huge
- Favorite switch: Cherry black
- DT Pro Member: -
Perhaps I should have prefaced it with, "I have no idea what I'm doing but I got it to work so there's that"Muirium wrote: ↑That's not how Soarer's *converter* works at all. There is a default mapping. It simply 1:1 translates the original keyboard's output into USB keyboard codes.
Soarer's *controller* meanwhile, does indeed need a map specified from scratch. Similar name, very different function. The controller has to drive a matrix. In this case, there is no clear sensible default. You have to define the matrix yourself.