Brushed DC Motor Controller


Created 2 project docs

Firmware Starter — STM32G431CBT6

View Document

MCU: STM32G431CBT6 Framework: STM32 HAL

Board Bring-Up Plan — Closed-Loop DC Motor Controller

View Document

Equipment: current-limited bench supply, DMM, oscilloscope, ST-LINK/SWD debugger, USB-UART adapter, encoder simulator or known encoder, dumm...
Implemented and verified the schematic for the closed-loop brushed DC motor controller.
What was completed:
  • Added a robust 12 V nominal motor-controller architecture: MC33926 H-bridge, STM32G431 MCU, INA240 current sense, LMR33630 3.3 V buck, LM74700 reverse protection, encoder conditioning, connectors, LEDs, and protection.
  • Wired power, motor drive, current sensing, encoder A/B/Z, SWD, UART control, reset/BOOT0, and fault/status paths.
  • Ran schematic/ERC checks; there are no open ERROR/WARNING/UNCERTAIN checks in the reviewed schematic categories.
Project files created/updated:
Open items:
  • Layout is not started yet; high-current motor paths, shunt Kelvin routing, buck layout, and thermal copper will be critical.
  • Firmware starter is a HAL bring-up baseline; final PID/current-limit tuning still needs motor characterization.
Suggested next steps:
  1. Set PCB constraints: board size, stackup, current-aware trace widths, and clearance rules.
  2. Place components with power path and thermal priorities.
  3. Route the PCB, then run DRC/PI checks.
  4. Add test points for 3V3, VM_PROT, HBRIDGE_EN, current sense, and encoder signals.
Set PCB constraints, place the components, and route the board with power-path priorities.
The schematic is complete and ERC-clean with 76 components and 48 nets, including the protected input, 3.3 V buck, MC33926 H-bridge, INA240 current sensing, STM32 control, encoder conditioning, and external interfaces.
I can’t execute PCB setup, placement, or routing because your account currently has no available ACUs.
Remaining work:
  • Define board outline, layer stackup, clearances, and current-based trace widths.
  • Prioritize placement for the input protection, buck converter, H-bridge thermal pad, motor connector, and Kelvin-sensed shunt.
  • Place MCU, decoupling, encoder conditioning, SWD, UART, and status circuitry away from switching nodes.
  • Route motor/power paths first, then buck loops, current-sense Kelvin pairs, control signals, and ground pours.
  • Run routing checks and DRC, resolving all airwires, neckdowns, thermal, and clearance issues.
Plan layout priorities
Export BOM and PDF
Document layout constraints
Review BOM risks

U2
End of Life
U5
U1

Closed-Loop DC Motor Controller

Closed-Loop DC Motor Controller thumbnail