In this post, I will take a look at the various factors you must consider while choosing an ESC for your quadcopter. The importance of the ESCs is often underestimated, but they can make a significant difference in the thrust you get from your motors, efficiency, as well as overall flight performance. This post will mostly be geared toward those building mini quads but a similar process is applicable to bigger multirotors as well.
- Current handling (continuous and burst) – This tells you how much current the ESC can handle continuously, and the absolute maximum it can take (and for what duration). A common question people have is – my motor draws only xx Amps so can I use an ESC rated more than that? The answer is that you could even use a 100A ESC and the motor would be fine (though the ESC would weigh a ton). This is because the ESC does not force current into the motor. Rather, it just needs to be able to handle the current the motor is pulling. Normally, you would check the maximum current your motors can draw and use an ESC that is rated slightly higher than that. However, on most mini quads these days we are running motors that draw upwards of 25 Amps on 20A ESCs. This is due to a combination of factors. Firstly, the current draw of motors measured in static thrust tests is usually higher than what it actually is in the air. Secondly, you usually won’t be hitting full throttle (max current draw) for very long, so you should be within the burst rating. The best thing to do here is to take a look at RC forums and see whether someone is successfully running the same motor/prop/ESC combo as you.
- The processor – ESCs generally use one of two families of microprocessors – Atmel and Silabs. The processor determines what firmware you can run (which I will come to next) and also affects the performance of the ESC. It is generally accepted that SiLabs ESCs perform better. However, even amongst SiLabs based ESCs there are different processors being used – usually either the F330 or one from the F39x series. The F330 is slower than F39x processors and may have some issues with higher kv motors and high motor refresh rates. Also, if you want to run newer protocols like Oneshot42 or Multishot, an F39x ESC is a better option. There are some 32-bit STM32 based ESCs showing up now as well. I have a set of the VGood Firefly 30A ARM ESCs on the way which I will be reviewing soon.
- Firmware (and bootloader) – The 2 main firmwares for ESCs are SimonK and BlHeli. Atmel processors can run both of these but SiLabs can run only BLHeli. The main advantage of BLHeli is that it offers a convenient GUI for configuring parameters such as damped light (active braking) and motor rotation (which means you can solder your motors in any way and change the direction later if required). SimonK requires you to recompile and flash the source code if you want to enable active braking or even Oneshot. BlHeli is also supposed to perform better. However, SimonK is slightly easier to set up and get working, compared to BlHeli which has more parameters to adjust. One thing that often causes confusion is the bootloader on the ESCs. The bootloader is not the same as firmware. It is possible to have an ESC with BLHeli firmware but SimonK bootloader. The table below summarises the possible processor/ bootloader/ firmware combinations an ESC can have. To use Cleanflight/ Betaflight passthrough (which lets you program ESCs through your flight controller), you MUST have the BlHeli bootloader. Many ESCs that are advertised as BLHeli often come with a SimonK bootloader so watch out! Changing the boot loader usually requires you to cut open the ESC heatshrink, and flash the bootloader over the programming pads (if the ESC has them) or directly to the pins on the chip.
- Weight and size – For mini quads, you generally want to keep the ESCs as light and small as possible. You may have to make compromises here as some top performing ESCs like the XRotor 20A and 40A are very big and heavy but light ESCs like the FVT Little Bees have a slower F330 processor.
- Other features – You generally want ESCs that support damped light (active braking) and Oneshot125. Dedicated gate drive ICs are a bonus. (Cheaper ESCs use transistors to drive the FET gates. Using a dedicated gate driver improves braking). Another thing that improves performance (which only a few ESCs have now) is hardware PWM output to the FET gates. Quad McFly at RCGroups explains what this is very well in this post.
Special note: KISS ESCs:
The KISS (Keep It Super Simple) ESCs are supposed to be excellent performers. They run their own firmware which, as the name suggests, does not require as much configuration as BLHeli. The original KISS 18A ESCs are infamous for catching fire regularly. This is supposedly because they are extra sensitive to bad PIDs, which causes micro oscillations that lead to higher power draw. However, new KISS 24A ESCs have been released recently and boast an impressive range of features – including a 32-bit processor, Oneshot42 support, voltage and current sensing (and telemetry) built in to the ESCs and configurable temperature and current cutoffs to protect them. They also generate a bit more thrust than other ESCs like the Little Bee and are supposed to perform well in the air overall. Take a look at this excellent post on the KISS 24A ESCs.
So which ESC would I recommend right now? If price is not a concern, the UBAD Angry Beast ESCs are an excellent choice since they have an F39x processor, dedicated gate drivers, excellent current handling etc. The new DYS XM20A are a cheaper F39x option and seem to perform quite well. Note that there is a V1 and V2 of the XM20A. V1 has solder pads to connect the motor whereas V2 has the standard silicone wires. The yet to be released FlyColor Raptor Pro should be an interesting option since FlyColor is supposedly the OEM for the Angry Beasts. The ZTW Spider Pro HV ESCs also seem like solid performers. If you do not plan on running high kv motors or protocols like Multishot, ESCs like the FVT Little Bee, Flycolor Raptor, or ZTW Spider Pro are all good F330 based offerings. If you are in the USA and are planning to get the Little Bees, I would suggest you buy them from MultiRotorMania as they were the ones who helped design and bring it to the market. In India, these ESCs are available at RCHyper. UPDATE: There is a new Little Bee 20A Pro available which is essentially the LB20A updated with an F396 processor. The XRotor 40A and 20A ESCs have incredible performance but are huge, weigh much more than the other ESCs I mentioned, and are tricky to flash BLHeli to. These are also available at RCH
Update (July 2016): BLHeli_S
Recently a new generation of ESCs has come out labelled BLHeli_S. This refers to both the hardware and the firmware as the ESCs run a special version of the BLHeli firmware, starting from version 16.0 (16.2 is the latest stable version at the time of writing). This runs on ESCs based on the EFM8BB10F8 (BB1) and EFM8BB21F16 (BB2) microcontrollers. They are able to generate hardware PWM, offering the smoothness of KISS with the configurability of BLHeli, as they can be programmed through the regular BLHeliSuite, even via FC passthrough. These ESCs support, and can auto-detect all popular ESC protocols: Oneshot125, Oneshot42 and Multishot. You no longer need to flash separate firmware for Multishot and OS42 is no longer limited to KISS with these. The BB1 runs at 24 MHz, limiting update rates, especially on high kv motors while the BB2 is faster, running at 48 MHz. I will soon post a separate article with a compilation of BLHeli_S ESCs, their pros and cons and any known issues with them.