[Andres] wrote in to share his USB for NES controller project (translated). It enumerates as a USB keyboard and is easily mapped on most emulators. Over the weekend we looked in on an AVR programmer used for this purpose. [Andres] went a different direction, using a PIC microcontroller and eventually incorporating his circuit into the body of the controller.
The prototype circuit can be seen above. [Andres] uses a breakout board for the PIC 18F4550 to test the circuit. The chip has native USB support, and reading the button states from the controller’s shift register is a snap. You can see him using this test rig to play Super Mario Bros. on an emulator in the video after the break.
The second iteration of the project moves from breadboard to a soldered circuit. A 18F2550 is used as it comes in a rather small DIP package. If the legs are flattened there’s room inside the controller case for it, along with a few capacitors and a crystal. The original controller cord is removed to make way for a USB cable.