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

Protip: use Linux.
ohaimark
User avatar
Kingpin

Unread post17 Nov 2016, 22:38

User avatar
X
ohaimark
Kingpin
 
Posts: 2576
Joined: 12 Oct 2015, 19:43
Location: USA
Main keyboard: Siemens G80 Lookalike
Main mouse: Logitech G502
Favorite switch: Blue Alps
DT Pro Member: 1337
 
Even in that case using the right TTY is a good idea.
Rimrul

Unread post17 Nov 2016, 22:40

X
Rimrul
 
Posts: 243
Joined: 17 Feb 2016, 19:07
Location: Germany
Main keyboard: G80-3000LQCDE-2 w/ SKIDATA+
Main mouse: Logitech B100
Favorite switch: M Buckling spring, so far
DT Pro Member: -
 
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:
Norman_
User avatar

Unread post17 Nov 2016, 22:54

User avatar
X
Norman_
 
Posts: 167
Joined: 31 May 2015, 22:48
Location: New Jersey
Main keyboard: RedScarf II+ (RS78)
Main mouse: Zowie FK2
Favorite switch: Anything Alps
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.
jim121049

Unread post26 Dec 2016, 13:37

X
jim121049
 
Posts: 7
Joined: 11 May 2016, 21:30
Location: Virginia
DT Pro Member: -
 
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
Wodan
User avatar
ISO Advocate

Unread post26 Dec 2016, 14:12

User avatar
X
Wodan
ISO Advocate
 
Posts: 3241
Joined: 23 Nov 2015, 20:43
Location: ISO-DE
Main keyboard: Intense Rotation!!!
Main mouse: Logitech G903
Favorite switch: ALL OF THEM
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?
alh84001
User avatar
v.001

Unread post26 Dec 2016, 18:20

User avatar
X
alh84001
v.001
 
Posts: 1211
Joined: 14 Feb 2016, 18:38
Location: EU-HR-ZG
Main keyboard: unsaver
Main mouse: logitech m305 / apple trackpad
Favorite switch: BS
DT Pro Member: -
 
 
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.
jim121049

Unread post27 Dec 2016, 09:10

X
jim121049
 
Posts: 7
Joined: 11 May 2016, 21:30
Location: Virginia
DT Pro Member: -
 
You're a real champ! Nice to have you on DT :)
Wodan
User avatar
ISO Advocate

Unread post27 Dec 2016, 09:52

User avatar
X
Wodan
ISO Advocate
 
Posts: 3241
Joined: 23 Nov 2015, 20:43
Location: ISO-DE
Main keyboard: Intense Rotation!!!
Main mouse: Logitech G903
Favorite switch: ALL OF THEM
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.
Last edited by jim121049 on 28 Dec 2016, 11:56, edited 1 time in total.
jim121049

Unread post27 Dec 2016, 11:37

X
jim121049
 
Posts: 7
Joined: 11 May 2016, 21:30
Location: Virginia
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 :)
alh84001
User avatar
v.001

Unread post27 Dec 2016, 12:39

User avatar
X
alh84001
v.001
 
Posts: 1211
Joined: 14 Feb 2016, 18:38
Location: EU-HR-ZG
Main keyboard: unsaver
Main mouse: logitech m305 / apple trackpad
Favorite switch: BS
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
Last edited by megahertzcoil on 21 Feb 2017, 02:13, edited 1 time in total.
megahertzcoil

Unread post20 Feb 2017, 23:48

X
megahertzcoil
 
Posts: 1
Joined: 09 Oct 2015, 17:23
Location: United States
Main keyboard: Model M SSK
Favorite switch: Buckling Spring
DT Pro Member: -
 
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!
just_add_coffee
User avatar

Unread post21 Feb 2017, 01:18

User avatar
X
just_add_coffee
 
Posts: 412
Joined: 03 Feb 2017, 14:25
Location: United States
Main keyboard: Model F AT, Batwing Ergodox
Main mouse: Microsoft Trackball Explorer 1.0
Favorite switch: Buckling Spring
DT Pro Member: -
 
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.
jim121049

Unread post21 Feb 2017, 09:02

X
jim121049
 
Posts: 7
Joined: 11 May 2016, 21:30
Location: Virginia
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.

wires.jpg
pro micro soarer converter


//e now that I read it, I don't think my J1 is bridged.
kekstee
User avatar

Unread post11 Mar 2017, 01:36

User avatar
X
kekstee
 
Posts: 334
Joined: 10 Apr 2012, 10:21
Location: Germany
Main keyboard: HHKB Pro 2
Main mouse: Zowie FK1
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:
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
oluigenuma

Unread post22 Mar 2017, 11:18

X
oluigenuma
 
Posts: 8
Joined: 13 Aug 2016, 09:47
Location: Germany
Main keyboard: Pok3r
Main mouse: SS Kinzu
Favorite switch: MX Blue
DT Pro Member: -
 
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
Laser
User avatar
emacs -nw

Unread post22 Mar 2017, 11:41

User avatar
X
Laser
emacs -nw
 
Posts: 1509
Joined: 21 Oct 2013, 19:10
Location: Romania
Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
DT Pro Member: 0180
 
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.
solkoseryl
User avatar

Unread post03 Apr 2017, 10:09

User avatar
X
solkoseryl
 
Posts: 40
Joined: 29 Nov 2013, 21:26
Location: Rostov-on-Don, Russia
Main keyboard: F XT <> ErgoDox Blues <> UniComp M
Main mouse: Logitech X4
Favorite switch: Capacitive Bucking Spring
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?
Phenix
User avatar
-p

Unread post05 May 2017, 22:02

User avatar
X
Phenix
-p
 
Posts: 1049
Joined: 06 Jan 2016, 13:06
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: -
 
 
-p
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
kokokoy
User avatar

Unread post29 Aug 2017, 03:03

User avatar
X
kokokoy
 
Posts: 210
Joined: 23 Jan 2015, 04:22
Location: Singapore
Main keyboard: KIRA EXS
Main mouse: Logitech G304
Favorite switch: Green Alps, Vintage Black
DT Pro Member: 0145
 
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. :-)
depletedvespene
User avatar

Unread post29 Aug 2017, 03:29

User avatar
X
depletedvespene
 
Posts: 1147
Joined: 13 Jul 2017, 21:11
Location: Chile
Main keyboard: IBM Model F122
Main mouse: Logitech G700s
Favorite switch: buckling spring
DT Pro Member: -
 
One thing with mine though, I can't seem to use it on USB 3 but 2 works perfectly fine.
kokokoy
User avatar

Unread post30 Aug 2017, 02:52

User avatar
X
kokokoy
 
Posts: 210
Joined: 23 Jan 2015, 04:22
Location: Singapore
Main keyboard: KIRA EXS
Main mouse: Logitech G304
Favorite switch: Green Alps, Vintage Black
DT Pro Member: 0145
 
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.
pixelheresy
User avatar

Unread post30 Aug 2017, 07:24

User avatar
X
pixelheresy
 
Posts: 151
Joined: 09 Feb 2017, 14:20
Location: Sweden
Main keyboard: Customized Tipro MID (work); IBM Model M (home)
Main mouse: Rollermouse Pro
Favorite switch: IBM Buckling Spring; Alps SKCM Orange
DT Pro Member: -
 
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

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


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, 05:43, edited 1 time in total.
Arakula

Unread post25 Nov 2017, 12:26

X
Arakula
 
Posts: 143
Joined: 19 Sep 2014, 10:56
Location: Austria, Europe
Main keyboard: Unicomp PC/5250
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. :)
scottc
User avatar

Unread post25 Nov 2017, 15:50

User avatar
X
scottc
 
Posts: 5672
Joined: 06 Oct 2013, 21:09
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: -
 
Searching for "beetle atmega32u4" or "beetle leonardo" turns up quite some on AliExpress and eBay.
Arakula

Unread post25 Nov 2017, 16:40

X
Arakula
 
Posts: 143
Joined: 19 Sep 2014, 10:56
Location: Austria, Europe
Main keyboard: Unicomp PC/5250
DT Pro Member: -
 
Arakula wrote:Searching for "beetle atmega32u4" or "beetle leonardo" turns up quite some on AliExpress and eBay.

Ah yeah, thanks! That works.
scottc
User avatar

Unread post25 Nov 2017, 17:51

User avatar
X
scottc
 
Posts: 5672
Joined: 06 Oct 2013, 21:09
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: -
 
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.
Goophoba

Unread post24 Jun 2018, 03:26

X
Goophoba
 
Posts: 1
Joined: 24 Jun 2018, 03:14
Location: United States
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)
Gouty

Unread post14 Jul 2018, 11:12

X
Gouty
 
Posts: 34
Joined: 18 Feb 2017, 15:10
Location: United Kingdom
Main keyboard: Novatouch
Main mouse: Logitech G9
DT Pro Member: -
 
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
Laser
User avatar
emacs -nw

Unread post14 Jul 2018, 12:28

User avatar
X
Laser
emacs -nw
 
Posts: 1509
Joined: 21 Oct 2013, 19:10
Location: Romania
Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
DT Pro Member: 0180
 
Thanks laser, I can see now that it clearly states that out on Hasu's thread!
Gouty

Unread post15 Jul 2018, 10:54

X
Gouty
 
Posts: 34
Joined: 18 Feb 2017, 15:10
Location: United Kingdom
Main keyboard: Novatouch
Main mouse: Logitech G9
DT Pro Member: -
 
PreviousNext

Who is online

Users browsing this forum: anthonymak, Dilettant and 44 guests

cron