Retro to USB Joystick Junction
by harshitsingh.111001 in Living > Video Games
1230 Views, 12 Favorites, 0 Comments
Retro to USB Joystick Junction
Hey there, this is my second instructable for the Arduino contest.
If you are the guy who broke your retro video game console and still wanna play the games the whole same way, you are at the right place. I even broke my famiclone console and missed Super Mario very much. So I got an emulator on PC but it was not the same feel with keyboard. Then I tried DVD player but it was way too glithcy. Then i broke apart my keyboard to add the console joystick to it but it was too messy. I needed a nice thing to mimic keyboard strokes.
Then came Arduino. I tried UNO but in vain. Then after a long time i got hands on the Arduino Micro and this is what i made out of it.
MATERIALS LIST
For prototype
- Game cartridge(or any other box---------breadboard will even work but thats messy)
- Two(or one) console joystick which has five active pins(ground,+5v, latch,clock,data)
*don't worry if you got a seven pin or more pins joystick, many a times old joysticks have only five active pins.Even mine has seven pins.
- Arduino Micro(nothing without it)
- Breadboard
- Male joystick port(can be extracted from broken console)
For finished project just add these on list
- Perfboard
- Female header strips
- Soldering kit
Step 1: Getting All Connected
Different joysticks have different pin-outs for the latch, clock, data, Gnd and +5v.
So you must find them yourself.
To do this," google [your joystick model name] pinout "and find all the five pins.
Then connect as follows on breadboard for prototyping
Arduino----joystick1---joystick 2
gnd--------->gnd-------->gnd
+5v------->+5v/vcc--->+5v/vcc
d11-------->clock------->clock
d12--------->latch------>latch
d9---------->data
d8-------------------------->data
Don't be mistaken. Except for data pins all the pins are are connected together to the same pin on arduino.
Step 2:Uploading the Code
First of all we talk about the working.
Old joystick usually had 5 pins ;Gnd, +5v, latch, clock, data. The code in Arduino first sends a latch pulse to joystick and joystick says,
"hey Whats Up, this is the first data bit"
then the Arduino sends the clock pulse and joystick says,
"take the second bit bro"
and so on till 8 bits for 8 keys.
*turbo keys are just repetitive a and b's
So here is the code which does the same as above.
upload the code and check the working.
There is a photo of the project and the second joystick sending keystrokes above.
Downloads
Step 3:Finishing It Off
If all goes right then you may get all the stuff to the perfboard and adjust the things in a box.
I got the arduino on outside for two reasons.
- First,as it is aesthetic. It feels like arduino sucks the data and tranmits it via USB.
- Second, i want to reuse it in my quadcopter.
Hope the quad gets fly'in soon.
Decorate your junction and happy tinkering.
questions and queries answered in comments.