Introduction: Convert an Old Game Port Joystick Into a Usb Flight Stick With Arduino
Quick Disclaimer: The point of this is project is not to make a cheap game port joystick conversion. The point of this project is to make a versatile and customisable joystick which could be easily modded. the reason for me choosing the Arduino was only because i was having some free time at hand and wanted to breath a new life into my uncle's old game port joystick . if you want to do the same thing there are many cheap converters out there so please try them out if you don want to complicate things
Step 1: Gather the Required Materiels:
Things you will need are:
- an old game port joystick (I got mine for 2$ from a yard sale)
- male pin headers
- a Arduino uno (approx 18$)
- proto board or perfboard
Tools you need are:
- a pair of scissors
- a soldering iron
- some lead
- a computer with Arduino IDE and Atmel flip installed
- internet connection
Step 2: Disassemble the Joystick:
the first and foremost thing to do is to take the joystick apart and figure out the colour coding of the wires that connect to the buttons .
Step 3: Make a Arduino Shield and Connect the Wires:
Follow the schematic that is attached .
Basically the to potentiometers represent the x and y axis of the joystick and the push buttons represent the action keys
Step 4: Configure the Software :
There are quite a few steps to config this joystick:
- First go to this link https://github.com/AlanChatham/UnoJoy and Download UnoJoy.
- Next open the Arduino IDE and flash the sample code to the board.
- now install Atmel Flip and Java Runtime Environment
- Now put the board into DFU mode by shorting the two pins close to the usb port on the board or by following the tutorial in this link http://arduino.cc/en/Hacking/DFUProgramming8U2.
- Now open the Uno Joy folder and navigate to the Uno folder and run the Turnintoajoystick.bat file
- Now unplug and re plug the Arduino board now every thing is set and ready.
- if needed check the usb controllers option in Windows to check the controller.
Step 5: End Result and Troubleshooting:
This is how the joystick turned out.
sorry for not showing the end result at work.
If you have any wiggling in the joysticks movement please do check the 5v and gnd connections that go to the potentiometers for further trouble shooting please contact me in the comment section.And please do share pics if you take your own attempt

Participated in the
Arduino Contest 2019
9 Comments
2 years ago
I couldn't see the schematic diagram. I would like a pinout of the 15pin Commodore joystick as well if possible. I have several of these by different manufacturers.
Reply 2 years ago
Sorry dude I also did not get a commodore joystick that has 15 pins only 9 pin joysticks schematics are available.But i think you should be able to open one and use a multimeter to find out the pin diagram
Reply 2 years ago
Thanks mate,I'll do that
Question 2 years ago on Step 2
Thanks for this great post.
I have one question. I have an old Logitech Wingman Digital Extreme and this model has an additional poti (I think it was mainly used for the speed control in some games). Would the proposed solution also support this additional analog input and how would I need to connect it? Could I also use the Ardunio as an adaptor (i.e. put it in its own case) and connect the Joystick via the existing 15 pin gameport?
Thank you very much for your help!
Answer 2 years ago
Its great to hear that dude .For ur question yeah you could geta a bunch of 10k resistors add them to a old gameport port and make a game port shield for the arduino and use it that way.And for the additional pot u need as a speed control just attach it to one of the analog inputs.
4 years ago
really thank you. I own a club of flightSim friends and they will preciate it like i do.
Question 4 years ago on Introduction
What is it's use
Answer 4 years ago
To play games with a old game port joystick since windows 7,8,10 don't support game port joystick or old game port pci cards
4 years ago on Step 2
Good