Motor controller
mohamed-belal-10·can-motor-controller-node·hardware/motor_controller/motor_controller.kicad_pcb
About the Motor controller PCB
Motor controller is an open source STM32 PCB design by mohamed-belal-10, published on GitHub under the MIT license. It is a 4-layer board measuring 92.1 × 62.8 mm, with 49 components from 37 distinct parts.
Its main chip is the STM32F103C8Tx, from the STM32 family. Other key parts include the LM2596S-5, AMS1117-3.3, DRV8874PWPR and SN65HVD230. By type, the board carries 18 capacitors, 9 resistors, 7 connectors, 5 ICs, 5 diodes and 2 inductors.
It belongs with the robotics & motion and power & battery designs in this gallery.
From the project
CAN-connected closed-loop DC motor controller node — KiCad hardware (STM32F103, DRV8874, SN65HVD230) with an AS5600 encoder sub-PCB
A single PCB "smart joint" for robot arms, rovers, or any multi-actuator robotic system: it bolts onto a DC gearmotor, closes a cascaded current → speed → position control loop locally on an STM32, and takes setpoints over a shared CAN bus instead of running dedicated wires back to a central controller. Multiple nodes share one twisted-pair CAN bus, each addressed independently.

Main components on the Motor controller
Motor controller bill of materials (BOM)
49 components, 37 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LM2596S-5 | TO-263-5_TabPin3 | U1 |
| 1 | AMS1117-3.3 | SOT-223-3_TabPin2 | U2 |
| 1 | STM32F103C8Tx | LQFP-48_7x7mm_P0.5mm | U3 |
| 1 | DRV8874PWPR TI(德州仪器) | HTSSOP-16_L5.0-W4.4-P0.65-LS6.4-BL-EP | U4 |
| 1 | SN65HVD230 | SOIC-8_3.9x4.9mm_P1.27mm | U5 |
| 1 | TAXM8M4RLBDDT2T 8MHz3225-SMD YJX(雅晶鑫) | CRYSTAL-SMD_4P-L3.2-W2.5-BL | Y1 |
| 1 | Screw_Terminal_01x02 | TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J1 |
| 1 | Bridge | JST_XH_S3B-XH-A_1x03_P2.50mm_Horizontal | J2 |
| 1 | ST-link_connector | PinHeader_1x04_P2.54mm_Horizontal | J3 |
| 1 | EN | PinHeader_1x02_P2.54mm_Vertical | J4 |
| 1 | External | JST_XH_S3B-XH-A_1x03_P2.50mm_Horizontal | J5 |
| 1 | Sub_PCB | PinHeader_1x04_P2.54mm_Horizontal | J6 |
| 1 | J_Motor | TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J8 |
| 1 | 2.2K | R_0603_1608Metric | R_IPROPI1 |
| 1 | SW_Push | SW_SPST_PTS645Sx43SMTR92 | SW1 |
| 2 | SS34 | D_SMA | D1, D2 |
| 1 | LED | LED_0805_2012Metric | D3 |
| 1 | NUP2105L | SOT-23 | D4 |
| 1 | D_TVS | D_SMA | D5 |
| 1 | FerriteBead | L_0805_2012Metric | FB1 |
Show 17 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | SMDRI127-680MT 68uH SXN(顺翔诺) | IND-SMD_L12.3-W12.3_SMDRI127 | L1 |
| 1 | 470uF | CP_Radial_D8.0mm_P3.50mm | C1 |
| 2 | 220uF | CP_Radial_D8.0mm_P3.50mm | C2, C15 |
| 1 | 10uF | CP_Radial_D8.0mm_P3.50mm | C3 |
| 1 | 22uF | CP_Radial_D8.0mm_P3.50mm | C4 |
| 2 | 20pF | C_0603_1608Metric | C5, C6 |
| 8 | 100nF | C_0603_1608Metric | C7, C8, C9, C10, C12, C13, C16, C18 |
| 1 | 4.7uF | C_0603_1608Metric | C11 |
| 1 | 0.1uF | C_0603_1608Metric | C14 |
| 1 | 22nF | C_0603_1608Metric | C17 |
| 2 | 10k | R_0603_1608Metric | R1, R3 |
| 1 | 1k | R_0603_1608Metric | R2 |
| 1 | 3.3k | R_0603_1608Metric | R4 |
| 1 | 5.1k | R_0603_1608Metric | R5 |
| 1 | 20k | R_0603_1608Metric | R6 |
| 1 | 120 | R_0603_1608Metric | R7 |
| 2 | 4.7k | R_0603_1608Metric | R8, R9 |
Motor controller design files
The KiCad project lives in the mohamed-belal-10/can-motor-controller-node repository on GitHub; these links point at the commit this page was built from.
Motor controller: common questions
What microcontroller does the Motor controller use?
The Motor controller is built around the STM32F103C8Tx, from the STM32 family.
How big is the Motor controller PCB?
The Motor controller measures 92.1 × 62.8 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Motor controller?
49 components, from 37 distinct parts. The full bill of materials is listed on this page.
Where can I download the Motor controller design files?
From the mohamed-belal-10/can-motor-controller-node repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Motor controller design in my own project?
Yes, under the terms of its MIT license, which mohamed-belal-10 chose for the repository.
Can I test firmware for the Motor 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.
More boards in can-motor-controller-node
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