There are several types of ESC protocol and firmware available for quadcopter. In this article we will give a little history and explain the technical differences, but most importantly try and clear up some of the confusion beginners experience from such a wide selection.
When I started in the hobby, connecting an ESC to a flight controller was pretty straight-forward, but now there is much more to consider: ESC settings, protocols, firmware etc. All these options can be confusing and overwhelming for someone just starting out in this hobby.
The learning curve is a sheer cliff that needs to be climbed, so I hope this guide can give you an helping hand through some of the difficult sections.
Check out this guide about how to choose ESC for mini quad.
|I compiled the specification of all ESC’s for mini quad in this spreadsheet so you can compare them more closely.|
ESC firmware is the software running on every ESC, which determines the ESC’s performance, which protocols are supported, and what configuration interface can be used. The firmware that an ESC can use is dependent on the hardware.
Here is a list of the different ESC firmware available for mini quad:
Two of the earliest options for open source ESC firmware were SimonK and BLHeli, and these firmware were used on the majority of ESC’s until around 2015. Since then BLHeli has taken over the market due its more user-friendly interface and consistent development.
Check out the differences between BLHeli and SimonK.
As ESC technology continues to evolve, newer BLHeli firmware is being written specifically for the advances in hardware.
In 2016, BLHeli_S, as an upgrade to the BLHeli firmware, was developed for the BusyBee processors.
In 2017, the 3rd generation BLHeli, BLHeli_32, was created to take full advantage of the additional processing power available from 32-bit processors we are beginning to see on newer ESC’s.
Nowadays, all ESC’s come with firmware pre-installed, most commonly BLHeli_S or BLHeli_32 depending on the hardware, this should be clearly stated in the product description.
These days you don’t normally need to worry about changing firmware, because you don’t really have a choice after you have made your purchase. You do however, need to make sure the firmware is up to date for bug fixes and to utilize any improvement in performance.
What are ESC protocols?
An ESC Protocols is the “language” that the flight controllers and ESC use to communicate, one of the most basic task is to tell how fast the motor should be spinning.
Here are all the ESC protocols available for a mini quad, and their respective signal width – the time it takes to send one data packet (click the links for more info):
- Standard PWM (1000us – 2000us)
- Oneshot125 (125us – 250us)
- Oneshot 42 (42us – 84us)
- Multishot (5us – 25us)
- Dshot150 (106.8us)
- Dshot300 (53.4us)
- Dshot600 (26.7us)
- DShot1200 (13.4us)
Before 2015, there was only one ESC protocol, standard PWM, but as hardware improves, faster protocols become possible: Oneshot125, Oneshot42 and Multishot. These protocols are all analog signals similar to standard PWM, but much faster. These protocols are synced to the PID loop to reduce jitters, improve performance and reduce delay between stick inputs and the reaction of the craft.
DShot is the latest ESC protocol which is a digital signal. It’s the future of ESC protocol in my opinion because of its better reliability and performance, and the ability of sending not only motor speed, but specific commands to the ESC’s.
Hardware released after mid 2017 should support all the ESC protocols, apart from DShot1200 which is relatively new and is only compatible with some 32-bit ESC’s. Make sure to double check the specification when planning a new build.
I hope this guide gave you an overview of all the ESC software and protocols. Please don’t hesitate to leave me a question or comment.