

Brushless Motor FOC Controller
- Size
- 52.1 × 55.6 mm
- Copper layers
- 4
- Thickness
- 1.61 mm
- Parts
- 168
- Nets
- 115
- Pads
- 727
- Tracks, vias
- 863, 396
- Pours
- 309
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 10 Nov 2025
- Updated
- 4 Feb 2026
Overview
FOCdriver is an open-source printed circuit board by I-M-Robotics-Lab, from the I-M-Robotics-Lab/Curl-Drive-Hardware repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 52.1 × 55.6 mm with 168 parts on 115 nets, routed with 863 tracks and 396 vias.
It is built around the SN65HVD232D, AS5047D and DRV8323SRTAR, with the ME3121, TLV75533PDBV and USBLC6-2SC6 among its other parts. Its parts include 63 capacitors, 26 resistors, 12 diodes, 10 connectors and 8 ICs. It belongs with the robots and motor control boards and the STM32 boards of this library.
Main components
11SN65HVD232D
SOIC-8-40℃~+85℃ 17mA 1Mbps 3.3V CAN Transceiver SOIC-8 CAN Transceivers ROHSTexas InstrumentsCAN TransceiversAS5047D
14-Bit On-Axis Magnetic Rotary Position Sensor with 11-Bit Decimal and Binary Incremental Pulse CountOSRAMUncategorisedDRV8323SRTAR
WQFN-40-EP(6x6)-40℃~+125℃ 12uA 1A 3 6V~60V SPI Three Phase WQFN-40-EP(6x6) Brushless DC (BLDC) Motor Driver ROHSTexas InstrumentsBrushless DC (BLDC) Motor DriverME3121
SOT-23-6SOT-23-6 DC-DC Converters ROHSMICRONEDC-DC ConvertersTLV75533PDBV
SOT-23-5-40℃~+125℃@(Tj) 1 238mV@(500mA) 25uA 3.3V 46dB@(100kHz) 5.5V 500mA 71.5uVrms Fixed Over Current Protection、Thermal Shutdown、Input undervoltage protection Positive SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)DON90N06T
DFN5x6-8MOSFETsDOINGTERRB521SM-60T2R
SOD-523100uA@60V 1A 200mA 600mV@200mA 60V Independent SOD-523 Schottky Diodes ROHSROHM SemiconductorSchottky Diodes1N5819WS
SOD-3231 Independent 1A 25A 40V 500uA@40V 600mV@1A SOD-323 Schottky Diodes ROHSGuangdong HottechSchottky DiodesSMBJ26CA
DO-214AA(SMB)ESD And Surge Protection (TVS/ESD)hongjiachengXT30PW-M
-- Power connector / plug connector ROHSChangzhou Amass ElecUncategorised
README
README.mdCurl-Drive: BLDC Motor Controller
This repository contains the hardware PCB design, schematics, and production files of the brushless motor FOC controller Curl-Drive developed by I'M Robotics Lab.
The firmware is still under development, but the hardware has been validated with no major issues. Full version is planned to be released in early January.
We welcome contributions from anyone! To get involved or ask questions, join our Discord server.
Discord: https://discord.com/invite/WJuUWsy6DJ
Firmware (pre-release): https://github.com/I-M-Robotics-Lab/Curl-Drive-Firmware

Parts
168| Qty | Value | Footprint | References |
|---|---|---|---|
| 19 | 100n | Capacitor_SMD:C_0603_1608Metric | C2, C3, C4, C5, C11, C12, C14, C17, C18, C20, C40, C42, C43, C49, C51, C52 +3 |
| 16 | 10u | Capacitor_SMD:C_1206_3216Metric | C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39 |
| 12 | 1u | Capacitor_SMD:C_0603_1608Metric | C1, C9, C13, C15, C16, C41, C45, C46, C47, C50, C53, C54 |
| 7 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R6, R12, R13, R14, TH1 |
| 6 | 4.7 | Resistor_SMD:R_0603_1608Metric | R15, R16, R18, R19, R21, R22 |
| 6 | DON90N06 | Package_DFN_QFN:DFN-8-1EP_6x5mm_MOSFET | Q1, Q2, Q3, Q4, Q5, Q6 |
| 6 | RB521SM-60T2R | Diode_SMD:D_SOD-523 | D6, D7, D8, D9, D10, D11 |
| 4 | GND | TestPoint:TestPoint_Pad_D0.4mm | TP2, TP5, TP6, TP8 |
| 3 | 100n | Capacitor_SMD:C_1206_3216Metric | C56, C58, C60 |
| 3 | 10u | Capacitor_SMD:C_0603_1608Metric | C21, C22, C23 |
| 3 | 1N5819WS | Diode_SMD:D_SOD-323 | D1, D2, D12 |
| 3 | 2m (1206 1W) | Resistor_SMD:R_1206_3216Metric | R17, R20, R23 |
| 3 | 4.7u | Capacitor_SMD:C_0805_2012Metric | C57, C59, C61 |
| 3 | AN | NetTie:NetTie-2 | NT2, NT4, NT6 |
| 3 | AP | NetTie:NetTie-2 | NT1, NT3, NT5 |
| 3 | ~ | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad | H1, H2, H3 |
| 2 | 18p | Capacitor_SMD:C_0603_1608Metric | C6, C7 |
| 2 | 2u2 | Capacitor_SMD:C_0603_1608Metric | C10, C63 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R24, R25 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R4, R5 |
| 2 | LOGO | LOGO | G***, G*** |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-1000P | SW1(B3U-1000)1, SW2(B3U-1000)1 |
| 2 | TLV75533PDBV | Package_TO_SOT_SMD:SOT-23-5 | U5, U6 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 100mΩ 600Ω@100MHz | Resistor_SMD:R_0805_2012Metric | FB2 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C48 |
| 1 | 120 (Termination Resistance) | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 120mΩ 1kΩ@100MHz | Resistor_SMD:R_0805_2012Metric | FB1 |
| 1 | 13.7k | Resistor_SMD:R_0603_1608Metric | R9 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 22u | Capacitor_SMD:C_0805_2012Metric | C19 |
| 1 | 3.3 | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | 3.3k | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 3.3uH (APH0420T) | Inductor_SMD:L_APV_APH0420 | L1 |
| 1 | 3V3 | TestPoint:TestPoint_Pad_D0.4mm | TP7 |
| 1 | 47n | Capacitor_SMD:C_0603_1608Metric | C44 |
| 1 | 5V | TestPoint:TestPoint_Pad_D0.4mm | TP3 |
| 1 | 8 Mhz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | A3V3 | TestPoint:TestPoint_Pad_D0.4mm | TP4 |
| 1 | AS5047D | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U8 |
| 1 | AUX_CS_SPI2 | TestPoint:TestPoint_Pad_D0.4mm | TP23 |
| 1 | Blue (0805) | LED_SMD:LED_0805_2012Metric | D4 |
| 1 | CAL | TestPoint:TestPoint_Pad_D0.4mm | TP16 |
| 1 | CAN_IN | Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal | J10 |
| 1 | CAN_OUT | Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal | J11 |
| 1 | CAN_RX | TestPoint:TestPoint_Pad_D0.4mm | TP27 |
| 1 | CAN_TX | TestPoint:TestPoint_Pad_D0.4mm | TP26 |
| 1 | DCBUS | TestPoint:TestPoint_Pad_D0.4mm | TP1 |
| 1 | DRV8323SRTAR | FOCDriver:DRV8323 | U3 |
| 1 | DR_CS | TestPoint:TestPoint_Pad_D0.4mm | TP15 |
| 1 | DR_EN | TestPoint:TestPoint_Pad_D0.4mm | TP17 |
| 1 | Encoder_CS | TestPoint:TestPoint_Pad_D0.4mm | TP25 |
| 1 | Encoder_SPI2 | Connector_JST:JST_SH_SM06B-SRSS-TB_1x06-1MP_P1.00mm_Horizontal | J8 |
| 1 | Green (0805) | LED_SMD:LED_0805_2012Metric | D5 |
| 1 | I2C3 | Connector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_Horizontal | J9 |
| 1 | INHA | TestPoint:TestPoint_Pad_D0.4mm | TP9 |
| 1 | INHB | TestPoint:TestPoint_Pad_D0.4mm | TP10 |
| 1 | INHC | TestPoint:TestPoint_Pad_D0.4mm | TP11 |
| 1 | ME3121 | Package_TO_SOT_SMD:SOT-23-6 | U7 |
| 1 | PhaseA | 1_my_custom:4.5x4.5_pad | J4 |
| 1 | PhaseB | 1_my_custom:4.5x4.5_pad | J5 |
| 1 | PhaseC | 1_my_custom:4.5x4.5_pad | J6 |
| 1 | SMBJ26CA | Diode_SMD:D_SMB | D3 |
| 1 | SN65HVD232 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | SPI2_MISO | TestPoint:TestPoint_Pad_D0.4mm | TP20 |
| 1 | SPI2_MOSI | TestPoint:TestPoint_Pad_D0.4mm | TP21 |
| 1 | SPI2_SCK | TestPoint:TestPoint_Pad_D0.4mm | TP22 |
| 1 | SPI3_MISO | TestPoint:TestPoint_Pad_D0.4mm | TP12 |
| 1 | SPI3_MOSI | TestPoint:TestPoint_Pad_D0.4mm | TP13 |
| 1 | SPI3_SCK | TestPoint:TestPoint_Pad_D0.4mm | TP14 |
| 1 | STM32G474RBTx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U1 |
| 1 | STM32_DeBug | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J2 |
| 1 | SW_DIP_x01 | Button_Switch_SMD:SW_SPST_DSHP-01-TJ-GER | SW1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J1 |
| 1 | XT30PW | Connector_AMASS:AMASS_XT30PW-M_1x02_P2.50mm_Horizontal | J3 |
| 1 | nFAULT | TestPoint:TestPoint_Pad_D0.4mm | TP24 |
More from I-M-Robotics-Lab/Curl-Drive-Hardware
1- 6 layers45 × 45 mm

Similar boards
- 4 layers38 × 38 mm

- 2 layers68 × 98 mm

Spindle driver
dougsthenri/spindle_driver_v1
PCB project for a BLDC motor driver tailored for CNC spindle motors
97 parts - 4 layers100 × 100 mm

- 6 layers60 × 48 mm

Quadesc
embedconsult/quadesc
BeagleConnect QuadESC is a four-motor power board with BeagleConnect Torque installed as its system-on-module. This repository contains the editable mainboard and module designs, schematics, firmware sources and…
247 parts9 - 6 layers51 × 47 mm

- 4 layers60 × 60 mm

- 6 layers70 × 70 mm

FoC Motor Controller
WeymenKoo/Motor-Controller
Technical notes from a full design cycle: idea → theory → schematic → simulation → layout → fab → bring-up plan.
212 parts - 4 layers186.9 × 129.8 mm

BLDC 4
ansh1113/e-bike-conversion-kit
A 4-layer PCB-based e-bike conversion kit featuring an STM32-based VESC ESC, power management circuits, wireless throttle, GSM, GPS, and more.
179 parts1
Questions
How big is the FOCdriver PCB?
It measures 52.1 × 55.6 mm and has 4 copper layers, 1.61 mm thick.
What parts does the FOCdriver use?
168 parts, built around the SN65HVD232D, AS5047D, DRV8323SRTAR and ME3121. 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.
Where can I download the FOCdriver KiCad files?
From the I-M-Robotics-Lab/Curl-Drive-Hardware repository on GitHub, at the commit this page was made from: the board is v1.0/FOCdriver.kicad_pcb and its schematic v1.0/FOCdriver.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the FOCdriver design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).