

GamepadController
Trying to build a gamepad controller from scratch using kicad. I will (as heard of) need the pcb to be shipped to me so i can code some arduino probably but that will be on my cost and i'll finish everything and keep it open sourced (although its alot to cover for beginners).
- Size
- 165 × 84 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 20
- Nets
- 23
- Pads
- 112
- Tracks, vias
- 194, 47
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 13 Apr 2026
- Updated
- 1 May 2026
Overview
GamepadController is an open-source printed circuit board by iEarthEZ, from the iEarthEZ/DIY-Gamepad-Controller repository on GitHub. It is a 2-layer board of 165 × 84 mm with 20 parts on 23 nets, routed with 194 tracks and 47 vias.
Its parts include 14 switches, 2 connectors, 1 resistor and 1 diode. It belongs with the keyboards and input boards of this library.
README
README.mdDIY-Gamepad-Controller
Making a custom gamepad controller from scratch. {I'll update code files and firmware when my parts get shipped.}.
Lets walk you through here from where i got the idea to where we are now. First things first the idea came to my mind because not too long ago i bought my cool red ps4 controller so i thought "what if i could make something like this myself?". Thats what it hit me, i was like I can make that so i got to work on the research my brother was making a split keyboard and he used the arduino pro micro mini as the "brain" or main chip. He said if you are making something like that use the pro micro mini so i atlast settled down with the normal usb-c version of the pro micro(the mini's pins are abit different). If you are making this project like me i recommend the video https://www.youtube.com/watch?v=mvv1BRjswew by Voltaat. It will get you started with ide and programming so it'll be easy and i recommend watching some soldering tutorials lol. Also first things first you should download all the project files and open them up in kicad and check it out or edit stuff yourself!(feel free). If you goto the pcb section and press alt + 3 you can see a base model of how it will look(its the reference image at the start of this readme). Its straight forward, upload gerber files to jlcpcb or pcbway or anyother you like i guess, wait for the pcb to get shipped to you, order the given parts in the BOM and just assemble them. Thats it! I made the controller a basic comfortable shape but you can make it any shape you like. If you know the basics of kicad i don't think it will be a pain to get through everything. It was my second ever pcb and project with kicad and stuff so i was pretty scared but at the end i found out it ain't hard. Looking forward to everyone that makes this project and in the next upd i'll drop all the firmware and code files even a tutorial on how to code the ide after my parts gets shipped. Till then. Peace.
HERE IS THE BOM!!!!! (NOTE THAT ALL OF THIS IS FROM MY INSIDE COUNTRY'S WEBSITES YOU CAN JUST SEARCH FOR THE PART NAMES AND GET THEM FROM YOUR LOCAL SHOP OR LOCAL WEBSITE)
Parts
20| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | BackButton | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW2, SW14 |
| 2 | Conn_01x12_Pin | Connector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_Vertical | J1, J2 |
| 1 | A | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW10 |
| 1 | B | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW11 |
| 1 | Down | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW7 |
| 1 | LED | LED_THT:LED_D5.0mm | D1 |
| 1 | Left | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW5 |
| 1 | LeftButton | Button_Switch_THT:SW_Tactile_SKHH_Angled | SW1 |
| 1 | LeftStick | Joystick:Joystick | RV1 |
| 1 | LeftTrigger | Button_Switch_THT:SW_Tactile_SKHH_Angled | SW3 |
| 1 | R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | Right | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW6 |
| 1 | RightButton | Button_Switch_THT:SW_Tactile_SKHH_Angled | SW13 |
| 1 | RightStick | Joystick:Joystick | RV2 |
| 1 | RightTrigger | Button_Switch_THT:SW_Tactile_SKHH_Angled | SW12 |
| 1 | Up | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW4 |
| 1 | X | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW8 |
| 1 | Y | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW9 |
Similar boards
- 2 layers66.9 × 74.5 mm

- 2 layers86.4 × 64.8 mm

- 2 layers36.2 × 26.8 mm

Esp32 minimal
atopile/atopile
Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️
20 parts4kMIT - 2 layers108.1 × 393.8 mm

Sweep compact ble
davidphilipbarr/Sweep
Sweep - a small promicro based keyboard inspired by the Ferris.
20 parts2.1k - 2 layers26 × 15.9 mm

TPS54340 Buck Regulator
rusefi/rusefi
rusefi - GPL internal combustion engine control unit
20 parts1.2k - 2 layers67.6 × 30.5 mm

Rgb to hdmi
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
20 parts1kGPL-3.0 - 2 layers44.3 × 28.7 mm

Lin bus adapter esp32
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
20 parts915 - 2 layers89.5 × 61.6 mm

FreeDeck TH 2020-02
FreeYourStream/freedeck-hardware
all the stuff you need to build your own FreeDeck
20 parts772
Questions
How big is the GamepadController PCB?
It measures 165 × 84 mm and has 2 copper layers, 1.6 mm thick.
What parts does the GamepadController use?
20 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the GamepadController KiCad files?
From the iEarthEZ/DIY-Gamepad-Controller repository on GitHub, at the commit this page was made from: the board is GamepadController.kicad_pcb and its schematic GamepadController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the GamepadController design in my own project?
Its repository states no licence, so its author keeps all rights: ask iEarthEZ before reusing the design.