June 29, 2025
Description
I’m an arcade gaming enthusiast and have long wanted to create a compact, custom controller that could deliver the same feel as old-school arcade machines but in a USB plug & play format.
For this reason, I decided to design a gamepad based on the Arduino Pro Micro, with a 3D printed case and customizable button mapping. The goal was to create something easy to replicate but also simple to modify—perfect for DIY lovers.
This project also connects to two other controllers I built in the past:
👉 Joypad for arcade with keyboard keys – a compact arcade-style layout
👉 Arcade button for keyboard keys – custom buttons designed for mechanical keyboards
| Quantity | Component | Description |
|---|---|---|
| 1 | Arduino Pro Micro | HID-compatible microcontroller with USB-C or micro USB connection |
| 11 | Mechanical switches | Keyboard-style switches (e.g., Cherry MX, Gateron, etc.) |
| 1 | Perfboard | 60mm x 40mm |
| — | Copper wires | Any type suitable for soldering |
| 4 | Buttons | Link to buttons |
| — | Male pin headers | For modular wiring |
| — | Female pin headers | For connection to the Arduino PCB |
Â
This project requires good soldering skills, especially if you want reliable and clean connections. Personally, I preferred a method that allows easy disconnection of each button for repairs or modifications:
This approach has two advantages:
Of course, if you want to save space or have a more stable wiring, you can solder wires directly to the board. For me, modularity was a priority.
đź’ˇ Tip: Use good quality solder and avoid excessive amounts. A small mistake here can cause false contacts or hard-to-diagnose shorts.
Â
You can find the code in the Documentation section.
To make sure the gamepad is recognized and each button responds correctly, you can use Windows’ built-in tool for testing HID devices:
💡 Note: If your mapping emulates keyboard keys (HID that sends W, A, B etc.), this window won’t show button presses. In that case, test buttons by opening a text editor or using a site like KeyboardTester.com.
To facilitate customization, I included the F3D (Fusion 360) file of the top cover.
This allows you to freely change the button layout or add drawings, logos, or color decorations directly in the 3D model—for example, to create different versions.
⚠️ Important: Do not modify the size or proportions of the top cover, as these are optimized to fit perfectly with the rest of the case and the button/pin positions.
đź’ˇ Tip: You can also use the F3D file to sculpt personalized graphics or separate surfaces for multi-color printing by layers.
I hope this project has inspired you to build your own custom gamepad! If you decide to take on the build, don’t hesitate to share your progress in the comments or on social media—I’d love to see your versions, mods, and ideas.
Feel free to suggest improvements or new features, and of course, if you have any questions, I’m here to help!
Â
Boost MeBoost me now and take this project to the next level! 🚀🔥License:
Standard Digital File License