Raspberry Pi Pico converts retro game controllers to USB

In the 80s and 90s, the 9-pin D-Sub connector reigned supreme in the personal computer scene. Atari, Commodore, Sega and many others have used the ubiquitous connector for joysticks and pads. These controllers are our interface to the retro games we love and that’s why there’s nothing quite like implementing vintage hardware into your Raspberry pie project. This project was originally from NickZero at Instructables but we saw it through maker and developer Lee from More Fun Making It. The project relies on a Raspberry Pi Pico to convert a 9 pin D-Sub to USB interface in order to use an old-school joystick with his Raspberry Pi 400 Amiga project.

If you’re new to More Fun Making It, you’re in for a treat. Lee specializes in retro games and vintage technology – building arcade cabinets and pinball machines as well as repairing retro hardware, such as the Youtube channel its name suggests, just for fun. This Pico-powered adapter is just one of many projects in its portfolio and certainly one of the most useful when it comes to retrogaming.

Like many Pi projects, this one was born out of necessity. After configuring his Raspberry Pi 400 to run Pimiga, he realized that his Atari-ready Zipstick joystick had no way to connect. To remedy this problem, he dove into this project which uses the RP2040 board to convert the 9-pin D-Sub input to USB.

It doesn’t require a lot of material to take off with this adapter. It uses a Raspberry Pi Pico as the main board with a 9-pin male D-Sub connector soldered to the GPIO. What is interesting in this project is that it does not use any logic level conversion. Typically the older 9-pin D-Sub connectors run at 5V, which is not strictly compatible with the Pico’s 3.3V GPIO. If we were to build this project, we would use a logic level converter or simple voltage divider (both 1K Ohm and 2K Ohm resistors will work; see resistor color codes to identify them) to ensure that the Pico’s GPIO stay safe.

The enclosure is a simple 3D printed enclosure held down by a few M2.5 screws and spacers with access to both the D-Sub port and the USB-C port. There is a top panel that can be removed to access the Pico hardware inside.

To make the building process easier, Lee uses this Joystick to USB converter guide on Instructables for help. The software used to program the adapter was created using the Arduino IDE, but it can be easily replicated in MicroPython or CircuitPython. We also have a guide on how to emulate Amiga on the Raspberry Pi if you want to create your own Amiga based Pi project.

If you want to recreate this D-Sub to USB Raspberry Pi project, see the original thread at Twitter to take a closer look at how it goes together. Be sure to follow Lee for more cool retro projects as well as updates on this one.