USB-pasthrough
beattie·stm32f723-USB-demo·kicad/USB-pasthrough.kicad_pcb
About the USB-pasthrough PCB
USB-pasthrough is an open source STM32 PCB design by beattie, published on GitHub. It is a 4-layer board measuring 40 × 80 mm, with 79 components from 41 distinct parts.
Its main chip is the STM32F723VET6, from the STM32 family. Other key parts include the AMS1117 and TPS2065C. By type, the board carries 27 capacitors, 22 resistors, 10 connectors, 5 LEDs, 3 ICs and 2 fuses.
It belongs with the displays & leds designs in this gallery.
From the project
A hardware and firmware demonstration platform based on the STM32F723VET6, a Cortex-M7 with an embedded USB HS PHY. Inspired by the Pastilda project, with a goal of providing robust Linux support for USB keyboard passthrough. This project was started as a vehicle to learn Rust an
A hardware and firmware demonstration platform based on the STM32F723VET6, a Cortex-M7 with an embedded USB HS PHY. Inspired by the Pastilda project, with a goal of providing robust Linux support for USB keyboard passthrough. This project was started as a vehicle to learn Rust and keep my USB up-to date as well as display my limited HW design abilities.
The board sits between a USB keyboard and a Linux host. The firmware intercepts keystrokes, allowing for key remapping, macros, and other HID transformations entirely in hardware — no kernel modules or userspace daemons required on the host.
Main components on the USB-pasthrough
USB-pasthrough bill of materials (BOM)
79 components, 41 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | AMS1117 | SOT-223-3_TabPin2 | U1 |
| 1 | TPS2065C | SOT-23-5 | U2 |
| 1 | STM32F723VET6 | LQFP-100_14x14mm_P0.5mm | U3 |
| 1 | 8 MHz | Crystal_HC49-U_Vertical | Y1 |
| 1 | USB_Power | USB_C_Receptacle_GCT_USB4135-GF-A_6P_TopMnt_Horizontal | J1 |
| 1 | USB_C | USB_C_Receptacle_GCT_USB4085 | J2 |
| 1 | Power_Sel | PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | Cortex Debug | PinHeader_2x05_P1.27mm_Vertical | J4 |
| 1 | SPI Display | PinHeader_1x10_P2.54mm_Vertical | J5 |
| 1 | SWD | PinHeader_1x06_P2.54mm_Vertical | J6 |
| 1 | Serial | PinHeader_1x03_P2.54mm_Vertical | J7 |
| 1 | USB_A | USB_A_Molex_67643_Horizontal | J8 |
| 1 | SD-1-A | CUI_SD-1-A | J9 |
| 1 | MicroSD | microSD_HC_Hirose_DM3AT-SF-PEJM5 | J10 |
| 2 | F | Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolder | F1, F2 |
| 4 | Jumper_2_Bridged | SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | ID1, ID3, ID4, ID5 |
| 1 | Jumper_2_Bridged | SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | ID2 |
| 1 | Boot0 | SW_Push_6mm_2pin_5.08mm | SW1 |
| 1 | Reset | SW_Push_6mm_2pin_5.08mm | SW2 |
| 1 | RED | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | LED1 |
Show 21 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | BLUE | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | LED2 |
| 1 | YELLOW | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | LED3 |
| 1 | GREEN | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | LED4 |
| 1 | Status | LED_D5.0mm-4_RGB | RGB_LED1 |
| 2 | 600@100MHz | L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | FB1, FB2 |
| 2 | 10uF | CP_Radial_D5.0mm_P2.50mm | C1, C10 |
| 12 | 100nF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2, C4, C5, C8, C9, C12, C14, C17 +4 |
| 5 | 4.7uF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3, C7, C11, C19, C25 |
| 2 | 27pF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C6, C16 |
| 3 | 2.2uF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C13, C20, C26 |
| 2 | 1uF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C15, C24 |
| 1 | 10uF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C23 |
| 1 | 330 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1 |
| 4 | 5.1K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R2, R4, R5, R6 |
| 2 | 10K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R3, R9 |
| 2 | 100 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R7, R13 |
| 6 | 47K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R8, R10, R11, R12, R14, R16 |
| 1 | 12K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R15 |
| 2 | 33 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R17, R21 |
| 2 | 150 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R18, R22 |
| 2 | 68 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R19, R20 |
USB-pasthrough design files
The KiCad project lives in the beattie/stm32f723-USB-demo repository on GitHub; these links point at the commit this page was built from.
- Layoutkicad/USB-pasthrough.kicad_pcb
- Schematickicad/USB-pasthrough.kicad_sch
USB-pasthrough: common questions
What microcontroller does the USB-pasthrough use?
The USB-pasthrough is built around the STM32F723VET6, from the STM32 family.
How big is the USB-pasthrough PCB?
The USB-pasthrough measures 40 × 80 mm, has 4 copper layers and is 4.69 mm thick.
How many components are on the USB-pasthrough?
79 components, from 41 distinct parts. The full bill of materials is listed on this page.
Where can I download the USB-pasthrough design files?
From the beattie/stm32f723-USB-demo 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-pasthrough design in my own project?
The repository has no license, so all rights stay with beattie. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the USB-pasthrough 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.
More boards in stm32f723-USB-demo
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