ESC Firmware and Protocols Overview

For quadcopters there are several ESC protocols and firmware available, which could get confusing for beginners. In this summary we will explain the difference, a little bit of history and links to articles for more technical detail.

When I started in the hobby, connecting an ESC to the flight controller was straight-forward. But now there is so much to consider: ESC settings, protocols, firmware etc, it can be confusing and overwhelming for beginners. I hope this guide can help answer some of the questions.

Check out this guide about how to choose ESC for mini quad.

ESC Firmware

ESC firmware is the software running on every ESC, which determines the ESC’s performance, and what configuration interface can be used. The firmware you can use depends on the ESC’s hardware.

Here are a list of ESC firmware available to mini quad ESC:

Before and around mid 2015, there used to be a choice between SimonK and BLHeli for majority of the ESC’s back then. They were also two of the earliest open source ESC firmware. But over the years BLHeli has taken over the market due to its better performance and more user-friendly interface. (differences between BLHeli and SimonK)

As ESC technology continues to evolve, newer BLHeli firmware was written specifically for the better and more advanced hardware. BLHeli_S was the 2nd generation firmware developed for the BusyBee processors in 2016, and the BLHeli_32 was the 3rd generation firmware for the 32-bit processors in 2017.

Nowadays, all ESC’s come with ESC firmware pre-installed, mostly BLHeli_S or BLHeli_32 depending on the hardware, which should be stated clearly in the specification. You don’t need to worry about changing firmware because basically you don’t really have a choice. However you do need to make sure the firmware is up to date for bug fixes and performance improvement.

For non-BLHeli ESC’s, they are most likely to come with (and locked to) their own factory firmware, such as the KISS ESC, Castle QuadPack, and the Gemfan Maverick ESC.

ESC Protocol

What are ESC protocols?

ESC Protocols are the “languages” that flight controllers use to communicate with ESC’s, basically telling them how fast the motors should be spinning. Here are all the ESC protocols available to mini quad depending which FC firmware, and their respective signal width (the time it takes to send one data packet), click the links for more detail:

Before 2015, there was only one ESC protocol, standard PWM. But as hardware was getting better, faster protocols became possible: Oneshot125, Oneshot42 and Multishot. These protocols are all analog signals similar to standard PWM, but much faster and hence reduce the latency of quadcopter response.

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.

3 thoughts on “ESC Firmware and Protocols Overview

  1. Stefan Wilkens

    A new addition is showing up here, ProShot which sends hex data over three pulses with an added crc. The total package is shorter than dshot, longer pulses allow for caps to reduce noise.

    rcgroups.com/forums/showthread.php?2879092-%2A%2AIdea%2A%2A-ProShot-Another-digital-protocol

    Support is being built in to beta flight

    Reply
  2. Simon Kirby

    You can run SimonK at 64kHz if you’d like. Just change RCP_ALIAS_SHIFT such that it fits whatever timing you want. I tested it up to 256kHz PWM, and it worked.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).