

HOLY ESC
An open-source closed loop ESC PCB / Hardware platform. Based on a STM32F051 (Cortex M0 based) MCU. Tested using AM32 ESC software.
- Size
- 64.9 × 39.2 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 81
- Nets
- 61
- Pads
- 260
- Tracks, vias
- 444, 445
- Pours
- 14
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 5 Jun 2026
- Updated
- 5 Oct 2026
Overview
HOLY ESC is an open-source printed circuit board by 0BAB1, from the 0BAB1/HOLY_ESC repository on GitHub. It is a 4-layer board of 64.9 × 39.2 mm with 81 parts on 61 nets, routed with 444 tracks and 445 vias.
It is built around the STM32F051K8U6, DRV8300DPWR-MS and TPS62932DRL, with the MCP1703-3302E/DB, CL31A106KBHNNNE and RT0603BRD0710KL among its other parts. Its parts include 31 capacitors, 23 resistors, 7 connectors, 6 transistors and 4 ICs. It belongs with the robots and motor control boards and the STM32 boards of this library.
Main components
12STM32F051K8U6
UFQFPN-32(5x5)-40℃~+85℃ 12bit 12bit 27 2V~3.6V 32 Bit 48MHz 64KB 8KB ARM Cortex-M0 Built-in FLASH UFQFPN-32(5x5) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)DRV8300DPWR-MS
TSSOP-20TSSOP-20 Gate Drivers ROHSMSKSEMIGate DriversTPS62932DRL
SOT-5x3-8-40℃~+150℃@(TJ) 1 12uA 2.2MHz 2A 3.8V~30V 800mV~22V Adjustable Buck Buck Built-in Yes SOT-5x3-8 DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersMCP1703-3302E/DB
SOT-223-3-40℃~+125℃@(Tj) 1 16V 250mA 2uA 3.3V 44dB@(100Hz) 525mV@(250mA) Fixed Over Current Protection、Over Temperature Protection、Short Circuit Protection Positive SOT-223-3 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSMicrochip TechnologyVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsCL31A106KBHNNNE
120610uF 50V X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSSamsung Electro-MechanicsMultilayer Ceramic Capacitors MLCC - SMD/SMTRT0603BRD0710KL
0603-55℃~+155℃ 100mW 10kΩ 75V Thin Film Resistor ±0.1% ±25ppm/℃ 0603 Chip Resistor - Surface Mount ROHSYAGEOChip Resistor - Surface MountCL21B105KBFNNNE
08051uF 50V X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSSamsung Electro-MechanicsMultilayer Ceramic Capacitors MLCC - SMD/SMTHY1904C2
PPAK-8L(5x6)-55℃~+150℃ 1 N-channel 195pF 2.391nF 3V 40V 48W 65A 7mΩ@4.5V N-Channel PPAK-8L(5x6) MOSFETs ROHSHUAYIMOSFETsFRC0603F1001TS
0603-55℃~+155℃ 100mW 1kΩ 75V Thick Film Resistor ±1% ±100ppm/℃ 0603 Chip Resistor - Surface Mount ROHSFOJANChip Resistor - Surface MountYLED0603R
0603-40℃~+85℃ 1.8V~2.4V 120mcd 120° 25mA 620nm~625nm Discrete Diode Red 0603 LED Indication - Discrete ROHSYONGYUTAILED Indication - DiscreteMNR6045T120MT
SMD,6x6mm12uH 2.4A 3A 58mΩ ±20% SMD,6x6mm Power Inductors ROHSMetalLionsPower InductorsFRC0603F1403TS
0603-55℃~+155℃ 100mW 140kΩ 75V Thick Film Resistor ±1% ±100ppm/℃ 0603 Chip Resistor - Surface Mount ROHSFOJANChip Resistor - Surface Mount
README
readme.mdHOLY ESC
My effort to bring an open source, closed loop ESC to life.
From hardware to firmware.

This image was edited using AI to remove stickers that were bloating the image.

You can order the FULL BUILD in a couple of click right : (Todo : add link once project post is approved)
[!NOTE]
This ESC was featured in one of my youtube videos. You may be searching for the AtMega based firmware and perfboard BOM / Schematics. I did not put these here as the design worked but is not reliable. You can open an issue if you really want it and I'll add it to some "deprecated" folder in the repo.
THE PROJECT
The HOLY ESC is a BACK EMF based ESC, theorically able to be loaded up to 25Amps and more. But it serve educational purupses and has not be stress tested for any applications yet.
It was designed on KiCad 9 and aims at using cheap components to make the design accessible to all.
This design target drones and is planned to be tested on such applications soon.
Here are views of the PCB layers:




Usage
Hardware
The hardware folder contains the KiCad9 files that you can open and modify as you like for your own needs, as long as you respect the project licence at the root of this repo.
Software
The sofware part is a bit more tricky.
If you get the board manufactured, you will need to load a firmware on it. In this repo, I distribute AM32 binaries made specifically for this ESC.
Here is the procedure to start spinning a motor:
1. Connect the HOLY ESC to your host PC
First you'll need to connect the ESC's STM32 to a host computer.
So you'll need :
- A 15V or so power supply to power the board.
- A Stlink V2 (or any clone should work as long as it has SWD)
- Download STM32CUBE programmer software
So connect the ESC to your power supply on the dedicated pads (Labeled "+" and "-" on the back of the PCB), I suggest limiting max current to 1 Amp in case a fault arises. Red LEDS should turn on, indicating a good supply of voltage into the board.

Connect the ESC SWD headers to you STLINK

And plug it into you computer.
Launch STMCUBE Programmer, click connect and it should recognze the MCU on the ESC board.
At this point you can also connect a BLDC motor on the 3 phases pads using solder (labeled A; B & C on the back of the board).
2. Load the Firmware (EASY WAY)
Once everythoing is wired up correctly...
Use STM CUBE Programmer software (or st-flash fo cli) to prgogram the <repo>/software/holy_esc_firmware_am32.bin binary on the MCU (which is a STM32F051K8U6) @ base address 0x08000000.
This binary contains the AM32 build, along side the bootloading code and the eeprom.
2. Load the Firmware (DIY WAY)
If you decide to build the firmware from source to fit your need, asking a LLM to guide you through the AM32 targets.h modifs and from-source-building makes this process pretty easy.
Once you've got your build, you gotta flash it onto the MCU, alongside a bootloader and a eeprom data region.
The procedure to load these things is described there:
You can use STMCube's "Erasing and Programming" tab to select a binary and load it to a specified address. Just load each binary at the right address and you should be good to go.
To verify if you corecty modified a memory region, you can use the "Memory and File editing tab" to read a specific memory region, to check if it changed from the default values.
Bootloading and eeprom binaries are found in the page linked above. You will find the specific binary built for this specific board in ./software/
[!TIP]
If you are hardstuck on trying to lad a firmware, you can open an issue to get support.
Once the firmware is succesfully loaded, connect a BLDC motor to the phases pads (labeled A, B and C at the back of the PCB) using solder. Turn on your power supply (with STLINKV2 connected to PC or completely off the board to avoid asserting reset) and you should ear 3 beeps, indicating the motor is ready to armed !
Congratulations ! Now to spin a motor, you can use an arduino + voltage divider as a quick test, like I did in the video (use an LLM to write the arming sequence and speed command PWM generation) or use a servo tester / real flight controller.
[!INFO] Telemetry feedback and AM32 monitoring tools not tested yet
Future Work
- Replace the STM32F051 with a cheaper and more available package / version. (right now its 5+$ !!!! When I made the design it was like for 3-4$ MAX before going out of stock on LCSC)
- Add vias under the FETs as well. I did not initially did so to avoid assembly problems but adding a few vias on the mosfet pad should drastically increase Amperage tolerance.
Inspirations & Thanks
A big thank you to these actors, who were a great source of inspiration in my learning and designing process !
- The Engineering Techie
- Electronoobs
- 10x Aero
- AM32 Community and posts
Self Promotion
- The youtube channel which I featured this project on : BRH YOUTUBE
- My Blog : Blog Link
Parts
81| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 10u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C13, C18, C19, C22, C26, C27, C28, C29, C30, C31, C32, C33, C34 |
| 9 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2, C7, C14, C16, C23, C25, C35, C36, C37 |
| 8 | 10k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R4, R11, R12, R14, R16, R18, R19, R20 |
| 8 | 20 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2, R6, R7, R8, R9, R23, R24 |
| 6 | 1u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3, C4, C5, C8, C20, C21 |
| 6 | HY904C2 | esc:DFN-8_L5.9-W5.2-P1.27-LS6.2-BL | Q1, Q2, Q3, Q4, Q5, Q6 |
| 5 | 1k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R5, R13, R15, R17, R22 |
| 5 | ~ | esc:BatteryPad | J4, J5, J6, J7, J8 |
| 2 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1, J2 |
| 2 | RED | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D1, D2 |
| 1 | 10p | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C17 |
| 1 | 12u | Inductor_SMD:L_6.3x6.3_H3 | L2 |
| 1 | 140k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R3 |
| 1 | 1k2 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R10 |
| 1 | 33n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C15 |
| 1 | 470R@100Mhz | Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | FB1 |
| 1 | DRV8300DPWR | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U1 |
| 1 | LOGO | esc:lys_small | G*** |
| 1 | LOGO | esc:kicad | G*** |
| 1 | LOGO | esc:pcbway_small | G*** |
| 1 | MCP1703-3302E/DB | Package_TO_SOT_SMD:SOT-223 | U4 |
| 1 | STM32F051K8U6 | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm | U2 |
| 1 | TPS62932 | Package_TO_SOT_SMD:SOT-583-8 | U3 |
| 1 | TestPoint | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | TP1 |
The 79 most common of 81 parts.
Similar boards
- 4 layers230 × 84.9 mm

- 4 layers66 × 61.8 mm

10X ESC V1
10x-Aero/ESC-Development-Board
A 6S AM32-compatible ESC built as a proof of concept for learning how to design an ESC from scratch
98 parts77 - 8 layers100 × 60 mm

YAMMU ControlBoard v05
Zergie/YAMMU
A Multi Material Unit (MMU) for eight filaments that can also function as a filament dryer and can keep it dry while printing. The design is heavily inspired by voron and their printers.
234 parts107GPL-3.0 - 6 layers98.6 × 88 mm

- 4 layers358 × 40 mm

Longboi
KungfuPancake/longboi
Possibly the longest controller board to control the BoxTurtle AFC
297 parts7Apache-2.0 - 2 layers54 × 85.7 mm

STEAMGal STM32F051Kx
WRansohoff/STEAMGal_Tetris
Try writing some 'tetris' firmware for a development board with a very small display, a buzzer, and a few buttons. That should introduce a few core peripherals.
63 partsMIT - 2 layers

- 4 layers150 × 100 mm

Project63 BMS DaughterBoard
JacobParent7/FSAE_LSU_BMS
Distributed BMS designed for FSAE around the STM32 microcontroller and BQ79616/BQ79614/BQ79612 precision battery monitor, balancer and integrated protector.
170 parts13
Questions
How big is the HOLY ESC PCB?
It measures 64.9 × 39.2 mm and has 4 copper layers, 1.6 mm thick.
What parts does the HOLY ESC use?
81 parts, built around the STM32F051K8U6, DRV8300DPWR-MS, TPS62932DRL and MCP1703-3302E/DB. 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 HOLY ESC KiCad files?
From the 0BAB1/HOLY_ESC repository on GitHub, at the commit this page was made from: the board is hardware/ESC_PCB_REVC/HOLY_ESC.kicad_pcb and its schematic hardware/ESC_PCB_REVC/HOLY_ESC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the HOLY ESC design in my own project?
Its repository states no licence, so its author keeps all rights: ask 0BAB1 before reusing the design.