Skip to the content
4 layers64.9 × 39.2 mmHOLY ESC, the printed circuit board in 3D

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

12

README

readme.md

HOLY ESC

My effort to bring an open source, closed loop ESC to life.

From hardware to firmware.

Holy ESC banner

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

HOLY ESC SCH

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:

L1

L2

L3

L4

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.

plugged img

Connect the ESC SWD headers to you STLINK

SWD plugging

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:

https://github-wiki-see.page/m/AlkaMotors/AM32-MultiRotor-ESC-firmware/wiki/Memory-Layout-for-flashing-with-a-St-link?utm_source=chatgpt.com

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 !

Self Promotion

Parts

81
QtyValueFootprintReferences
1410uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1, C13, C18, C19, C22, C26, C27, C28, C29, C30, C31, C32, C33, C34
9100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C7, C14, C16, C23, C25, C35, C36, C37
810kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R11, R12, R14, R16, R18, R19, R20
820Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R6, R7, R8, R9, R23, R24
61uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C4, C5, C8, C20, C21
6HY904C2esc:DFN-8_L5.9-W5.2-P1.27-LS6.2-BLQ1, Q2, Q3, Q4, Q5, Q6
51kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5, R13, R15, R17, R22
5~esc:BatteryPadJ4, J5, J6, J7, J8
2Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J2
2REDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD1, D2
110pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC17
112uInductor_SMD:L_6.3x6.3_H3L2
1140kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
11k2Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10
133nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC15
1470R@100MhzInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderFB1
1DRV8300DPWRPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU1
1LOGOesc:lys_smallG***
1LOGOesc:kicadG***
1LOGOesc:pcbway_smallG***
1MCP1703-3302E/DBPackage_TO_SOT_SMD:SOT-223U4
1STM32F051K8U6Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mmU2
1TPS62932Package_TO_SOT_SMD:SOT-583-8U3
1TestPointConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP1

The 79 most common of 81 parts.

Similar boards

  • 4 layers230 × 84.9 mmDrunkDashboard v2, the printed circuit board in 3D

    DrunkDashboard v2

    drunkbatya/DrunkDashboard

    STM32 powered pixel automotive dashboard

    223 parts1GPL-3.0
  • 4 layers66 × 61.8 mm10X ESC V1, the printed circuit board in 3D

    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 mmYAMMU ControlBoard v05, the printed circuit board in 3D

    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 mmSympetrum V3 FF3, the printed circuit board in 3D

    Sympetrum V3 FF3

    borgel/sympetrum-v3

    The Dragonfly badge as seen at DEFCON26

    134 parts21
  • 4 layers358 × 40 mmLongboi, the printed circuit board in 3D

    Longboi

    KungfuPancake/longboi

    Possibly the longest controller board to control the BoxTurtle AFC

    297 parts7Apache-2.0
  • 2 layers54 × 85.7 mmSTEAMGal STM32F051Kx, the printed circuit board in 3D

    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 layersMacropad, the printed circuit board in 3D

    Macropad

    moonbeeper/moonpad

    109 partsMIT
  • 4 layers150 × 100 mmProject63 BMS DaughterBoard, the printed circuit board in 3D

    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.