Arduino lets you play Atari 2600 and ZX Spectrum using a NES controller

Picture of Arduino lets you play Atari 2600 and ZX Spectrum using a NES controller
This instructable shows you how to use NES controller in Atari 2600 or ZX Spectrum (with Kempston Interface)  with the aid of an Arduino.

Remove these adsRemove these ads by Signing Up

Step 1: Background talk

Picture of Background talk
I have recently acquired a couple of Atari 2600s and a bunch of joysticks. Both consoles were working but all of the 5 joysticks were damaged beyond repair. Indeed, it is very easy to find It is easy to find an old Atari 2600 console working but it's hard to find an original joystick in useful condition.

On the other hand, I had a spare NES 'generic' controller bought in a flea market that was working perfectly.

I thought about using a microcontroller to convert the serialized signals in NES joystick to parallel signals required by Atari 2600, but then I wondered that if instead of a custom microcontroller board I could use an Arduino. So other people without many skills in electronics could assemble their own adaptors with easy. 

Step 2: The 'big' Circuit

Picture of The 'big' Circuit
Arduino Severino.jpg
The circuit uses only the Arduino and a couple of connectors. The code is very small, so any Arduino board will do.  But either way here follows the list.

Bill of Materials: 
- 1 Arduino (any version will do)
- 2 DB-9 Male connectors. One for the NES 'generic' Controller and another to the test dongle
- 1 DB-9 Female connector, to plug into the Atari.
- 5 Leds for the test dongle
- 5 resistors 330 Ohms 1/4 Watt for the test dongle
- A buch of wires

Of course is it possible to reuse the old Atari Joystick cable instead of the DB9 female plus wires.
It is also possible to cut the NES controller cable and connect directly to the Arduino, but you should identify the wires in the cable.

crazyg1 year ago
wow , lots of effort,years ago i got lucky and found that an amstrad game pad works fine on the 2600, i never did like those joysticks especially on games like maze craze
horde51503 years ago
There's just no beating the NES game pad for retro gaming! I wanted one for my Amiga, so I just took a mouse cable from a broken Amiga mouse, used 7 wires from it - U,D,L,R,B1,B2, and Ground. Just popped the IC from the NES board, and traced and soldered each wire to it's respectable location. Worked like a charm and looked real slick!