
O32controller
qwertpas/O32controller
Miniature closed-loop controller for brushless DC motors

Miniature closed-loop controller for brushless DC motors
O32controller is an open-source printed circuit board by qwertpas, from the qwertpas/O32controller repository on GitHub, published under the MIT licence. It is a 4-layer board of 27 × 27 mm with 88 parts on 86 nets, routed with 743 tracks and 221 vias.
It is built around the STSPIN32F0A, MA702GQ-P and CSD88584Q5DCT, with the SDM2U30CSP and ESDA17P20-1F2 among its other parts. Its parts include 35 resistors, 21 capacitors, 12 connectors, 6 diodes and 3 ICs. It belongs with the robots and motor control boards and the STM32 boards of this library.

Small robots often use servos or small brushed DC motors, but they are not as power dense as the brushless DC (BLDC) motors commonly found in drones. Called the Ø32 because the M2 mounting holes are on a 32mm diameter circle, this project controls 7-15V motors with accurate position feedback and field-oriented control (FOC), while fitting almost completely behind a 2304 or larger drone motor.
Specs:
Critical components:
More info on Hackaday.io: https://hackaday.io/project/189115-32-bldc-controller
Firmware here: https://github.com/qwertpas/O32controller_FW
Changelog from v3 to v3.1:
Changelog from v2 to v3:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 1.78k | Resistor_SMD:R_0402_1005Metric | R2, R3, R6, R7, R10, R11 |
| 6 | 10R | Resistor_SMD:R_0402_1005Metric | R13, R15, R16, R18, R19, R21 |
| 6 | 27.4k | Resistor_SMD:R_0402_1005Metric | R30, R31, R32, R33, R34, R35 |
| 5 | 100nF | Capacitor_SMD:C_0402_1005Metric | C1, C4, C5, C6, C7 |
| 5 | 1nF | Capacitor_SMD:C_0402_1005Metric | C11, C18, C19, C20, C21 |
| 3 | 10nF | Capacitor_SMD:C_0402_1005Metric | C12, C14, C16 |
| 3 | 13.7k | Resistor_SMD:R_0402_1005Metric | R4, R8, R12 |
| 3 | 2.2R | Resistor_SMD:R_0402_1005Metric | R23, R24, R25 |
| 3 | 2.2k | Resistor_SMD:R_0402_1005Metric | R14, R17, R20 |
| 3 | 4.7nF | Capacitor_SMD:C_0402_1005Metric | C13, C15, C17 |
| 3 | CSD88584Q5DCT | O32controller:CSD88584Q5DCT | Q1, Q2, Q3 |
| 3 | Motor Connection | O32controller:SolderWire-Actual_1x01_D1.7mm_OD_2.75mm | J4, J5, J6 |
| 3 | SDM2U30CSP | O32controller:SDM2U30CSP-7 | D1, D5, D6 |
| 3 | Sense_N | O32controller:NetTie-2_SMD_Pad0.25mm | NT1, NT2, NT3 |
| 3 | WSLF25122L000FEB 0.002R | O32controller:R_Shunt_2512_6332Metric | R1, R5, R9 |
| 2 | 100uF | O32controller:CAP_EEEFN1E101UP | C8, C9 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R28, R29 |
| 2 | BATT+ | O32controller:SolderWire-Actual_1x01_D1.7mm_OD_2.75mm | J2, J7 |
| 2 | BATT- | O32controller:SolderWire-Actual_1x01_D1.7mm_OD_2.75mm | J3, J8 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R27 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | 121k | Resistor_SMD:R_0402_1005Metric | R22 |
| 1 | 1uF | Capacitor_SMD:C_0402_1005Metric | C10 |
| 1 | 22uH | O32controller:IND_VLS201612CX-220M-1 | L1 |
| 1 | 3V3 | O32controller:SolderWire-Actual_1x01_D1.25mm_OD_1.8mm | J10 |
| 1 | 41.2k | Resistor_SMD:R_0402_1005Metric | R26 |
| 1 | 47uF | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | ESDA17P20-1F2 | O32controller:SMT2_0P91X0P63_STM-L | D2 |
| 1 | GND | O32controller:SolderWire-Actual_1x01_D1.25mm_OD_1.8mm | J11 |
| 1 | GREEN | LED_SMD:LED_0603_1608Metric | D4 |
| 1 | I2C/RS485_1 | O32controller:JST_SM02B-SRSS-TB(LF)(SN) | J9 |
| 1 | I2C/RS485_2 | O32controller:JST_SM02B-SRSS-TB(LF)(SN) | J12 |
| 1 | MA702GQ-P | O32controller:MA702GQ-P | U1 |
| 1 | RED | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | RESET | O32controller:Tactile_Switch_EVQ-P7A01P | SW1 |
| 1 | SCL/B | O32controller:NetTie-2_SMD_Pad0.25mm | NT5 |
| 1 | SDA/A | O32controller:NetTie-2_SMD_Pad0.25mm | NT4 |
| 1 | STSPIN32F0A | O32controller:VFQFPN-48-1EP_7x7mm_P0.5mm_EP2.8x2.8mm | U2 |
| 1 | SWD | O32controller:JST_SM04B-SRSS-TB(LF)(SN) | J1 |
| 1 | THVD1420DRLR | O32controller:THVD1420DRLR_SOT-585 | U3 |
| 1 | TestPoint | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
It measures 27 × 27 mm and has 4 copper layers, 0.8 mm thick.
88 parts, built around the STSPIN32F0A, MA702GQ-P, CSD88584Q5DCT and SDM2U30CSP. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the qwertpas/O32controller repository on GitHub, at the commit this page was made from: the board is v2/O32controller.kicad_pcb and its schematic v2/O32controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

qwertpas/O32controller
Miniature closed-loop controller for brushless DC motors





Swamy-BV/kicad-flow
Build KiCad schematics and PCBs through MCP. Small, composable tools handle file formats and geometry; the caller controls placement, wiring, and routing.


buckles3636/EasyBLDC
Please ensure your designs meet common standards and include necessary documentation and comments.
