ADB to USB Converter DIY (Use Vintage Apple Keyboards With Modern Computers)

Photo by Federica Galli on Unsplash

I recently came across an old Apple Extended Keyboard II. With vintage keyboards back in style, I was excited to plug it in and try it out.

The keyboard itself used an ADB (Apple Desktop Bus) cable. This is unlike most keyboards of its time which used a PS/2 cable. This meant that I would need an ADB to USB converter.

After taking a look at the few options, I determined that most of these converters were hard to come by. None of them were available on Amazon. Those that were listed on eBay were less than reputable.

There were some private retailers that offered converters Although, the majority of listings come with a hefty price tag, long wait times, and overpriced shipping costs.

Since I’m not a big fan of any of those things, I decided to build my own. I wanted to build this ADB to USB converter with cheap supplies that I could get quickly. Here’s how I did it.

I began by ordering the parts. The list included: a Teensy 2.0, a Mini USB cable, 22 AWG Color Coated Electrical Wire, a 1k Ohm Resistor, shrink tubing, an S-Video Cable, and an S-Video connector.

Wiring the S-Video Connector

This is a diagram of the front side of the ADB (S-Video) connector.

There were four pins on the ADB (S-Video) connector. I knew I didn’t need to worry about (2) P SW. I wouldn’t be using it.

I cut and stripped the three wires that I needed.

I cut one piece of wire for each of the (4) GRND, (3) VCC, and (1) DATA lines and stripped the ends, ignoring the power switch line.

This is the back side of the ADB (S-Video) Connector with the pins sticking straight up.

I placed the connector on the table, backside up, preparing to solder the three wires to their corresponding pins (VCC, GND, DATA).

Although soldering was optional, I chose to do it for the sake of convenience. I didn’t want the wires falling out of place at all.

This is how I soldered the wires onto the ADB (S-Video) connector.

I soldered a red wire to VCC, a black wire to GND, and another red wire to DATA.

I then placed shrink tubing around the three wires and applied heat.

Wiring the Teensy 2.0

This is the Teensy 2.0 wiring schematic I used to achieve ADB to USB conversion.

Following the above schematic, I wired the ADB (S-Video) connector to my Teensy 2.0. First, I soldered the GND wire to GND. Second, I soldered the VCC wire to VCC. Last, I soldered the DATA wire to D0 (PD0).

This is the wiring schematic for the backside of the Teensy 2.0.

After this, I soldered a 1k Ohm pull-up resistor to the backside of the Teensy on VCC & D0 (PD0).

This is what the Teensy 2.0 looked like once it had been connected.

Now that the Teensy 2.0 wiring was complete, I was ready to work on the software aspects of the project.

Flashing the Teensy 2.0

To begin, I needed to download the Teensy loader. This would allow me to flash the Teensy with firmware that would enable it to convert an ADB connection to USB.

I selected my operating system (Windows) and clicked the “Teensy Loader Program” link that was present on the very next page.

If you’re using Windows, I highly recommend installing Linux Mint as a virtual machine in order to take advantage of the “make” command when compiling. Though there are ways to compile on Windows, I can’t vouch for them.

I double-clicked the “teensy.exe” file that was present and was greeted by a window that looked like this.

After plugging my Teensy into my computer with a mini-USB cable, I pressed the button on my Teensy 2.0 to manually enter “Program Mode”.

Now I just needed the hex file that I could flash to the Teensy and convert ADB to USB.

I’ve provided the hex file I compiled here so you don’t have to compile it yourself.

On a new Mint Linux Virtual Machine I ran the commands:

sudo apt install git

sudo apt install gcc-avr

sudo apt install g++

sudo apt install avr-libc

git clone

cd adb-usb/



Now I could see that the ‘main.hex’ file had been compiled.

I created a share folder in the settings of my Mint Linux virtual machine (VirtualBox) in order to transfer the main.hex file back to my Windows desktop.

After doing this, I simply dragged the ‘main.hex’ file to the teensy loader window and clicked the ‘auto’ button.

Now that everything was ready, I plugged the keyboard into the ADB port that I had soldered to the Teensy.

The ADB to USB conversion had worked and the keyboard was immediately recognized by the computer.

The ADB to USB conversion worked immediately, without trouble.




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

This Trend for Spring 2021 is Magic: How fairy gardens are inspiring community after COVID-19 year

Creating an Abundance Altar — Heart-Centered Copy

DIY: Air-gapped acoustic foam paneling

I Create Videos for a Living. These Tools Make It Easy and Affordable.

Control a Raspberry powered RC boat from within the web-browser

Raspberry Pi Bird Detector

PCB Design — A Hobbyist’s Perspective

I created my own subway arrival board with real-time data to not miss my train anymore.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Matt Medsker

Matt Medsker

More from Medium

The 10 Coolest Prototypes at CES 2022

Do the Pros outway the Cons for AirTags

How did I fall in love❤️ with All things Apple?

My Quick Project Setup [Odoo]