DIY arcade/hitbox controller built around Raspberry Pi Pico (RP2040) running GP2040-CE firmware.
Cheapbox is a low-cost, fully customizable arcade controller designed for fighting games. Built with off-the-shelf components and 3D-printed parts, it prioritizes maintainability, repairability, and hackability. The design is inspired by Hit Box controllers and uses the GP2040-CE firmware for broad compatibility and easy configuration.
Source files included:
- PCB: EasyEDA project (
pcb/easyEDA_pcb_and_wiring.json) — schematic, layout, BOM - Enclosure: Fusion 360 parametric assembly (
f3z/hit (Assembly).f3z) + print-ready STLs (models/)
- Low cost: Built from affordable, easily sourced components
- Maintainable: All parts are replaceable; no proprietary components
- Customizable: Modify layout, add buttons, change screen size, redesign enclosure
- GP2040-CE firmware: Web-based configuration, multiple input modes, active development
- Open hardware: PCB files available for modification; adaptable to other RP2040 boards
| Component | Quantity | Notes / Link |
|---|---|---|
| Hotswap sockets | 12 | AliExpress |
| keyboard Switches | 12 | AliExpress |
| Raspberry Pi Pico (RP2040) | 1 | AliExpress |
| Keycaps | 12 | Source locally or print |
| Pushbuttons (for extra inputs) | 3 | Standard 6x6mm tactile |
| OLED 0.96" I2C (128x64) | 1 | AliExpress |
| M4 bolt + M5 binding barrel nuts | 4 sets | AliExpress |
PCB: Complete EasyEDA project (schematic, PCB, BOM) in pcb/easyEDA_pcb_and_wiring.json. Import into EasyEDA to view, order, or modify.
Cheap third-party Pico boards work well but have a known USB-C issue: the CC1/CC2 resistors are incorrectly placed, preventing USB-C-to-USB-C connections. Two fixes:
- Microsolder the two 5.1kΩ SMD resistors to the correct pads

- Use a USB-C 5.1kΩ / 5V delivery adapter (inexpensive and reliable)
Micro-USB Picos and properly designed RP2040 boards (e.g., Adafruit Feather RP2040, Pimoroni Pico) do not have this issue.
Runs GP2040-CE — the standard firmware for DIY arcade controllers. Features:
- Web-based configurator (no flashing required for most changes)
- Multiple input modes (XInput, Switch, PS3/4/5, Keyboard, etc.)
- Macro support, SOCD cleaning, per-game profiles
- Active community and regular updates
Flash the latest gp2040-ce.uf2 to the Pico via BOOTSEL mode, then configure at http://gp2040-ce.local or via USB.
- Print enclosure parts — STLs in
models/(top, bottom, stand); ready to print, no supports needed - Fabricate PCB — Import
pcb/easyEDA_pcb_and_wiring.jsoninto EasyEDA, order from JLCPCB or preferred fab - Assemble PCB — Solder hotswap sockets, OLED header, button headers
- Flash firmware — Put Pico in BOOTSEL, drag
gp2040-ce.uf2 - Wire switches — Connect to hotswap sockets and extra button headers
- Mount OLED — Secure in front panel cutout
- Assemble case — Use M4 bolts and M5 binding barrels
- Configure — Connect via USB, open web configurator
Source files:
- Fusion 360 parametric assembly:
f3z/hit (Assembly).f3z(requires Fusion 360) - STLs for direct printing:
models/
| Fusion 360 Render | Blender Render (with art) |
![]() |
![]() |
| Real Build |
![]() |
The renders show an acrylic top panel for artwork. Acrylic can be laser-cut or substituted with any 3mm sheet material. Fusion 360 source: f3z/hit (Assembly).f3z.
The design is intentionally simple to modify:
- Add buttons: Extend the PCB matrix in EasyEDA; GP2040-CE supports up to 24+ inputs
- Change display: Swap OLED for larger I2C/SPI displays (update firmware config)
- Reshape enclosure: Modify
f3z/hit (Assembly).f3zin Fusion 360, or edit STLs inmodels/ - Alternative MCUs: Port the PCB to other RP2040 boards (XIAO RP2040, Feather RP2040, etc.)
- Artwork: Laser-cut acrylic, print on vinyl, or paint directly on the top shell
Contributions welcome:
- PCB variations for other RP2040 boards
- Enclosure improvements (ergonomics, printability, mounting options)
- Build documentation and photos
- Firmware configuration profiles for specific games
- Translations
Open an issue or submit a pull request.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Inspired by Hit Box and the GP2040-CE community. Built for the fighting game community.



