Summary of USB NES controller with an arduino! using arduino
This project showcases how to convert a classic NES controller into a USB game controller using an Arduino. It allows the original NES controller to connect to modern computers (Windows, Mac OS X, Linux) via USB without modifying the controller itself. The project includes wiring instructions, updated Arduino code (available on GitHub), and a Processing sketch for configuring communication ports. Optional parts like an NES port can be integrated, and the setup can be housed in a custom casing. The solution provides an affordable and nostalgic gaming input method compatible with contemporary systems.
Parts used in the USB NES Controller with Arduino:
- NES controller
- Arduino
- USB cable type B
- Wires
- Casing (optional)
- NES port (optional)
- Arduino software
- Processing software
UPDATE 22-12-2014
Instructables user mattpbooth has updated the code and is hosting it on github:
https://github.com/mattpbooth/ArduinoNESController…
Thanks Matt!
UPDATE 03-12-2011
Replaced a println with print (derp).
UPDATE 01-12-2011
Remade all code from scratch.
Remade ‘ible code section; Now includes a ‘Processing COM port config for dummies’
Ladies and gentlemen, I proudly present 8bit pleasure.. yours for the grabbing! Whether you use GNU/Linux, Mac OS X, or Windows the USB NES controller is compatible.
Will this in any way alter the controller?
Nope, the controller will stay the same so you can still use it on a real NES
But I don’t have an arduino ;_;
You can use the parallel port: http://hellalame.com/nes/nes_controllers.html
Buy an arduino: http://hellalame.com/nes/nes_controllers.html
Or a retrozone NES kit: http://hellalame.com/nes/nes_controllers.html
Step 1: Ingredients for some awesome controller soup
You will need:
A NES controller
An Arduino
A USB cable type B
Something you can use as a Casing
and some wire..
Optional: NES port http://www.parallax.com/Store/Components/Other/tabid/157/CategoryID/32/List/0/SortField/0/Level/a/ProductID/522/Default.aspx
Arduino software http://arduino.cc/
Processing http://processing.org/
Step 2: How to connect the arduino to the nes controller
With some wire connect the pins according to the texts on both pictures..
You could also use the controller port from a NES (a broken one, don’t waste a working one).
You want something vaguely similar to the last picture.
Step 3: Code
UPDATE 22-12-2014
Instructables user mattpbooth has updated the code and is hosting it on github:
https://github.com/mattpbooth/ArduinoNESController
Thanks Matt!
Hey guys, I’ve completely rewritten the code and it should work now flawlessy.
The only adjustment you might need to make is to the Processing Sketch; you need to adjust which COM port it should use.
To do this please follow these steps carefully!