In this article I will explain what an ESC is, and cover all the basics of ESC used in FPV drones (aka mini quad). Hopefully you will find this an informative guide for beginners getting into FPV or RC in general.
ESC stands for Electronic Speed Controller, and they control the speed of the motors in an FPV drone. The ESC receives throttle signals from the flight controller, and drives the brushless motor at the desired speed. Using good quality ESC’s means you should have a reliable and smooth flight experience, though of course, there are other factors to consider.
|I compiled the specification of all ESC’s for mini quad in this spreadsheet so you can compare them more closely.|
The first thing to look at when choosing ESC is the current rating, which is measured in Amps, therefore sometimes referred to as “amp rating”.
Amp rating is never too high, only too low.
It’s the limit on how many amps you can put an ESC through without breaking it, not how much current it pushes to the motors, so don’t worry about it being “too large”. Three things that tend to increase your current draw and put more stress on your ESC:
- Higher motor KV
- Larger motor size (stator width and height)
- Heavier propellers (length and pitch)
There are 2 current ratings to an ESC: continuous and burst. Continuous current rating indicates the maximum amount of continuous current which the ESC can safely handle. Even when racing, it is unlikely that you will use maximum throttle for extended periods, ESC’s are usually designed to withstand a higher current for short periods of time (e.g. a few seconds) and this is the “burst” current rating.
The only downside of a high amp rating ESC is usually being heavier and bigger because of the larger MOSFET they use, and more capacitors onboard for noise filtering. Hence they are more expensive too.
Realistically, a 50A rated ESC should be more than enough for any 5″ FPV drone, that’s 200A in total for 4 motors. I say that because of the limitation on the LiPo battery we use. For example a typical 6S 1300mAh won’t hold 150A for more than a few seconds (in average, less than 40A per motor), so there’s little to worry about breaking that 50A ESC due to excessive current. The only exception might be when the motors are obstructed and when you throttle up too fast, the voltage spikes and high current might cause damage, and high rated ESC will have a better chance to survive (adding extra low ESR capacitors to the power can also help).
How to test your current requirement
You can find out how much current a motor draws by testing it on a thrust stand, along with a power meter. Admittedly that’s a lot of hassle, that’s why there are many reviewers testing motors for us and publish the results online. Popular sources are:
What you want to look for, is the amp draw of the motor at 100% throttle, spinning the propeller of your choice (or similar size/pitch to the one you plan to use).
You can sometimes find this data on the product page but I find 3rd party tests more trustworthy.
It doesn’t hurt to leave some margin for error, but there is no need to go overboard. You can use an 30A ESC, or even 40A on something that only draws 20A of current, but it’s an overkill.
Thrust and Current Overstated in Thrust Tests
In static conditions, the propeller pushes more air than in flight, so on the bench your motor produces more thrust, with the greater load, it therefore draws more current. When the drone is flying forward (moving through “free air”), the load is actually smaller, so the amp draw is lower. In addition, the FC always leaves a little throttle headroom to stabilize the copter, so you will never actually see 100% of your motors capability.
Based on my personal experience, maximum amp draw is usually 20% to 30% lower in flight than in static testing.
When you draw current from LiPo battery, the voltage sags due to internal resistance. When you reach the discharge limit of the battery, the voltage would sags so much, it can no longer sustain the high current draw.
Learn more about internal resistance of LiPo batteries in this guide.
This is why for most 5″ builds using 4S 1300mAh – 1500mAh LiPo, 30A ESC are good enough for the most part, because LiPo this size can’t sustain 120A of current for very long (a few seconds at best). Most 4S 1500mAh batteries I’ve tested can’t even reach 100A maximum discharge rate.
If you are using larger batteries on a more powerful build, then you should consider higher rating ESC’s.
Using Larger ESC’s than Required
It’s completely okay to use larger ESC’s than required, downsides are the extra weight, size and cost. In fact there are advantages with higher current ESC’s, which are the lower chance of overheat and higher efficiency.
On an ESC, there are MOSFET (or FET) that basically do all the hard work handling high current. The FET’s are bigger and beefier on higher current ESC’s, and they don’t generate as much heat as the smaller ones, therefore they can be more energy efficient.
Some people prefer using larger ESC’s because of voltage spikes which are much higher than the battery voltage. The MOSFET’s in larger ESC’s usually have a higher voltage tolerance. This is especially popular in 6S builds.
You can also reduce the damage of voltage spikes by soldering extra capacitors in your quad.
SimonK and BLHeli
Two of the oldest open source ESC firmware for multirotors are SimonK and BLHeli.
Early ESC’s would come with primitive firmware written by manufacturers, so hobbyists tended to flash 3rd party firmware, such as SimonK or BLHeli for better performance. Later, BLHeli became the FPV industry standard and almost all ESC’s have it pre-installed.
BLHeli became popular due to its wide range of features and user-friendly interface. For more info about BLHeli and SimonK, here is a discussion comparing the two firmware. Anyway, SimonK has now become obsolete as it’s no longer being updated.
BLHeli_S firmware is the 2nd generation of the BLHeli firmware, developed specifically for ESC’s that have “Busybee” processors. The configurator has a much more simplified user interface. Aikon SEFM 30A and DYS XS series are early adopters of the updated BLHeli_S firmware.
The BLHeli_32 ESC firmware is the third and most recent generation of BLHeli. It’s written specifically for 32-bit ESC’s and it has gone closed source for this iteration. These more powerful processors allow for better future development, smoother, more precise and reliable performance than previous ESC’s.
Which ESC firmware you can install on the ESC, depends on the hardware, more specifically, the processor.
There are many settings in BLHeli_32 and they can be confusing. Discover what the best settings are for an FPV drone in this article.
The majority of multirotor ESC’s on the market use processors (micro-controller or MCU) from ATMEL, Silabs and ARM Cortex. The different MCU’s have different spec and features, and are supported by different firmware:
- ATMEL 8-bit compatible with both SimonK and BLHeli ESC firmware
- SILABS 8-bit supported by BLHeli or BLHeli_S only
- ARM Cortex 32-bit (e.g. STM32 F0, F3, L4) – can run BLHeli_32
ATMEL 8-bit ESC’s used to be more common before the ESC market was dominated by SILABS. ESC’s with Silabs chips tend to outperform 8-bit ATMEL generally in ESC performance. In 2016, 32-bit ARM Core MCU was introduced to ESC’s.
8-bit vs. 32-bit
BLHeli_S ESC uses 8-bit processors while BLHeli_32 uses 32-bit processors.
32-bit processors are certainly more powerful, allow for many new features that weren’t possible with the limited processing power and capability of the 8-bit counterpart. Features such as 96KHz and higher PWM Frequency, “ESC Telemetry”, onboard current sensor, programmable LED – just to name a few.
However, as of today (Apr 2022), 8-bit BLHeli_S ESC’s are still a very popular choice mainly due to its lower cost, while still offering many of the key features that are critical to flight performance such as RPM filter, DShot support, 48KHz Mode and so on.
BLHeli_32 ESC Processors
BLHeli_32 ESC basically use the same STM32 processor as our flight controller. Common processors are F0, F3 and F4 (being the fastest).
ESC with these different processors offer almost the exact same performance as of today. The main difference is the maximum PWM frequency. Faster processor offers higher PWM frequency.
To take full advantage of the new feature “variable PWM frequency by RPM” in BLHeli_32, smaller aircraft will definitely benefit from the higher PWM frequency of the faster F4 processor (up to 128KHz), because they usually have much higher RPM and the harmonics are of higher frequency. For larger drones such as 5″, the RPM is lower, usually 96KHz or even 48KHz would be enough, so the higher PWM frequency is a less important consideration.
Having the ability to run 128KHz has shown a 10% increase in efficiency in Chris Rosser’s testing.
SILABS F330 and F39X
These processors are used in BLHeli_S ESC.
Within SiLabs based ESCs, there are various processors of different performance, for example the 2 main ones being F330 and F39X (F390/F396).
F330 has a lower clock speed than F39X, and may have issues running high KV motors. The F39X doesn’t have these problems, and also supports Multishot ESC protocol and Oneshot42 perfectly. Two well known examples are the Littlebee 20A (F330) and DYS XM20A (F39X).
This is a BLHeli_S ESC Processor.
Busybee MCU is the upgrade to the F330 and F39X. If you have a BLHeli_S ESC right now, it’s likely to be a BusyBee chip. There are two BusyBee chips:
- BusyBee1 – EFM8BB10F8 (aka BB1)
- BusyBee2 – EFM8BB21F16 (aka BB2)
Instead of using software PWM (pulse width modulation), Busybee MCU have specific hardware that can generate a PWM signal that is synced with the duty cycle of the processor, resulting in much smoother throttle response. They also support DShot ESC Protocol, making them a low cost yet effective solution for today’s standard.
Examples of ESC’s that use these MCU’s would be the Aikon SEFM 30A and DYS XS30A.
8-bit MCU Performance Ranking
The overall performance ratings from best to worst:
ESC protocols determine how fast the signals can be sent from FC to ESC, which can have an impact on your quadcopter’s performance. The original (oldest) protocol is standard PWM, has delay up to 2ms, while the currently fastest Multishot has reduced latency down to only about 5-25uS.
Here is a list of current protocols used on quadcopters, from oldest to latest:
Check out this post to learn about ESC firmware and protocols. Not every ESC supports every protocol, make sure you check the specifications before you buy.
Support for Active Braking and Hardware PWM
There are a few key features in an ESC that make them perform great and are worth mentioning.
- Damped Light, a.k.a. Active Braking – Greatly improves responsiveness
- Hardware PWM – Improves smoothness and responsiveness, makes your quad noticeably quieter and slightly more efficient. It also allows for more fine control
- Dedicated gate driver – Cheaper ESCs use transistors to drive the FET gates, but using a dedicated gate driver improves active braking effectiveness
Size and Weight
For 4in1 ESC, there are 3 main sizes based on the mounting.
- 26.5×26.5mm (toochpick/whoop sizes)
The bigger 30x30mm boards are usually more durable and more powerful, also better for heat dissipation. Some 20x20mm boards are very powerful too, but the lack of physical space means they tend to use smaller FET, and there’s less room to put components on, so they tend to be less durable. 4in1 ESC weighs around 10-15g.
Single standalone ESC’s are now less common than 4in1 ESC these days. The only benefit is that they can be swapped out individually when damaged. That have fairly standard dimensions and weight these days, at around 4g – 6g each.
It’s becoming challenging to make ESC’s any smaller and lighter without sacrificing performance and cooling. You want to keep your mini quad as light as possible, however, ESC is probably not the best place to save weight.
Some ESC’s support input voltages up to 6S, some only support up to 4S. Make sure they are compatible with the LiPo voltage you plan to use. Powering your ESC with an excessively high voltage will fry them, and possibly your motors as well.
I’d recommend getting ESC that support 6S, even if you only want to use 4S. The price difference is small these days, and it’s more future proof in case you want to switch to 6S later on.
There are ESC’s that come with a built-in BEC (battery eliminate circuit) and have 5V output for powering your flight controller, radio receiver (RX) and other 5V components.
The ones that don’t have built-in BEC, are often referred to as “Opto” ESCs by marketers and manufacturers, despite this claim though, they don’t actually use opto-isolators.
An opto-isolator is an optical component that transfers signals using light. It basically separates the high voltage circuit from the low voltage circuit, and prevents rapidly changing voltages from damaging the electronics or interfering with the signals from the FC.
ESC’s that don’t have a BEC have the advantage of being lighter, smaller, and less noisy (since the motor control circuitry is optically isolated from the radio receiver and flight controller).
Without the 5V BEC however, your FC and RX will require a separate power source. (Note: ESC’s without a BEC don’t have the “red” servo wire, only the signal and ground wires)
BLHeli ESC Configurator
For BLHeli_32 users, you can only use BLHeliSuite_32 to flash and configure your ESC. However, BLHeliSuite only runs on Windows.
BLHeli_S is slightly more flexible as there is a 3rd party BLHeli Configurator that runs on Linux as well. But of course you can still use BLHeliSuite to flash and configure your ESC as usual. These two programs works for both BLHeli, BLHeli_S, but NOT BLHeli_32.
A convenient option is the 4-in-1 ESC, which is basically four ESC’s integrated into one single board of the same size as an flight controller, which you can stack together to make wiring much simpler and cleaner. However damaging one of the ESC’s means the retirement of the whole board. This is a trade off between risk and convenience.
4-in-1 ESC’s are also beneficial in terms of weight distribution, as the mass is more centralized there is less moment of inertia to the mini quad, which should improve responsiveness.
4in1 ESC is normally installed right under the flight controller, you have to take care of interference coming from the ESC, that could potentially affect your flight performance and video. An easy solution is to put a piece of shielding in between ESC and FC.
How to Connect ESC?
ESC is powered directly by LiPo battery, and motor speed is controlled by a signal from the flight controller.
The motors are connected to the ESC through 3 wires. The wire order doesn’t actually matter. If the motor spins the wrong direction, simply swap any two wires. You can also change the rotation direction setting in BLHeliSuite.
Here is a guide on how to reverse motor direction.
Single ESC Connection:
4in1 ESC Connection:
An ESC is made up of the following components:
- Micro Controller
- Gate Drivers
- Arrays of filtering capacitors
- Optional: Current Sensor
- Optional: LED
A 4in1 ESC basically has four ESC integrated on the same piece of PCB.
These are voltage regulators for converting voltage down to power the micro controller and other components.
Micro controller, or MCU, is the brain of an ESC, and stores the BLHeli firmware.
Gate drivers are used to drive the MOSFET’s in our ESC, and actually bring benefits to the performance. It’s connected to the gate of a MOSFET hence the name “gate driver”.
Older and Cheaper ESC’s use simple transistors to drive the MOSFET’s. Using dedicated gate drivers improves active braking effectiveness.
Instead of having separate gate drivers for the three motor phases, modern BLHeli_32 ESC uses the FD6288 IC chip by Fortior. One of these chips contains three independent MOSFET gate drivers in one single chip.
MOSFET are like switches, it switches the power on and off thousands of times per second, this is how the motors are driven.
ESC Name Brands
Popular, high performance and well-known ESC manufacturers for racing drones (in alphabetic order):
Sorry if I missed anyone, please remind me in the comments.
ESC Affects Thrust
Some ESC’s can generate slightly more thrust than others with the same setup (same motor, prop, voltage…).
From my early testing, there can be a discrepancy of up to 20% in thrust output between the most and least powerful ESC’s on the market. However that does not indicate the quality of the ESC, which can depend on many other factors: build quality, longevity, supported voltage range, smoothness, electrical noise level, etc… It all depends on what kind of flying you do.
Personally I would not worry about thrust too much, as all the latest ESC’s from the well known brands more or less provide similar level of power and performance nowadays.
Back in the days when we had multiple different firmware options, bootloader was an important aspect of flashing an ESC. Think of it as a small program you need to install on the ESC, to let you load and access it more easily.
Today we don’t even need to know what bootloader is, since new ESC’s always come with BLHeli firmware and BLHeli bootloader installed already. Users don’t normally need to worry about it. However here is some info for the curious.
Without the bootloader, you can only flash firmware or change ESC config by connecting directly to the processor chip. You can also install the bootloader while flashing firmware this way.
SimonK and BLHeli both have their own bootloaders. BLHeli bootloader offers more features and flexibility, making firmware flashing and configuration much easier. Initially we could flash firmware via the signal lead, using 1-wire interface. More recently “passthrough” became an option, which basically uses the flight controller as the programmer.
Please See our “Top 5 Best” articles to see which ESC we recommend for mini quad.
- Jul 2016 – Article created
- Aug 2017 – updated article with info about BLHeli_32 and 32-bit processors
- Feb 2020 – Updated info, added ESC anatomy and connection diagrams
- Apr 2022 – Added info about BLHeli_32 ESC processor