The Open Source Drone BLDC Motor Controller

Similar projects worth following
A very simple BLDC motor controller revolving around the PAC5223 MCU, a few FETs and some passives. Since the PAC5223 has most of the circuitry required to drive a BLDC motor in either sensored or sensorless mode, it is a very nice platform to generate motor drives and such. In this project I detail how the PAC5223 is used to drive drone BLDC motors while using a BEMF sensorless algorithm, with up to 15A of loading current and 16V of input voltage. That is about 240W!

The Tiny BLDC board measures 1.3" x 0.9" (33 mm x 23 mm). The reason why we can make a BLDC motor driver so small is because PAC5223 has pretty much all the circuitry required to drive the power FETs. These components are:

  1. 3 phase pre drive power stage
  2. 3 comparators to sense BEMF crossing (Tiny BLDC uses these. Tiny FOC does not need to.)
  3. 3 differential amplifiers to digitize current and protect against over current (Tiny BLDC uses 1, Tiny FOC uses 3)
  4. 10 bit ADC to digitize values such as currents, phase voltages and power supply voltage (we will use 1 to digitize battery voltage)
  5. Up to 14 PWM generators (of which we will use 6 to drive the 3 phase inverter, AKA H Bridge)
  6. Up to 14 timer Input Captures which can be used to digitize the RC PWM input (we will use 1 of these)
  7. Four timers (A, B, C and D) to perform timed functions such as control manager, accurate commutation, high speed BEMF Sampling, RC PWM input capture and decoding, and motor PWM generation).
  8. Dead time generators to ensure the H Bridge doesn't suffer from shoot through.
  9. Voltage regulators to supply all different loads.

In most ESC's out there, you will find a microcontroller, some voltage regulators, some pre drive ICs and then the FETs, along with a bunch of support passives. With the PAC5223 we have pretty much everything but the FETs.

These are the components (support passives) we still need to add:

  1. Bootstrap caps and diodes.
  2. gate drive resistors.
  3. Output pin protection diode and resistor (optional but recommended).
  4. SENSE resistor with filtering caps and resistor.
  5. Phase Outputs voltage divider resistors and filtering cap.
  6. MCU regulator caps and resistor.
  7. Battery voltage divider.

Schematic, Gerbers, BOM, etc. Tiny BLDC Build Files

x-zip-compressed - 715.80 kB - 03/23/2016 at 01:12


  • 1 × PAC5223 ARM M0 based SOC designed to drive 3 phase motor applications
  • 1 × BSC011N03LS Discrete Semiconductors / Power Transistors and MOSFETs

  • 1
    Step 1

  • 2
    Step 2

View all instructions

Enjoy this project?



Alec Foss wrote 08/07/2018 at 18:02 point

In the description you mention Tiny FOC, is that a FOC capable ESC?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates