NES controller to USB gamepad

Regular Hackaday reader [Osgeld] is at it again with this USB conversionĀ for an NES controller. This is a ubiquitous hack that we started seeing very early on, sometimes involving an adapter kit, and other times including things like a thumb drive and USB hub. But this time around is truly a bare-bones version. He’s using an Arduino but it’s really just an AVR ATmega168 running the bootloader. We’d wager this can be done with an ATmega8 just as easily. Grab a couple of diodes (we never seem to have the 3.6v zener diodes around when we need them), a couple caps and resistors, a crystal and you’re in business. The hack wires each button to a pin and implements a keyboard HID that can be mapped for any purpose you desire.

24 thoughts on “NES controller to USB gamepad

  1. Atmega8 can definately do it.

    I believe there is an open source project on it (from what i saw, it supports up to 4 controllers at once, including a mix match of snes controllers and also support the 4 port nes adapter on ports 1 and 2 of the chip)

  2. Let me squash the “instructables BOO” crap quickly too

    look at it from my side, since I joined they provide me a stable place to post my projects, and I do, for that I also get a large audience that is highly active, I have also gotten T-shirts stickers and other swag along with xmas cards, Halloween cards (more stickers) and have won gift certificates to think geek and enough gorilla glue to last a few years

    I am going to post it anyway, it might as well be there since they treat me well (for a website) and have the chance to win a pocket knife at the same time

    yes Instructables BOO indeed :p

  3. Osgeld did it again. Pretty sweet use of the original PCB. I still didn’t get the zener diodes. How does it lower the voltage for the USB?

  4. you hook them up backwards, and they have a very low breakdown point (like 1.2 volts) and thus start to leak current backwards through the diodes to ground, your lower voltages are whats left over

  5. I too am getting pretty sick of the instructables bashing. What exactly do people have against it?

    @tim:

    How is it stolen? It’s a similar concept with completely different implementations. I see that one user did a similar thing and posted an image of it, but there’s no documentation of it.

    Sorry that everything can’t be a one-of-a-kind masterpiece.

  6. so grats tim, you found one of a couple dozen microcontroller + nes + usb projects and instantly accuse me of stealing

    its all based on vusb, I never claim to have written the software, crap page 2 line one states that and goes on to list my references (RTFA)

    yes I saw that project, and I tried to get it to compile, which never happened and moved on to one that would work with the stuff I had on hand

    their all based off of the avr vusb project anyway

  7. I made one using an ATtiny44. It’s much smaller, and except for replacing the wiring I didn’t damage the pad in any way. I didn’t bother to post it anywhere since many similar designs have already been published but maybe I will now ;-)

    Pic here for the curious : http://i50.tinypic.com/zlcav9.jpg

  8. I have an idea for using this to monitor the input given from a nes controller. as a part of this, I’d like to be able to hide something small, a few small coins in height.
    Would it be possible to tweak this project to allow that? I’m not sure of the height and clearance for free room with it.

  9. @vic please do, my “original” idea was to use a attiny84 but was not having any luck getting vusb working with it

    @Brett, the controller has a little bit more room in it, but not much, NES pads are everywhere and cheap (paid a buck for that one) so snag one and check it out, worst case they are super easy to hook up to just about anything

  10. I love this, was one of the first Arduino projects I started to fiddle with. Instead of vusb I found a nice sketch that sent the data out over the serial port. Copied it over to an atmega8 with no clock and a ftdi usb chip and crammed it all back into the controller with a bit of snipping away at the cover.

    I’ve been wanting to dig it back up again and change the ftdi chip with a bluetooth module, this might be the inspiration again :P

  11. I was wonder what would happen if you just unsolder the five wires on the nes controller and just replaced them with a 5 wire usb cord? my theory is it just wouldn’t recognize it, or hopefully it would it take?

  12. I did this, unfortunatly i selected the easy pins to solder and that resulted in one pin not being supported by the software. And i used a Azerty chip for a Querty based software.

    That Querty Azerty shit needs to dissapear.

  13. I know this post was ages ago, but my site has modified versions of the 4nes4snes project from Raphnet that compile for ATMega48/88/168/328. Also working on one for ATTiny84.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s