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.

Post navigation

24 thoughts on “NES controller to USB gamepad”

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)

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

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 ;-)

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.

@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

No need to trash the controller. Since it is hard to get hold of NES connectors what I do is cut the end off and splice a DB9 into the cable. It then still works on a real NES and can also be used via USB.

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

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?