Hid controller
elitetq·hid-controller·hid-controller-pcb/hid-controller-pcb.kicad_pcb
About the Hid controller PCB
Hid controller is an open source STM32 PCB design by elitetq, published on GitHub. It is a 4-layer board measuring 129.3 × 113.2 mm, with 72 components from 30 distinct parts.
Its main chip is the STM32F103C8TX, from the STM32 family. Other key parts include the RT9080-33GJ5 and 9032. By type, the board carries 28 resistors, 16 capacitors, 15 switches, 4 ICs, 4 diodes and 3 connectors.
From the project
Making a custom HID controller PCB for interfacing with operating systems like Windows to play games.
A custom USB gamepad built on an STM32F103 (KiCad PCB + firmware). It has two analog sticks, a D-pad, face buttons, bumpers, triggers and Start/Share, and shows up on the host as an Xbox 360-style wired controller.
https://github.com/user-attachments/assets/c4e4d3e5-b4be-487b-b6eb-255510382f0a
Linux enumerates it fully. Windows only partly enumerates it so far and the workaround is to use xbox360ce as an emulator for XInput.

Main components on the Hid controller
Hid controller bill of materials (BOM)
72 components, 30 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | RT9080-33GJ5 | RT9080-33GJ5 | IC1 |
| 1 | STM32F103C8TX STM32F103C8Tx | LQFP-48_7x7mm_P0.5mm | U1 |
| 2 | 9032 COM-09032 | XDCR_COM-09032 | U3, U4 |
| 1 | ABLS-8.000MHZ-B4-T 8MHz | ABLS-8.000MHZ-B4-T | Y1 |
| 1 | ABS25-32.768KHZ-6-T 32.768KHz | XTAL_ABS25-32.768KHZ-6-T | Y2 |
| 1 | 10118194-0011LF | 10118194-0011LF | J1 |
| 1 | PRPC003SAAN-RC Jumper | PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | STLink | PinHeader_1x04_P2.54mm_Vertical | J3 |
| 9 | B3F-1000 | SW_B3F-1000 | S1, S2, S3, S4, S5, S6, S7, S8 +1 |
| 6 | B3F-1000 | SW_B3F-1000 | S9, S11, S12, S13, S14, S15 |
| 1 | SMF3.3 3.4V | SMFA2005CA | D1 |
| 1 | VESD05A1B-HD1-GS08 6V | DIODE_VESD05A1B-HD1-GS08_VIS | D2 |
| 2 | LED | LED_0805_2012Metric | D3, D4 |
| 1 | UMK107AB7105KA-T 10uF | CAPAE530X550N | C1 |
| 2 | 06031U300GAT2A 30pF | C_0603_1608Metric | C2, C3 |
| 2 | CBR06C609CAGAC 6pF | C_0603_1608Metric | C4, C5 |
| 5 | C0603C104K5RACTU 0.1uF | C_0603_1608Metric | C6, C7, C12, C13, C14 |
| 1 | CAPAE530X550N 1uF | C_0603_1608Metric | C8 |
| 1 | CAPAE530X550N 10uF | CAPAE530X550N | C10 |
| 4 | 0.1uF | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C15, C16, C17, C18 |
Show 10 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | RC0805FR-0722RL 22R | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2 |
| 4 | RMCF0603FT1K50 1.5kR | R_0603_1608Metric | R3, R4, R7, R8 |
| 1 | RC0603FR-0768KL 68kR | R_0603_1608Metric | R5 |
| 1 | RMCF0603FT13K0 13kR | R_0603_1608Metric | R6 |
| 8 | RC0603FR-0720KL 20kR | R_0603_1608Metric | R9, R10, R11, R12, R13, R14, R15, R16 |
| 2 | RC0603JR-070RL 0R | R_0603_1608Metric | R17, R19 |
| 1 | RC0603FR-07665RL 663R | R_0603_1608Metric | R18 |
| 6 | 20kR | R_0603_1608Metric | R20, R21, R22, R23, R24, R25 |
| 1 | 10kR | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R26 |
| 2 | R_Small | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R27, R28 |
Hid controller design files
The KiCad project lives in the elitetq/hid-controller repository on GitHub; these links point at the commit this page was built from.
Hid controller: common questions
What microcontroller does the Hid controller use?
The Hid controller is built around the STM32F103C8TX, from the STM32 family.
How big is the Hid controller PCB?
The Hid controller measures 129.3 × 113.2 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Hid controller?
72 components, from 30 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Hid controller design files?
From the elitetq/hid-controller repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Hid controller design in my own project?
The repository has no license, so all rights stay with elitetq. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Hid controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
LibreVNA
jankae
122 × 98 mm592 parts6LGPL-3.01.6kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2k