No Commodores Were Harmed in the Making of This USB Keyboard

Turn a vintage Commodore 64 keyboard into a modern USB device using an Arduino Leonardo.

Nick Bild
1 day agoRetro Tech
Using a Commodore 64 keyboard with a modern computer (📷: Emanuele Martorelli)

Nearly 44 years after its initial release, the Commodore 64 is still loved by retro computing enthusiasts, hobbyists, and demoscene creators worldwide. It is well known for its delightfully blocky 8-bit graphics, the famous SID sound chip that belted out the soundtrack of a generation, and its extensive software library. However, not everything was as polished as its legacy might suggest. Commodore was notorious for its ability to shave a few pennies here and there from its designs.

As such, some components of the Commodore 64 were just okay. The keyboard fell firmly into this category. It definitely wasn’t bad — it was way better than the membrane keyboards that were common at the time — but it also wasn’t particularly good. However, the rose-colored glasses of nostalgia have made it seem better with age. And functionality aside, it does have a cool retro look to it.

So, to give this keyboard a new lease on life, Emanuele Martorelli decided to turn it into a USB keyboard that is compatible with modern computers. Don’t worry — no Commodores were harmed in the making of this project. The keyboard is attached to the main circuit board via a pin header, and it can be safely detached without causing any damage.

Once detached, Martorelli removed the original circuit board (which can also be done without damage), although this step isn’t strictly necessary. To modernize the keyboard, the header was wired to the GPIO pins of an Arduino Leonardo via jumper wires. This particular Arduino board was selected because it can emulate HID devices, which means it can be programmed such that a modern computer will recognize it as a standard USB keyboard.

Next, Martorelli flashed the Arduino with firmware that translates the electrical signals generated by the Commodore keyboard into corresponding signals produced by a modern keyboard. These signals are then transmitted to the host computer via USB.

What did Martorelli use this keyboard to do? To type a BASIC program into a Commodore emulator on a modern computer. You could, of course, save a few steps and do the same with a stock Commodore 64 — but gimmicks aside, you can use the keyboard for any general-purpose computing tasks you want. So, if you have a Commodore sitting around collecting dust, this can be a fun project to play around with.

If you'd rather use the excellent Coleco Adam keyboard with a modern computer, there is a way to do that too.

Nick Bild
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles