Here at NextFab, we designed a fully functional, USB game controller for Philly Tech Week. This project will be particularly tricky without some more serious electronics equipment or a local makerspace with the proper tools, but we thought we would post our walk-through in case you do have the access and would like to make your own!
The first step in making your own USB game controller is to grab an Arduino and start prototyping. It is important to make sure you use an Arduino Leonardo, Micro, or Due as they have HID (human interface device) capabilities. Essentially this means that they can act as a keyboard or a mouse and hooked up to a computer via USB. So to start interfacing, we hooked up 10 buttons to the Arduino Micro on digital pins 2-6, 8-10, 12 and 13 using a couple current-limiting resistors on the 3 LEDs.
To make a final controller, it was necessary to condense the whole perf-board - Arduino and all - to fit on one small PCB. We designed the board for this using Altium Designer and have exported and attached the Gerber files needed for board manufacture. So feel free to download ours and send them to your favorite fab house to make your custom controller.