Snes Controller Usb Adapter
About the project
Use an Arduino and HID descriptor to turn SNES controllers into PC gamepads.
Estimated time: 1 day
Items used in this project
Hand tools and fabrication machines
I wanted to use my Super Nintendo controllers on my PC - to play only legally purchased games, of course! So I started doing some research to figure out the best way to accomplish it. Turns out it's an Arduino implementing a custom (nearly SPI) protocol and an HID descriptor.
You can build this project fairly easily by grabbing the code from the repo, uploading it, and wiring up your microcontroller as shown in the schematic. There are a couple of hurdles, though. The biggest one is getting the Super Nintendo controller ports, which I did by buying a couple broken Nintendos and disassembling them. You could also cut the end off a Controller and hardwire it if you don't mind losing the controller for good (ouch). I included a link in the parts list for a potential solution that is currently on the market.
To put it all together, I mounted it in a pre-made enclosure. I mounted the PCB with nylon standoffs+screws, and I mounted the controller ports by cutting holes just the right size and bracing them with corner brackets, which are screwed in from the outside.
I also decided to make a video about the whole process, so if anything is unclear, it may help! It also includes a detailed explanation of the SNES controller protocol, how the code works, and an overview of the HID descriptor. It becomes a much more advanced project if you decide to customize or improve the code, or if you want to have a solid understanding of it.See the whole process here!