Retro 9 Pin Joystick to USB Converter

by NickZero in Circuits > Microcontrollers

7281 Views, 23 Favorites, 0 Comments

Retro 9 Pin Joystick to USB Converter

20220302_205306.jpg
20220302_203822.jpg
20220302_205205.jpg
20220302_205219.jpg
Chuckie.jpg

USB converter for a retro 9 pin Atari,Commodore, Amiga, Sinclair style joystick


Supplies

20220302_212727.jpg
20220302_212917.jpg
20220302_203822.jpg
Arduino_Screenshot.png

Rasberry Pi Pico

DB9 Male Connector

2x M2.5 screws and nuts/standoffs

Wire

Arduino IDE

3D Printed Case

Programming the Pico

Arduino_Screenshot.png

Code is based on Real Robots video here:

https://youtu.be/CNF7G-1LniI


Basic Steps as outlined in the video:

In the Arduino IDE, go to Boards Manager and search for Pico.

Find and install: “Arduino Mbed OS RP2040 Boards”

Get the library from : https://gitlab.com/realrobots/PicoGamepad

Download the ZIP file, extract and rename the folder to PicoGamepad (remove the “–master”)

Copy the folder to Documents > Arduino > Libraries

Restart Arduino

Load the modified code and upload to the Pico. I found the Adruino IDE sometimes would not see the Pico to upload and would get a serial port busy error. The solution I found was to simply reboot the PC.

Downloads

Connect the 9 Pin Connector to the Pico

20220302_203822.jpg
joystick pinout.png
Pico Pin connections.png
Pin Connections.png

Solder a short (roughly 5cm) wire to pins 1,2,3,4,6 and 8 on the DB9 connector as shown in the diagrams.

Solder the other end of the wires to the GP pins GP6, GP7, GP27, GP26, GP8, and GND33 on the Pico.

I picked GP Pins on the Pico roughly in the middle of the board so as to not get in the way at either end. If you want to pick different pins alter the program accordingly in the define section.

Test the Joystick on the PC by opening the "Game Controllers" control panel, if all is well and the board is programmed correctly, you should see "PicoGamepad" listed. Select Properties and test the directions and fire. The LED onboard should flash with the fire button.



Print the Case

20220302_205205.jpg
20220302_205219.jpg

Use the attached .STL files to print the case in your desired colour. I picked yellow as it matched the buttons on my Zipstick :) Print the button in clear or natural. The idea here is to allow the LED light to shine through this and also act as a way to press the boot select button if you ever need to.

Link to files on Thingiverse : https://www.thingiverse.com/thing:5273724

Things are a bit tight so some filing is required to get everything to fit. Make sure that the button is loose in the hole - if its stiff then the boot select button could be held down - not desirable.

20220302_203822.jpg
Chuckie.jpg

Fix the Pico through the USB hole and onto the pins in the case using glue (or gum!)

Carefully fit the DB9 connector and secure with 2 M2.5 screws and nuts (or standoffs) - making sure the wires do not snag/obscure the boot select button or LED.

Fit the button into the slot and glue the lid - again make sure that the button moves freely in the slot otherwise the boot select button may be held down.

Connect to your computer and enjoy your favorite retro game in full retro style!