• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Cheap and simple ADB to USB converter

shadedream

Well-known member
I showed the board to some of my fellow keyboard nerds and they also pointed out that you can put the pro-micro on the under side of the PCB which sandwiches the port against the PCB providing it additional support.
 

davewongillies

Well-known member
Elite-C are the ones I've used in the past for keyboard projects. Wasn't aware of the BIT-C ones. They don't look as nice as the Elite-C for that price, but if it works it works. Looks like the BIT-C has a vendor in Europe also which may be a plus for some:

Yeah, agreed that the Elite-C's look nicer, but they've been unavailable for a while. Another option is the SparkFun Qwiic Pro Micro

 

Skate323k137

Well-known member
Had the chance to make a couple of these.

The Elite-C from Keeb.io was a breeze, solder up, load the firmware with QMK Toolbox on Mac (GUI was sufficient), good to go.

The cheaper clones needed a new bootloader, as detailed in the OP. The flashing guide has moved to:

I used an Uno R3, per these docs https://schou.dk/linux/arduino/isp/ ("The Arduino UNO should be loaded with the "ArduinoISP" application")

Once the Uno was set up with the , I used the Caterina-promicro bootloader from the qmk_firmware git

Code:
avrdude -c 'avrisp' -b 19200 -p atmega32u4 -P /dev/tty.usbmodem14601 -U flash:w:Caterina-promicro16.hex:i

Once that was done, QMK Toolbox recognized the device as "Caterina device connected: SparkFun Electronics Pro Micro 5V" and it used avrdude itself to install the QMK ADB to USB firmware.

A fun project, thank you!
 

davidg5678

Well-known member
I'd love to build one of these boards --does anyone in the US have any spare PCBs that they'd be willing to sell?
 

Skate323k137

Well-known member
The Uno isn't in the QMK Firmware docs themselves linked above, but I think I provided all the necessary info. Here's a pic of the setup I used to flash assembled adapters using the Uno R3 and avrdude. Just leave the long end of the pin headers down as shown in the OP, and you can pop it in a breadboard to flash it with the UNO, then take it out, connect using its own USB, and install the QMK firmware.
 

Attachments

  • 20220427_100514.jpg
    20220427_100514.jpg
    3.8 MB · Views: 61
Last edited:

davidg5678

Well-known member
I just put one of these converters together -it's great, and far more convenient than cramming the Arduino inside the keyboard itself!

Using the online QMK configuration tool, I made a custom QMK firmware that allows the F10-12 keys to act as either function keys or volume controls depending on whether or not I hold down a modifier key. It is nice to finally have working caps lock and volume keys again after years of using the Griffin iMate converter.

Thanks to @ronan for designing a PCB to make this easier, and to @Skate323k137 for sending me the parts I needed to make one.
 

Attachments

  • PXL_20220502_212136603.jpg
    PXL_20220502_212136603.jpg
    501.1 KB · Views: 50

RedJacketPress

Well-known member
Just stumbled into the rabbit hole of this thread. I want to make sure I understand what I've been reading...

So I'd need to order the PCB that serves as the Adapter, and the Resistor and the ADB Connector are installed on that board. And it looks as though headers would be needed, as well.

Then, there have been several Arduino boards suggested as suitable candidates. Am I correct in thinking that any one of these would work more or less the same as any other?

In terms of installing the bootloader and flashing the firmware, can this be done with a Mac?
 

Skate323k137

Well-known member
Just stumbled into the rabbit hole of this thread. I want to make sure I understand what I've been reading...

So I'd need to order the PCB that serves as the Adapter, and the Resistor and the ADB Connector are installed on that board. And it looks as though headers would be needed, as well.

Then, there have been several Arduino boards suggested as suitable candidates. Am I correct in thinking that any one of these would work more or less the same as any other?

In terms of installing the bootloader and flashing the firmware, can this be done with a Mac?
I did mine all on a modern Mac, see my posts above.

I have some spare PCBs and parts if you are in the US I would be happy to help you out like I did @davidg5678
 

RedJacketPress

Well-known member
That'd be swell, and very much appreciated! I'll send you a message.

I'm thinking there's probably nothing about this that is too far out of my range of experience -- but for everything, there is a first time!
 

ronan

Well-known member
Just stumbled into the rabbit hole of this thread. I want to make sure I understand what I've been reading...

So I'd need to order the PCB that serves as the Adapter, and the Resistor and the ADB Connector are installed on that board. And it looks as though headers would be needed, as well.

Then, there have been several Arduino boards suggested as suitable candidates. Am I correct in thinking that any one of these would work more or less the same as any other?

In terms of installing the bootloader and flashing the firmware, can this be done with a Mac?
Hey,

You would need :
- pcb
- a resistor
- an adb connector to solder
- a Pro-Micro arduino (often come with headers so no need to buy some more)

I would say that if it's a ProMicro clone you should not have issues, but make sure it's a true copy to make sure it's pin to pin compatible.

It can be done with a Mac as that's what I did.

It's really not hard to assemble as it's through hole components only, and software has a good community as it's qmk. So you should not have any issue :)

You can share us your order list before ordering if you want s to validate it :)

Best,

Ronan
 

RedJacketPress

Well-known member
Took much, much longer than I had anticipated, but I've finally been able to build an ADB-to-USB Converter. I've run into a problem, and I'm hoping the assembled wisdom of the Board might help.

I am reasonably confident that I've built this correctly and haven't screwed anything up. I don't see any bridged solder joints, flux has been cleaned, parts are oriented correctly, and it lights up when connected to power. I can also see this as a USB device in System Information. I used the Elite-C Board, which I believe already has a bootloader installed.

When I try to flash < qmk flash -kb converter/adb_usb -km default > the process stops at "Waiting for USB Serial Port -- Reset your Controller Now," and never sees the device.

I did some research into working around the problem, and downloaded QMK Toolbox -- and it does see the device is in DFU mode, and it does connect and disconnect when the reset button is pressed (or when I short the Ground and Reset pins).

I've also tried building the adb_usb firmware using the web portal, and flashing that with QMK Toolbox -- I'm not confident that installed correctly, though, and I couldn't get my known-good ADB Keyboard to work having done that.

Is it possible I'm overlooking something very simple?
 
Last edited:

ronan

Well-known member
Took much, much longer than I had anticipated, but I've finally been able to build an ADB-to-USB Converter. I've run into a problem, and I'm hoping the assembled wisdom of the Board might help.

I am reasonably confident that I've built this correctly and haven't screwed anything up. I don't see any bridged solder joints, flux has been cleaned, parts are oriented correctly, and it lights up when connected to power. I can also see this as a USB device in System Information. I used the Elite-C Board, which I believe already has a bootloader installed.

When I try to flash < qmk flash -kb converter/adb_usb -km default > the process stops at "Waiting for USB Serial Port -- Reset your Controller Now," and never sees the device.

I did some research into working around the problem, and downloaded QMK Toolbox -- and it does see the device is in DFU mode, and it does connect and disconnect when the reset button is pressed (or when I short the Ground and Reset pins).

I've also tried building the adb_usb firmware using the web portal, and flashing that with QMK Toolbox -- I'm not confident that installed correctly, though, and I couldn't get my known-good ADB Keyboard to work having done that.

Is it possible I'm overlooking something very simple?
Could it be that your usb port doesn't provide enough current, that could lead to some random behavior.

Is you adb keyboard un plugged ?

Are you able to try this on a stock arduino which is not soldered ?
 

RedJacketPress

Well-known member
I did read of suggestions that USB 3 ports could be a problem, so the next step will be to try this on an older USB-A Mac with an Adapter. No ADB keyboard attached. And I would need to un-solder everything to see if my soldering skills are the cause of the issue.
 

RedJacketPress

Well-known member
Trying this again this morning, this time on an older iMac with USB-A, both with a USB 3 and USB 2 port (via a hub). As before, it stops at "Waiting for USB Serial Port -- Reset your Controller Now," but never completes. As fas as I can tell (from QMK Toolbox) it's already in DFU mode -- I'm not sure if it's not supposed to be in DFU mode, but I haven't been able to get it out of that. "Exit DFU" in QMK Toolbox works, but it goes right back into DFU mode. (I did see a reference to something being stuck in DFU mode when I was looking into this, but only once, and there was no resolution.)

It doesn't seem as though there is any problem with building the firmware -- it just won't install it.

I'm not averse to buying some new parts and trying again, if need be, though I am kinda curious as to what's going on here.
 

Skate323k137

Well-known member
I don't think you want/need DFU mode unless you need a new bootloader. Normally with Elite-C's I haven't had to change the bootloader (I know we PM'd about this, but just putting it out there). QMK toolbox usually installs the ADB firmware rather unceremoniously. The cheaper pro-micro clones I had to flash a bootloader to from an Arduino Uno.

The PCB is rather simple, I would probably have someone else have a go at programming it before doing that much desoldering unless you're sitting on a nice hakko desoldering gun and have time on your hands.
 

RedJacketPress

Well-known member
I think I'm going to have a go at removing the Elite-C Board, and see how that process goes.

Otherwise, I think I shall pick myself up, dust myself off, and try this again. In the event that I need to purchase a new ATMega32u4 Board, what am I looking for? It seems as though I'd also need an Arduino in certain cases to flash the Bootloader -- I don't have that, and it probably doesn't make sense to get one to do just one or two of these. I understand that's not necessary with the Elite-C -- is this the case with any other recommended boards?

I appreciate the advice and patience!
 

RedJacketPress

Well-known member
...And I was actually able to get this working, after all. I used the web-based tool to build a keyboard firmware, and then used QMK Toolbox to flash the board. It still wasn't working with the ADB keyboard, but once I had done this step, the Elite-C was no longer defaulting to DFU mode -- I was able to locate the file referenced in the initial post, and use QMK Toolbox to flash the board one more time. Success!

The Terminal command to flash the firmware from the initial post never did work -- even when I tried using QMK Toolbox to exit DFU mode (and I was certain I was actually able to get out of DFU mode), that process never did see the board. But I got where I wanted to go in the end.

Next step is to test some keyboards before I embark on a restoration project, and finish the enclosure I started working on for this board...
 
Top