Usb controller-32
jcksnvllxr80·usb-controller-32·pcb/usb-controller-32/usb-controller-32.kicad_pcb
About the Usb controller-32 PCB
Usb controller-32 is an open source PIC PCB design by jcksnvllxr80, published on GitHub. It is a 2-layer board measuring 194.3 × 109.2 mm, with 93 components from 18 distinct parts.
Its main chip is the PIC32MX250F128B, from the PIC family. Other key parts include the MAX3232 and MCP23017x-x-SP. By type, the board carries 38 resistors, 27 capacitors, 18 switches, 3 ICs, 3 connectors and 1 crystal.
It belongs with the dev boards & breakouts designs in this gallery.
From the project
A USB HID gamepad controller built on the PIC32MX250F128B microcontroller.
A USB HID gamepad controller built on the PIC32MX250F128B microcontroller. The firmware reads button inputs from GPIO pins, two potentiometers on the PIC32 ADC, and an MCP23017 I2C I/O expander, then reports them to a host PC as a standard USB HID gamepad. The board-level serial path uses a MAX3232 level shifter, and the MCU clock is provided by a 20 MHz crystal. Built with MPLAB Harmony 3, FreeRTOS, and C++.

Main components on the Usb controller-32
Usb controller-32 bill of materials (BOM)
93 components, 18 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | PIC32MX250F128B | DIP-28_W7.62mm | U1 |
| 1 | MAX3232 | DIP-16_W7.62mm | U2 |
| 1 | MCP23017x-x-SP | DIP-28_W7.62mm | U3 |
| 1 | 20MHz | Crystal_HC49-4H_Vertical | Y1 |
| 1 | USB_MiniB_Adafruit_Breakout | USB_MiniB_Adafruit_Breakout | J1 |
| 1 | Conn_01x08_Pin | PinHeader_1x08_P2.54mm_Vertical | J2 |
| 1 | Conn_01x03_Pin | PinHeader_1x03_P2.54mm_Vertical | J3 |
| 2 | R_Potentiometer | Potentiometer_Bourns_3386P_Vertical | RV1, RV2 |
| 18 | SW_Push_Dual | SW_TH_Tactile_Omron_B3F-100x | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8 +10 |
| 1 | LED_Dual_AKA | LED_D3.0mm-3 | D2 |
| 25 | 0.1µF | C_Disc_D5.0mm_W2.5mm_P2.50mm | C1, C2, C3, C4, C5, C6, C7, C8 +17 |
| 2 | 0.01µF | C_Disc_D5.0mm_W2.5mm_P2.50mm | C22, C23 |
| 32 | 12k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R3, R4, R5, R6, R7, R8 +24 |
| 1 | 8.2k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R33 |
| 1 | 1.2k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R34 |
| 1 | 10k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R35 |
| 2 | 4.7k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R36, R37 |
| 1 | 15k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R38 |
Usb controller-32 design files
The KiCad project lives in the jcksnvllxr80/usb-controller-32 repository on GitHub; these links point at the commit this page was built from.
Usb controller-32: common questions
What microcontroller does the Usb controller-32 use?
The Usb controller-32 is built around the PIC32MX250F128B, from the PIC family.
How big is the Usb controller-32 PCB?
The Usb controller-32 measures 194.3 × 109.2 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Usb controller-32?
93 components, from 18 distinct parts. The full bill of materials is listed on this page.
Where can I download the Usb controller-32 design files?
From the jcksnvllxr80/usb-controller-32 repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Usb controller-32 design in my own project?
The repository has no license, so all rights stay with jcksnvllxr80. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Usb controller-32 without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug PIC firmware against it before you order a PCB.
Similar boards
PIC
Pslab hardware
fossasia
99 × 53.3 mm187 parts4LApache-2.01.7kPIC
Micro 8088
skiselev
152.4 × 101.6 mm71 partsGPL-3.0414PIC
GB-BENCH-G1
Gekkio
100 × 100 mm98 parts4LCC-BY-4.0376PIC
GB-CARTPP-DIY
Gekkio
100 × 100 mm22 parts2LCC-BY-4.0376PIC
GB-MBCTEST
Gekkio
51.4 × 61 mm32 parts2LCC-BY-4.0376PIC
GB-LIVE32
Gekkio
51.4 × 61 mm46 parts4LCC-BY-4.0376