ADB -> USB Keyboard+Mouse Adapter Firmware

ADB -> USB Keyboard+Mouse Adapter Firmware

This resource is dedicated to the testing and conversion of ADB devices to USB for use on modern computers, emulators or authentic-esque hackintosh etc.

This example will be using an ATmega32u4 5v 16 MHz Pro Micro controller with micro USB port.
An example can be purchased here: ATMega32U4 Pro Micro

My build environment is Windows based but MacOS/Linux equivalents of the following software is available.
The first program required is AVRDude, a utility to upload our firmware to Pro Micro.
AVRDude download: Release Page

Depending on libraries already installed to your OS you may require WinAVR which includes necessary Arduino library .dll files OR AVRDude may complain of missing "Libusb0.dll".
WinAVR download: WinAVR

Lastly the firmware to interpret ADB protocol is attached to this article, click the "Download" button at the top of the page.

Extract AVRDude to a folder on your HDD and place the "ADB.Hex" file in the root directory.
example: C:\ADB.Hex

Required components: ATMega32u4, mini 4pin din (male or female), 1k - 10k Ohm Resistor, 3 wires.
PXL_20220208_184438993.jpg


You will want to know exactly what Com port the Pro Micro is assigned, Open up device manager and plug in the device. Here we see it appears as "USB Serial Device (Com 5)"

com.PNG


Open your Command Prompt as Administrator and navigate to your C:\
knowing YOUR com port prep the following command BUT Don't execute just yet!
avr\avrdude -p ATmega32u4 -P COM5 -c avr109 -U flash:w:ADB.hex

avr command.PNG


The Pro Micro will need to be tripped into boot mode to accept our firmware, this is achieved by bridging GND + RST twice, slowly. Once you've done that hit "Enter" and execute the command.

PXL_20220208_201201166.jpg


If successful AVRDude will begin the erase and flash process on the Pro Micro, It should look like the following:

flash.PNG


If flash verified, you are now ready to assemble the device!
The ADB connection is quite simple and only requires 3 wires and one pull up resistor. You can see the pinout here:

PXL_20220208_204828209.jpg


It's important to note that the device should ALWAYS be inserted into the ADB port first! "hotplugging" not suggested. After Windows detects the adapter you can use any given program to test the keyboard and mouse, here I am using "AquaKey" a lightweight keyboard test utility. While my DataDesk Trackboard has a built in mouse you can use any ADB mouse on the opposite port of the keyboard.

PXL_20220208_205846516.jpg
test.PNG


You can dress up your new adapter any way you like, I currently have no appropriate housings or shrink tubing so kepton tape may have to do!

Have any additions, Suggestions or Inquiries? Let us know!
:D Congratulations on getting this far!

PXL_20220208_210623836.jpg
Author
Drake
Downloads
198
Views
1,396
First release
Last update
Rating
5.00 star(s) 1 ratings

Latest reviews

for Mac OS users with brew, you can run "brew install avrdude".
To find your ports you can run "ls /dev/{tty,cu}.*", which will list something like "/dev/tty.usbmodem31101"

Your terminal command would look something like:

avrdude -p ATmega32u4 -P /dev/cu.usbmodem31101 -c avr109 -U flash:w:adb.hex
Drake
Drake
Thanks for adding this!