

A USB-C Gamepad for Portrait-Mode
- Size
- 64 × 21.6 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 53
- Nets
- 56
- Pads
- 214
- Tracks, vias
- 401, 57
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 21 Apr 2025
- Updated
- 21 Apr 2025
Overview
Gamepad is an open-source printed circuit board by CoretechR, from the CoretechR/DIY-Portrait-Mode-Gamepad repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 64 × 21.6 mm with 53 parts on 56 nets, routed with 401 tracks and 57 vias.
It is built around the RP2040, W25Q64JVZPIQ and AP2112K-3.3, with the USBLC6-2P6 and ABM8-272-T3 among its other parts. Its parts include 15 capacitors, 14 switches, 6 resistors, 4 ICs and 1 diode. It belongs with the keyboards and input boards and the RP2040 boards of this library.
Main components
5RP2040
LQFN-56(7x7)12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)W25Q64JVZPIQ
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 120ms@(32KB) 133MHz 2.7V~3.6V 20 Years 3ms 64Mbit SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASHAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedUSBLC6-2P6
SOT-666-6-40℃~+125℃ 150nA 17V 2 3.5pF 5.25V 5A@8/20us 6V ESD IEC 61000-4-2 Unidirectional SOT-666-6 ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)ABM8-272-T3
SMD3225-4P-40℃~+85℃ 10pF 12MHz 50Ω SMD crystal oscillator ±30ppm ±30ppm SMD3225-4P Crystals ROHSAbraconCrystals
README
README.mdDIY Portrait-Mode Gamepad
Overview
This RP2040-powered gamepad is designed for portrait-mode games. It plugs directly into a smartphone's USB-C port and is compatible with virtually any operating system. No Bluetooth connection or batteries are required as the gamepad communicates directly via USB and acts as a HID controller. The button layout is ideal for emulators, but the side buttons also enable landscape-mode gaming. The gamepad uses the fantasic GP2040-CE firmware, which also enables a local webserver Web-UI for configuration. Finally, all parts of the case and buttons are fully 3D-printable.
Features
- Small form factor
- Portrait-Mode gaming
- USB-Powered - no battery needed
- Made for the GP2040-CE firmware
Parts
53| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100nF | Capacitor_SMD:C_0603_1608Metric | C4, C7, C8, C9, C10, C12, C14, C15 |
| 8 | SW_Push | Button_Switch_SMD:SW_SPST_TL3342 | SW1, SW2, SW3, SW4, SW6, SW7, SW8, SW9 |
| 5 | 1uF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3, C11, C13 |
| 4 | Fiducial | Fiducial:Fiducial_1mm_Mask2mm | FID1, FID2, FID3, FID4 |
| 4 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-1000P-B | SW11, SW12, SW13, SW14 |
| 3 | MountingHole | MountingHole:MountingHole_2.1mm | H1, H2, H3 |
| 2 | 15pF | Capacitor_SMD:C_0603_1608Metric | C5, C6 |
| 2 | 27 | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | SW_Push | Button_Switch_SMD:Panasonic_EVQPUM_EVQPUD | SW5, SW10 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 2k2 | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 5.1k | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 500mA | Fuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolder | F1 |
| 1 | ABM8-272-T3 | Crystal:Crystal_SMD_Abracon_ABM8G-4Pin_3.2x2.5mm | Y1 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | LOGO | LOGO | G*** |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U4 |
| 1 | USBLC6-2P6 | Package_TO_SOT_SMD:SOT-666 | U2 |
| 1 | USB_C_Receptacle_USB2.0 | gamepadLib:USB_TYPEC_PLUG_12P | J1 |
| 1 | W25Q64JVZPIQ | Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm | U3 |
The 51 most common of 53 parts.
Similar boards
- 4 layers70 × 72 mm

- 4 layers21 × 51 mm

RP2040 CNC Controller
FallenFireGit/RP2040-Devboard
This repository contains my work with the RP2040 microcontroller, where I experimented with embedded programming, basic hardware integration, and peripherals like LEDs and buttons.
56 parts - 4 layers20.3 × 99.1 mm

Proton
ewyrick-mark-1/Chromatone
Chromatone is an embedded audio visualizer running on the Raspberry Pi RP2350. It samples audio through the ADC, performs a real-time FFT, detects musical notes, and drives an RGB LED output based on the results.
119 parts1 - 2 layers48.3 × 22.9 mm

- 2 layers62.6 × 20.9 mm

- 4 layers121 × 66.5 mm

- 2 layers70 × 19 mm

Hackducky v1
hackclub/hackducky
The hackclub themed USB rubber ducky ! - Check out hackducky
45 parts33 - 4 layers70 × 54 mm

Questions
How big is the Gamepad PCB?
It measures 64 × 21.6 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Gamepad use?
53 parts, built around the RP2040, W25Q64JVZPIQ, AP2112K-3.3 and USBLC6-2P6. 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 Gamepad KiCad files?
From the CoretechR/DIY-Portrait-Mode-Gamepad repository on GitHub, at the commit this page was made from: the board is PCB/USB-C Gamepad/Gamepad.kicad_pcb and its schematic PCB/USB-C Gamepad/Gamepad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Gamepad design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).