

Drone ESC
A custom 3-phase Brushless DC (BLDC) Electronic Speed Controller (ESC) designed in KiCad, intended for drone and robotics applications.
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 31
- Nets
- 46
- Pads
- 188
- Tracks, vias
- 819, 112
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 3 Aug 2026
- Updated
- 3 Aug 2026
Overview
Drone ESC is an open-source printed circuit board by Arpit192005, from the Arpit192005/Drone-ESC repository on GitHub. It is a 2-layer board with 31 parts on 46 nets, routed with 819 tracks and 112 vias.
It is built around the ATMEGA328P-MU and FAN7888M. Its parts include 6 transistors, 5 capacitors, 3 diodes, 3 connectors and 2 ICs. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.
Main components
2ATMEGA328P-MU
HVQFN-32(5x5)-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 23 2KB 32KB 8 Bit AVR Built-in FLASH VQFN-32(5x5) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontroller Units (MCUs/MPUs/SOCs)FAN7888M
SOIC-20-40℃~+125℃ 10V~20V 160uA 30ns 350mA 50ns 6 650mA IGBT、MOSFET Interleaved conduction protection、Dead-time control Three Phase SOIC-20 Gate Drivers ROHSonsemiGate Drivers
README
README.mdDrone ESC (Electronic Speed Controller) for Brushless DC Motors
A custom 3-phase Brushless DC (BLDC) Electronic Speed Controller (ESC) designed in KiCad, intended for drone and robotics applications. This project demonstrates the complete hardware implementation of a sensorless ESC using an ATmega328P microcontroller, a FAN7888 three-phase gate driver, and N-channel MOSFETs for power switching. The controller performs six-step commutation using Back-EMF (BEMF) zero-crossing detection, eliminating the need for Hall-effect sensors.
The project focuses on understanding the hardware architecture of a modern ESC rather than relying on off-the-shelf commercial solutions.
Project Overview
Electronic Speed Controllers are responsible for converting the battery's DC power into controlled three-phase power required to drive brushless motors. This ESC generates PWM signals, controls the gate driver, detects rotor position using Back-EMF sensing, and performs commutation to regulate motor speed.
Unlike brushed DC motors, BLDC motors require accurate switching of six MOSFETs based on rotor position. In this design, rotor position is estimated using the floating motor phase voltage rather than dedicated position sensors.
Features
- Sensorless BLDC motor control
- Six-step trapezoidal commutation
- ATmega328P based control
- FAN7888 three-phase high/low side gate driver
- Six external N-channel MOSFETs
- Back-EMF zero-crossing detection
- PWM motor speed control
- ISP programming interface
- UART debugging interface
- External crystal oscillator
- AVR firmware compatible
Schematic
Complete ESC schematic designed in KiCad
Hardware Architecture
The ESC is divided into four major functional blocks.
+--------------------+
| ATmega328P MCU |
+---------+----------+
|
PWM & Commutation
|
▼
+--------------------+
| FAN7888 Driver |
+---------+----------+
|
High Side / Low Side Gates
|
▼
Six N-Channel MOSFETs
|
Three Motor Phases
A B C
▲
|
Back EMF Divider Network
|
▼
ATmega328P ADCMain Components
| Component | Purpose |
|---|---|
| ATmega328P | Main motor control MCU |
| FAN7888 | Three-phase gate driver |
| 2N7000 MOSFETs | Gate interface circuitry |
| Six Power MOSFETs | Motor phase switching |
| 16 MHz Crystal | MCU clock |
| BEMF Divider Network | Rotor position sensing |
| Bootstrap Capacitors | High-side gate drive supply |
| ISP Header | Firmware programming |
| UART Header | Debugging and testing |
Microcontroller Section
The controller is built around the ATmega328P, which executes the sensorless motor control firmware.
The microcontroller is responsible for:
- Initial motor startup
- PWM generation
- Six-step commutation
- Reading Back-EMF voltages
- Detecting zero-crossings
- Speed regulation
- Motor protection logic
- Communication through UART
The MCU uses:
- External 16 MHz crystal
- Reset circuit
- ISP programming connector
- UART connector
- ADC inputs for BEMF sensing
Gate Driver Section
The FAN7888 acts as the interface between the microcontroller and the power stage.
Since the ATmega328P cannot directly drive high-side MOSFETs, the FAN7888 generates the necessary gate voltages for both the upper and lower MOSFETs.
Responsibilities include:
- Level shifting
- Bootstrap gate drive
- High-side gate generation
- Low-side gate drive
- Fast gate charging/discharging
- Dead-time handling (firmware-assisted depending on implementation)
Driver Inputs
- HIN1
- HIN2
- HIN3
- LIN1
- LIN2
- LIN3
Driver Outputs
- HO1
- HO2
- HO3
- LO1
- LO2
- LO3
Power Stage
The ESC uses a standard three-phase inverter topology consisting of six N-channel MOSFETs.
Battery+
QH-A
|
Phase A ----+
|
QL-A
QH-B
|
Phase B ----+
|
QL-B
QH-C
|
Phase C ----+
|
QL-C
|
GroundEach motor phase contains:
- One high-side MOSFET
- One low-side MOSFET
The gate driver independently controls every MOSFET pair during commutation.
Sensorless Back-EMF Detection
Instead of Hall sensors, the ESC estimates rotor position by monitoring the voltage on the floating motor phase.
A resistor divider network scales the motor phase voltage to a level that the ATmega328P ADC can safely measure.
The firmware continuously monitors:
- Phase A
- Phase B
- Phase C
When the floating phase crosses the virtual neutral voltage (zero crossing), the MCU advances to the next commutation step.
Advantages:
- Lower cost
- Reduced wiring
- Smaller PCB
- Higher reliability
- No mechanical sensors
Commutation Sequence
The ESC performs six-step commutation.
| Step | High Side | Low Side | Floating |
|---|---|---|---|
| 1 | A | B | C |
| 2 | A | C | B |
| 3 | B | C | A |
| 4 | B | A | C |
| 5 | C | A | B |
| 6 | C | B | A |
The floating phase is monitored for Back-EMF zero crossing before advancing to the next state.
PWM Speed Control
Motor speed is controlled by varying the PWM duty cycle applied to the active MOSFETs.
Typical behavior:
- Low duty cycle → Low speed
- Medium duty cycle → Moderate speed
- High duty cycle → Maximum speed
PWM also improves efficiency and enables smooth speed control while minimizing switching losses.
Bootstrap Circuit
Bootstrap capacitors provide the voltage required to drive the high-side MOSFET gates above the battery supply.
These capacitors charge when the corresponding low-side MOSFET is active and supply the gate driver during high-side switching.
Firmware Responsibilities
The firmware running on the ATmega328P typically performs the following sequence:
- Initialize peripherals
- Configure timers for PWM
- Start open-loop commutation
- Accelerate motor
- Begin Back-EMF sampling
- Detect zero crossing
- Switch to closed-loop commutation
- Continuously regulate motor speed
- Monitor fault conditions
Design Highlights
- Modular schematic organization
- Dedicated microcontroller section
- Independent motor driver stage
- Separate Back-EMF sensing network
- AVR ISP programming support
- UART debugging interface
- Suitable as a learning platform for BLDC control algorithms
Applications
- Multirotor drones
- Fixed-wing UAV propulsion
- RC aircraft
- Ground robots
- Educational BLDC motor control
- Robotics research
- Embedded systems learning
Future Improvements
This schematic provides the core ESC functionality, but several additions would be expected in a production-ready design:
- Higher-current power MOSFETs with appropriate thermal design (the shown 2N7000 devices are not suitable as the main motor power switches for a drone ESC).
- Battery voltage and current sensing for telemetry and protection.
- Over-current, over-temperature, under-voltage, and stall protection.
- TVS diodes and improved EMI filtering for electrical robustness.
- Optimized PCB layout with wide copper pours, short gate-drive traces, and proper decoupling.
- Support for digital control protocols such as DShot in addition to PWM.
- Integration with open-source firmware such as BLHeli or custom sensorless control firmware.
Repository Structure
Drone-ESC/
│
├── Hardware/
│ ├── Schematic/
│ ├── PCB/
│ └── BOM/
│
├── Firmware/
│ ├── Source/
│ ├── Drivers/
│ └── Configuration/
│
├── Images/
│ └── ESC_Schematic.png
│
├── Documentation/
│ ├── Design_Notes.md
│ └── Hardware_Architecture.md
│
├── LICENSE
└── README.mdLicense
This project is intended for educational and research purposes. Contributions, improvements, and discussions are welcome.
Parts
31| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 2N7000 | Package_TO_SOT_THT:TO-92_Inline | Q1, Q2, Q3, Q4, Q5, Q6 |
| 5 | 100 | Resistor_SMD:R_Array_Concave_4x0402 | RN1, RN3, RN4, RN5, RN6 |
| 4 | SolderJumper_2_Open | Jumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mm | JP1, JP2, JP3, JP4 |
| 3 | 4u7 | Capacitor_SMD:C_0201_0603Metric | C3, C4, C5 |
| 3 | D_Schottky | Diode_SMD:D_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D1, D2, D3 |
| 1 | 100N | Capacitor_SMD:C_0201_0603Metric | C2 |
| 1 | 10K | Resistor_SMD:R_0805_2012Metric | R1 |
| 1 | 16MHz | Crystal:Crystal_SMD_EuroQuartz_MJ-4Pin_5.0x3.2mm_HandSoldering | Y1 |
| 1 | ATmega328P-M | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm | U1 |
| 1 | AVR-ISP-6 | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical_SMD | J1 |
| 1 | C | Capacitor_SMD:C_0201_0603Metric | C1 |
| 1 | Conn_01x04_Pin | Connector_PinHeader_1.00mm:PinHeader_1x04_P1.00mm_Vertical | J2 |
| 1 | Conn_01x06_Pin | Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Vertical | J3 |
| 1 | FAN7888 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U2 |
| 1 | R_Pack04 | Resistor_SMD:R_Array_Concave_4x0402 | RN2 |
Questions
What parts does the Drone ESC use?
31 parts, built around the ATMEGA328P-MU and FAN7888M. 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 Drone ESC KiCad files?
From the Arpit192005/Drone-ESC repository on GitHub, at the commit this page was made from: the board is drone esc.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Drone ESC design in my own project?
Its repository states no licence, so its author keeps all rights: ask Arpit192005 before reusing the design.
Similar boards
- 2 layers65 × 35 mm

- 2 layers75 × 75 mm

- 2 layers89.4 × 66.9 mm

E foc
embedded-pro/e-foc-hardware
hardware to be used with https://github.com/embedded-pro/e-foc
186 parts - 2 layers85 × 17 mm

- 2 layers148.1 × 37.1 mm

- 2 layers34.3 × 26.7 mm

- 2 layers47 × 47 mm

- 2 layers49.4 × 43.7 mm

Chaos papagali
Pakequis/Chaos_papagali
A annoying device that imitates the vibration of a phone
41 parts2MIT