NESuino: NES Controller Interface
Home »
Electronics » NESuino: NES Controller Interface
10.03.2010 14:05
[Last Modded 10.07.2016 07:21]
*note* This is so outdated. Arduino Pro Micro fits inside an NES controller, connected directly to the pins, and shows up as a USB keyboard to anything you can plug it into. How-to coming soon...
So this is quite a complicated mess of hardware and software to accomplish quite a simple goal, but... I guess that just how I roll ;) No, really though, it's just the only way that it would work exactly how I wanted it. Keystrokes, not joystick control.
I found Direct Pad Pro but its old discontinued software and you have to solder diodes and blah blah blah.
There are also simple premade USB adapters that can be purchased online, but again, thats joystick control.
AACKeys would have been perfect if it worked right, but I could not make that happen, so...
 |
Here it is. Not much to look at maybe if I had more than one Arduino, I would put this in a project box or something. Yes that is a Yellow and silver NES controller. I like to customize my stuff. ;)
|
 |
Close up of wiring connections.
- White=5V
- Brown=Gnd
- Orange=Digital Pin 2
- Red=Digital Pin 3
- Yellow=Digital Pin 4
Wiring diagram found here.
|
 |
Here is the code to be run on the Arduino. It translates the NES controller buttons to MIDI note formatted text, and sends that out the serial port. I found the Controller.cpp and Controller.h files here.
|
 |
This is Serial_MIDI_Converter. It takes the "MIDI notes" coming from the Arduino and sends that to any MIDI port. It can also receive MIDI and send it to the Arduino, but thats not needed for this project.
*note* At this point you could just use the NES controller to play notes into Ableton Live devices, control PureData patches, or choose a real MIDI port and control a hardware synthesizer.
|
 |
This is MIDI Yoke. It gives you up to 16 virtual MIDI ports on Windows to send MIDI information between programs without needing real ports and cables.
|
 |
This is GlovePIE. It lets you emulate all kinds of input like keyboard, mouse, joystick, MIDI, etc. It can do scripting or "macros". It can read Wii controllers, virtual reality gloves (what it was made for originally), brain wave input devices... you get the idea. Here's my little script that turns the MIDI notes into keystrokes, just as if they were pressed/held/released keys on a real keyboard. Open notepad and start pressing buttons, you will see.
|
 |
This is "Normal Super Mario Bros." a collection of Mario Fan Games made by someone called Gamester. I think he/she likes hallucinogens... a LOT. The GlovePIE script above is setup to control these games directly.
|
 |
This is FCE Ultra. A Nintendo Entertainment System Emulator. It runs ROMs aka digital copies of game cartridges. The ROMS are technically illegal to have if you don't own the real cartridge blah, blah, blah... You can find them at DopeROMs, using Google, or Usenext, a newsgroup service. There are also ROM hacks, aka modified versions of original games, and legal homebrew ROMs, aka games that people create themselves that run in the emulator, or on the real hardware if you have the right equipment.
|