For those who grew up playing the original consoles of the 90's, there'll always be a certain nostalgia to going back and playing your old game collection. I bet many of us don't have our retro consoles any more and just run emulators. After all, a Raspberry Pi can run pretty much any classic console's old game collection.
As much fun as it is playing using an XBox controller, there's something to be said of using the original game pad, playing the game as it was meant to be played. As the original SNES controller uses a proprietary serial connections, there's no way to connect it up to your emulator.
While exploring Tokyo, Adam Chyb came across an original SNES controller when the idea to convert it to USB came to him. After reading a bit of documentation, he decided that the serial code was pretty simple to read, and hooked up an Arduino Pro Micro to the data pins.
After running a basic loop to read the buttons, he used the Arduino HID library to get the board to show as a USB controller when plugged into a computer. After a bit of creative removal inside the controller, he managed to fit the Arduino in, soldered to the original wires.
All the code and build process is available on his blog, so you can build your own if you fancy it.