Loading files…
A three-phase BLDC motor driver board designed in KiCad 10. The board pairs an STM32G431 motor-control MCU with an on-board STM32F103 debug/programmer bridge, three IR2104-driven half-bridges, and low-side shunt current sensing on all three phases.
Status: board revision V1.0, layout complete and not yet fabricated. Firmware is planned and will live in this repository.
| Top copper | Bottom copper |
|---|---|
| Board size | 85.0 × 65.0 mm |
| Stackup | 2 layer, 1.6 mm FR4 (35 µm Cu) |
| Motor MCU | STM32G431C8T6 (LQFP-48) |
| Debug MCU | STM32F103RDT6 (LQFP-64) |
| Gate drivers | 3 × IR2104 (bootstrap half-bridge) |
| Power stage | 6 × RU3560L N-MOSFET (TO-252) |
| Current sensing | 3 × 10 mΩ low-side shunt → G431 internal op-amps |
| USB–UART | CH340C |
| Power in | Deans (T-plug) connector, fused |
| Motor out | 3-pin screw terminal |
| Rails | Buck converter → AMS1117-3.3 |
The schematic is hierarchical, rooted at BLDC_Project.kicad_sch:
BLDC_Project.kicad_sch Root — power input, fuse, buck + LDO rails, USB connectors
├── Inverter.kicad_sch 3 × IR2104 half-bridge, 6 × MOSFET, phase shunts
├── G431.kicad_sch STM32G431 motor MCU, current-sense front end, CH340C UART
└── untitled.kicad_sch STM32F103 USB/SWD bridge to the G431
Key inter-sheet nets:
CH1 / CH2 / CH3 — PWM inputs to the three gate driversSD — global shutdown to all IR2104sISENS_{U,V,W}_{P,N} — differential shunt taps; ISENS_*_OP are the op-amp outputsPHASE_{U,V,W} — half-bridge outputs to the motor terminalBATT_SENS — battery voltage divider to ADCF103_TO_G431_{SWDIO,SWCLK,NRST} — on-board debug linkBLDC_Project.kicad_pro Project file
BLDC_Project.kicad_sch Root schematic
Inverter.kicad_sch Power stage sheet
G431.kicad_sch Motor MCU sheet
untitled.kicad_sch F103 debug bridge sheet
BLDC_Project.kicad_pcb PCB layout
BLDC_Project.kicad_dru Custom design rules
BLDC_Project.csv Bill of materials
BLDC_Project-job.gbrjob Gerber job file
New_Library.kicad_sym Project symbol library
Images/ 3D render and layer plots
BLDC_Project.kicad_dru defines two clearance zones:
U3 (F103) and U4 (G431) — 0.5 mm pitch QFP escapeDefault net class: 0.25 mm track, 1.0 mm via / 0.4 mm drill, 0.24 mm clearance.
Requires KiCad 10.0 or newer (file format version 20260206).
git clone https://github.com/yussufadel8/BLDC-Motor-Controller-STM32.git
cd BLDC-Motor-Controller-STM32
kicad BLDC_Project.kicad_pro
Several parts use footprints from a personal library prefixed Yooosf: — the Deans connector, fuse holder, inductors, electrolytic caps and slide switches. These resolve through the global footprint library table, so a fresh clone will show unresolved footprints until that library is added under Preferences → Manage Footprint Libraries.
BLDC_Project.csv is exported from the schematic (~100 placed components across 41 lines). Passives are 0603/0805/1206 SMD with hand-solder pads; the power MOSFETs and shunts are TO-252 and 2512 respectively, so the board is hand-assemblable throughout.
Regenerate after schematic changes: Eeschema → Tools → Generate Bill of Materials.
Plot Gerbers to a gerbers/ directory (Pcbnew → File → Plot), then Generate Drill Files. The plot settings currently point at a local Downloads folder — change the output directory before plotting.
Recommended checks before ordering:
BLDC_Project.kicad_druPlanned. Firmware for the STM32G431 (FOC / six-step commutation) and the STM32F103 USB-SWD bridge will be added here under firmware/.
No comments yet. Be the first to ask about this board.