An electronic speed controller (ESC) is a device that controls the speed of an electric motor. ESCs are typically used in remote-controlled vehicles or aircraft, electric scooters, robotics, and drones.
In a drone, the flight controller sends signals to the ESC, telling it which direction and speed the motor must rotate. The ESC uses these signals to adjust the voltage and current to the motor, enabling the drone to fly smoothly, change directions, reverse, slow down, and stop. Additionally, the electronic speed controller safeguards the motor by keeping it from overheating.
Overall, the ESC is responsible for transmitting data like the speed, direction, current, and temperature of the motor to the flight controller.
ESCs are typically located near the drone’s motor. It’s also connected to the flight controller and battery. Drones use two types of ESCs: brushless and brushed. Although less costly, brushed ESCs are typically less effective. High-performance drones are usually equipped with brushless ESCs.
Several factors to consider when choosing an ESC for a drone include the number and types of motors (brushed or brushless), the voltage and current ratings, and features such as regenerative braking and reverse thrust.
The ESC firmware is critical to the speed controller’s drone operation. For example, the firmware:
- Controls the speed and direction of the motor
- Safeguards the motor from overcurrents or overheating
- Enables braking
- Transmits telemetry data to the flight controller
The firmware is often updated to add new features, fix bugs, and optimize a drone’s performance.
In this article, we will look at top ESC firmware in 2023.
Top ESC firmware
Below are some of the most popular and highly regarded types of firmware available for electronic speed controllers.
1. BLHeli_S
2. BLHeli_32
3. Kiss
4. SimonK
5. Bluejay
6. AM32
BLHeli_S is second-generation firmware (after BLHeli), released in 2016 and developed for the BusyBee processors (BB1 & BB2 chips). It’s an open-source firmware for ESCs, known for its performance, stability, and a range of features. It’s popular for use in freestyle, racing, freestyle, and photography drones.
BLHeli_S supports several communication protocols, including DShot, OneShot, and MultiShot. These protocols enable the drone’s motor(s) to be controlled more precisely, enhancing its performance. For example, this firmware lets users configure the timing of the ESCs, which is useful for exacting performance and saving power.
Overall, BLHeli_S is highly customizable, so changing the settings to meet specific parameters is possible. This is done using the BLHeli configurator, a free software tool available online.
This firmware has built-in protection features that prevent motors from overcurrent and overheating, leading to a longer motor life and preventing drone damage. The firmware is also programmed to transmit telemetry data to the flight controller, such as the speed and current of the motors. This data is crucial in monitoring the health of the drone.
Since its release, BLHeli_S has been updated several times. A computer and a USB adapter are required to update the firmware, with instructions available on the BLHeli website. BLHeli_S is an excellent choice, but not beginner-friendly. It takes time to learn, and some users might face compatibility issues. It does not work with all ESCs, so research before investing.
BLHeli_32 is an open-source firmware for ESCs, released in 2019 and based on BLHeli_S. In comparison, BLHeli_32 offers improved speed and performance (it uses a 32-bit processor), greater stability, and additional features. It also supports higher pulse-width modulation (PWM) frequencies, providing more precise motor control.
Along with DShot, OneShot, and MultiShot, BLHeli_32 also supports DShot1200, the fastest protocol available. It also includes Field Oriented Control (FOC) and bi-directional DShot.
Like BLHeli_S, BLHeli_32 is a good choice for high-performance drones like racing and freestyle drones. However, it’s not compatible with all ESCs. The firmware is also just as complex and not ideal for beginners. Getting familiar with BLHeli_32 requires training, patience, and hard work.
KISS ESC firmware was developed by Flyduino in 2017, a company specializing in drone hardware and software development. KISS ESC stands for “Keep It Super Simple Electronic Speed Controller.” The closed-source firmware offers the highest performance with a 32-bit processor supporting high PWM frequency.
The KISS ESC is a brand known for simplicity and reliability. It’s popular among professionals in the RC hobby and drone racing communities. These ESCs offer advanced features such as high-speed processing, active braking, auto motor detection, multi-rotor and fixed-wing support, telemetry support, and online updates. The firmware is compatible with various types of motors and batteries.
Flashing the firmware to an ESC with a KISS configurator using a free online tool is easy. Unlike BLHeli_S and BLHeli_32, KISS ESC is user-friendly and straightforward, catering to beginners and experienced users. The firmware is also highly customizable, including parameters such as motor timing, throttle curve, and direction. Features like FOC are also available.
With built-in motor protection features, the firmware safeguards against any surge current and motor overheating. The supported communication protocols include DShot, OneShot125, MultiShot, and PWM. Some KISS ESCs offer telemetry support, providing real-time data like the motor RPM, voltage, and current consumption through compatible flight controllers.
These ESCs are designed to work seamlessly with KISS flight controllers and other hardware components in the KISS ecosystem. However, since it is closed-source, it does not work with all ESCs. It’s also fairly costly compared to other options. KISS ESC has gained a good reputation among RC hobby and drone racing communities, thanks to its simplicity, high performance, and unique features.
SimonK ESC is a custom firmware developed for ESCs in multirotor applications like quadcopters and drones. It was first released in 2012 by SimonK, a hobbyist and developer of drone and quadcopter electronics. It’s an open-source firmware with ongoing updates available.
The latest version is SimonK 4.1.8, released in 2022, providing several new features and improvements like support for DShot1200, improved motor timing and compatibility, and reduced latency.
Despite updates, SimonK is an older firmware, and it’s not typically as fast or feature-rich as newer options such as BLHeli_S or BLHeli_32. As advanced ESC firmware options have become available, the popularity of SimonK has somewhat waned over time.
Bluejay ESC is a newer open-source firmware released in 2022, based on BLHeli_S. Bluejay uses a 32-bit processor and supports high PWM frequencies and multiple ESC protocols — including DShot1200, OneShot125, PWM, and MultiShot. Its salient features include built-in motor protection, configurable timing, higher PWM frequencies, telemetry, customization, high performance, and improved stability.
BlueJay is a popular choice for high-performance drones. However, it’s relatively new and still under development, so there may be some bugs or incompatibilities. The firmware requires a bootloader for flashing onto an ESC.
AM32 is an open-source firmware for ESCs released in 2022, based on the BLHeli_32 firmware. It’s designed for STM32 ARM processors to control a brushless motor (BLDC). It’s more stable than BLHeli_32 and is compatible with a range of ESCs, including those from Holybro, Tattu, and RDQ. It’s also highly customizable.
AM32 supports sinusoidal startup, which helps reduce vibrations and improve drone performance. It supports FOC, offering an advanced motor control algorithm that improves drone performance. The supported ESC protocols include DShot1200, OneShot125, MultiShot, PWM, and bi-directional DShot (which allows the ESCs to transmit telemetry data back to the flight controller).
As a newer firmware, it’s still under development and may have bugs and incompatibilities. It also does not support all ESCs. AM32 ESC is available for download from the firmware’s website or GitHub. Installation requires a bootloader and a USB adapter. To configure AM32 and upload firmware, consider using the Multi_ESC config tool using Betaflight passthrough available for Windows and Linux. Alternatively, the Online-ESC Configurator can flash or change settings with any web browser that supports the web serial.
You may also like:
Filed Under: Robotics, Tech Articles
Questions related to this article?
👉Ask and discuss on EDAboard.com and Electro-Tech-Online.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.