Skip to the content
2 layers165 × 84 mmGamepadController, the printed circuit board in 3D

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.md
image image

DIY-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)

NamePurposeQuantityTotal Cost (USD)LinkDistributor
Joystick Dual Axis 5 Pin Breakout Module For ArduinoJoysticks for the controller21.61https://www.bdtronics.com/joystick-dual-axis-5-pin-breakout-module-for-arduino.htmlBDTronics
10Pcs- RIGHT Angle Momentary 2Pin Tactile Tact Push Button Switches 2 Pin 6x6x7mm 90 Degree Bend On Off PCB DIP Through Hole Touch Switch Momentary Push Button Switchright angled buttons for the shoulder and triggers10.76https://www.daraz.com.bd/products/10-2-2-6x6x7mm-90-pcb-i129768178-s1049544950.html?c=&channelLpJumpArgs=&clickTrackInfo=query%253Aangled%252Bpush%252Bbutton%253Bnid%253A129768178%253Bsrc%253ALazadaMainSrp%253Brn%253A0ec6cdb791f19f113f57f372a77d82df%253Bregion%253Abd%253Bsku%253A129768178_BD%253Bprice%253A93%253Bclient%253Adesktop%253Bsupplier_id%253A1000750%253Bsession_id%253A%253Bbiz_source%253Ah5_external%253Bslot%253A13%253Butlog_bucket_id%253A470687%253Basc_category_id%253A10000486%253Bitem_id%253A129768178%253Bsku_id%253A1049544950%253Bshop_id%253A6947%253BtemplateInfo%253A&freeshipping=0&fs_ab=1&fuse_fs=&lang=en&location=Dhaka&price=93&priceCompare=skuId%3A1049544950%3Bsource%3Alazada-search-voucher%3Bsn%3A0ec6cdb791f19f113f57f372a77d82df%3BoriginPrice%3A9300%3BdisplayPrice%3A9300%3BsinglePromotionId%3A-1%3BsingleToolCode%3AmockedSalePrice%3BvoucherPricePlugin%3A0%3Btimestamp%3A1777640799160&ratingscore=4.666666666666667&request_id=0ec6cdb791f19f113f57f372a77d82df&review=15&sale=70&search=1&source=search&spm=a2a0e.searchlist.list.13&stock=1DarazBD
Mini Push Button Tactile Switch 4 Pin (6mm6mm4.5mm)buttons of the controller100.41https://www.bdtronics.com/mini-push-button-tactile-switch-4-pin-6mm-6mm-4-5mm.htmlBDTronics
1/4 Resistorresistor so the led doesn't burn out10.02https://www.bdtronics.com/carbon-film-1-4w-resistor.htmlBDTronics
WHITE LEDshowing connection status of the controller and white led on black pcb is just good10.02https://www.bdtronics.com/3mm-led-red-green-blue-yellow-white.htmlBDTronics
Arduino Pro Microthe brain of this controller15.05https://www.bdtronics.com/arduino-pro-micro-atmega32u4-5v-16mhz.htmlBDTronics
PCBthe pcb115.50https://trade.jlcpcb.com/checkout/payMethod/?unionSettleId=26dcc378283c4002b6bfed6f815bbe98&systemType=order_pcb&orderTypes=order_pcb&calType=PRE_CAL&couponDemo=1&spm=Jlcpcb.Partcart.1002JLCPCB

Parts

20
QtyValueFootprintReferences
2BackButtonButton_Switch_THT:Push_E-Switch_KS01Q01SW2, SW14
2Conn_01x12_PinConnector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_VerticalJ1, J2
1AButton_Switch_THT:Push_E-Switch_KS01Q01SW10
1BButton_Switch_THT:Push_E-Switch_KS01Q01SW11
1DownButton_Switch_THT:Push_E-Switch_KS01Q01SW7
1LEDLED_THT:LED_D5.0mmD1
1LeftButton_Switch_THT:Push_E-Switch_KS01Q01SW5
1LeftButtonButton_Switch_THT:SW_Tactile_SKHH_AngledSW1
1LeftStickJoystick:JoystickRV1
1LeftTriggerButton_Switch_THT:SW_Tactile_SKHH_AngledSW3
1RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1RightButton_Switch_THT:Push_E-Switch_KS01Q01SW6
1RightButtonButton_Switch_THT:SW_Tactile_SKHH_AngledSW13
1RightStickJoystick:JoystickRV2
1RightTriggerButton_Switch_THT:SW_Tactile_SKHH_AngledSW12
1UpButton_Switch_THT:Push_E-Switch_KS01Q01SW4
1XButton_Switch_THT:Push_E-Switch_KS01Q01SW8
1YButton_Switch_THT:Push_E-Switch_KS01Q01SW9

Similar boards

  • 2 layers66.9 × 74.5 mmDeskHop Rev1, the printed circuit board in 3D

    DeskHop Rev1

    hrvach/deskhop

    Fast Desktop Switching Device

    20 parts7.9kGPL-3.0
  • 2 layers86.4 × 64.8 mmSlot machine, the printed circuit board in 3D

    Slot machine

    google/google-ctf

    Google CTF

    20 parts5.1kApache-2.0
  • 2 layers36.2 × 26.8 mmEsp32 minimal, the printed circuit board in 3D

    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 mmSweep compact ble, the printed circuit board in 3D

    Sweep compact ble

    davidphilipbarr/Sweep

    Sweep - a small promicro based keyboard inspired by the Ferris.

    20 parts2.1k
  • 2 layers26 × 15.9 mmTPS54340 Buck Regulator, the printed circuit board in 3D

    TPS54340 Buck Regulator

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    20 parts1.2k
  • 2 layers67.6 × 30.5 mmRgb to hdmi, the printed circuit board in 3D

    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 mmLin bus adapter esp32, the printed circuit board in 3D

    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 mmFreeDeck TH 2020-02, the printed circuit board in 3D

    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.