Skip to the content
4 layers50 × 50 mmSimpleFOC Dual Motor Controller, the printed circuit board in 3D

SimpleFOC Dual Motor Controller

Brendanofawesome/SimpleFOC-DualESC1

High-performance dual BLDC motor driver with FOC (Field-Oriented Control) algorithm support, designed for applications requiring precise motor control with simultaneous dual-motor operation.

Size
50 × 50 mm
Copper layers
4
Thickness
1.55 mm
Parts
130
Nets
95
Pads
492
Tracks, vias
1,072, 645
Pours
54
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Oct 2026
Updated
6 Nov 2026

Overview

SimpleFOC Dual Motor Controller is an open-source printed circuit board by Brendanofawesome, from the Brendanofawesome/SimpleFOC-DualESC repository on GitHub. It is a 4-layer board of 50 × 50 mm with 130 parts on 95 nets, routed with 1,072 tracks and 645 vias.

It is built around the DRV8323HRTAT, H5VND5UB and XC6206P332MR-G, with the XRS100N06LD, 1N5819WS and H5VL10B among its other parts. Its parts include 44 resistors, 34 capacitors, 13 transistors, 7 diodes and 7 connectors. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

12

README

README.md

SimpleFOC Dual ESC

This repository contains the hardware design files for a compact dual-motor BLDC controller built around the SimpleFOC ecosystem.
The board is designed to run two 3-phase motors independently with field-oriented control (FOC) using an STM32G4 microcontroller.

What the device does

The controller takes a single high-voltage DC input and drives two BLDC motors through two independent 3-phase power stages.
Each motor stage uses a dedicated gate driver and current-sense path so firmware can regulate torque/current, speed, and position.

At a high level, the board:

  • Converts a DC supply (up to 36 V, per current spec draft) into PWM-driven 3-phase outputs for Motor 1 and Motor 2
  • Uses dual DRV8323-based driver stages for 6-PWM control of each motor
  • Measures phase/motor current for closed-loop control and protection
  • Interfaces with Hall sensors for rotor position feedback
  • Exposes control/debug interfaces including I2C, SPI headers, USB-C, reset, and programming pins

Hardware highlights

  • MCU: STM32G474CBTx (FOC-capable Cortex-M4)
  • Power input: XT60 connector footprint, board marked 36V MAX
  • Motor outputs: Two MR60 3-phase motor connectors
  • Board outline: 50 mm × 50 mm (from KiCad PCB edge cuts)
  • Power stage: Dual 3-phase inverter architecture (6 MOSFETs per motor stage)

Repository layout

  • specifications.md
    Project specification draft (electrical, control, thermal, and interface targets).
  • KiCad/simpleFOC Dual Motor Controller.kicad_pro
    Top-level KiCad project.
  • KiCad/simpleFOC Dual Motor Controller.kicad_sch
    Top-level schematic with MCU, power, interfaces, and two motor-driver hierarchical sheets.
  • KiCad/DriverStage.kicad_sch
    Per-motor driver stage (reused for Motor Driver 1 and Motor Driver 2).
  • KiCad/simpleFOC Dual Motor Controller.kicad_pcb
    PCB layout and silkscreen connector labels.

Current status

This repo currently provides hardware design and specification files.
Firmware implementation and full bring-up documentation are not yet included here.

Parts

130
QtyValueFootprintReferences
21100kResistor_SMD:R_0402_1005MetricR110, R111, R112, R203, R204, R205, R206, R207, R208, R209, R210, R211, R214, R215, R216, R220 +5
1447kResistor_SMD:R_0402_1005MetricR101, R102, R103, R104, R105, R106, R223, R301, R302, R401, R402, R501, R502, R601
12XRS100N06LDeasyeda2kicad:DFN-8_L3.0-W3.0-P0.65-BL-4Q301, Q302, Q401, Q402, Q501, Q502, Q701, Q702, Q801, Q802, Q901, Q902
1110uCapacitor_SMD:C_1206_3216MetricC108, C109, C110, C117, C118, C119, C120, C121, C301, C401, C501
9100nCapacitor_SMD:C_0402_1005MetricC103, C104, C106, C107, C113, C201, C205, C206, C209
60.002Resistor_SMD:R_2512_6332MetricRsns101, Rsns102, Rsns103, Rsns301, Rsns401, Rsns501
6NetTie_2CustomNetTie:NetTie0.127mmNT201, NT202, NT203, NT204, NT205, NT206
51uCapacitor_SMD:C_0402_1005MetricC105, C112, C114, C204, C210
5MountingHoleeasyeda2kicad:JLC_Tooling_HoleH101, H102, H103, H104, H107
31N5819WSDiode_SMD:D_SOD-323D102, D104, D107
218kResistor_SMD:R_0402_1005MetricR201, R213
21uCapacitor_SMD:C_0603_1608MetricC202, C207
23.3kPCM_SparkFun-Resistor:R_0402_1005MetricR109, R113
24.7uCapacitor_SMD:C_0402_1005MetricC102, C115
247nCapacitor_SMD:C_0603_1608MetricC203, C208
275kResistor_SMD:R_0402_1005MetricR202, R212
2Conn_01x06Connector_JST:JST_PH_B6B-PH-K_1x06_P2.00mm_VerticalJ103, J104
2DRV8323HRTATeasyeda2kicad:WQFN-40_L6.0-W6.0-P0.50-TL-EP4.2U201, U202
2H5VL10Beasyeda2kicad:SOD-882_L1.0-W0.6-BID103, D105
2MR60-Feasyeda2kicad:CONN-TH_3P-P5.50_MR60-FCN201, CN202
2TS-1088-AR02016easyeda2kicad:SW-SMD_L3.9-W3.0-P4.45SW101, SW102
110nCapacitor_SMD:C_0402_1005MetricC111
1220nCapacitor_SMD:C_0402_1005MetricC116
1220ueasyeda2kicad:CAP-TH_BD8.0-P3.50-D0.6-FDC101
1330Resistor_SMD:R_0402_1005MetricR114
15.1kResistor_SMD:R_0402_1005MetricR108
15.1kPCM_SparkFun-Resistor:R_0402_1005MetricR107
1AO3400Aeasyeda2kicad:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BRQ101
1Conn_01x04Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ101
1H5VND5UBeasyeda2kicad:SOD-523F_L1.7-W0.9-LS1.7-RDU104
1LEDLED_SMD:LED_0603_1608MetricD106
1MountingHoleMountingHole:MountingHole_2.2mm_M2H105
1SMAJ36ADiode_SMD:D_SMAD101
1STM32G474CBTxPackage_QFP:LQFP-48_7x7mm_P0.5mmU103
1USB-TYPE-C-019easyeda2kicad:TYPE-C-SMD_HX-TYPE-C-16PINJ105
1XC6206P332MReasyeda2kicad:SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BRU101
1XT60PB-F.G.Yeasyeda2kicad:CONN-TH_XT60PB-F.G.YCN101

Similar boards

  • 4 layers46.6 × 47.9 mmDrake 10b, the printed circuit board in 3D

    Drake 10b

    Reisi/Drake

    The Drake hardware is a multi-purpose PCB which can be used to build a wireless dropper post actuator or a rear light.

    173 parts1BSD-2-Clause
  • 2 layers49 × 67 mmCalliope mirror heater, the printed circuit board in 3D

    Calliope mirror heater

    openUC2/TechnicalDocs-openUC2-HoloBox

    This is the holographic box for openUC2

    67 parts5
  • 4 layers300 × 200 mmFreyja gcs pcb, the printed circuit board in 3D

    Freyja gcs pcb

    aesirkth/freyja-gcs

    freyja ground control station

    306 parts
  • 4 layers60 × 15.7 mmHV Optoisolator, the printed circuit board in 3D

    HV Optoisolator

    MECSEM/electrical

    All the electrical designs for MECSEM.

    37 partsGPL-3.0
  • 4 layers57.4 × 49.9 mmPhoniesp32, the printed circuit board in 3D

    Phoniesp32

    butzist/phoniesp32

    A kid-friendly jukebox powered by the ESP32

    82 parts11MIT
  • 4 layers60 × 73.5 mmAnthracite bottom, the printed circuit board in 3D

    Anthracite bottom

    trope-oshw/anthracite

    MIDI-controllable fuzz pedal: open hardware (CERN-OHL-S-2.0), firmware (GPL-3.0-or-later)

    224 parts5CERN-OHL-S-2.0
  • 4 layers87 × 107.4 mmSl v4, the printed circuit board in 3D

    Sl v4

    jackw01/scanlight

    A better light source for scanning color negative film

    154 parts397CERN-OHL-W-2.0
  • 4 layers217 × 139 mmPanel 3x3, the printed circuit board in 3D

    Panel 3x3

    Roboy/iceboard

    next level motorboard

    1,341 parts4BSD-3-Clause

Questions

How big is the SimpleFOC Dual Motor Controller PCB?

It measures 50 × 50 mm and has 4 copper layers, 1.55 mm thick.

What parts does the SimpleFOC Dual Motor Controller use?

130 parts, built around the DRV8323HRTAT, H5VND5UB, XC6206P332MR-G and XRS100N06LD. 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 SimpleFOC Dual Motor Controller KiCad files?

From the Brendanofawesome/SimpleFOC-DualESC repository on GitHub, at the commit this page was made from: the board is KiCad/simpleFOC Dual Motor Controller.kicad_pcb and its schematic KiCad/DriverStage.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SimpleFOC Dual Motor Controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask Brendanofawesome before reusing the design.