What is BLHeli_32?

BLHeli_32 is a new firmware for 32 bit ESCs that has recently been announced by Steffen, the contributor for the original BLHeli and BLHeli_S projects.

Its worth noting that despite the fact it shares the name with its BLHeli counterparts, the code is in fact written from scratch and is closed source. This means the code will not be released to the community, similar to how the KISS ESC code is not released.

This firmware should bring significant improvements to ESC performance at the moment, compared to BLHeli_S. Here are a few of the advantages:

  • Programmable pwm frequency, up to 48kHz, that can run motors even smoother, and also allows for moving of small but potentially disturbing humps in the throttle response. All ESCs have these bumps, with BLHeli_32 they can now be moved in the rpm range, to a place where the system has low sensitivity to them.
  • Auto timing. Which is not the option to choose if you’re after max power. But if you want the most efficient running with very good robustness against desync, it is the perfect choice.
  • Voltage and current limiting. Which is implemented in the code, and will be supported on some ESCs. Voltage limiting is desirable for fixed wing crafts. And current limiting adds protection against ESC failure.
  • Programmable brake on stop force. Which allows control of the braking of fixed wing props.
  • Improved direction change in bidirectional mode.
  • More functionality coming in the future. Such as setup from the FC by using Dshot commands. Such as telemetry functionality. There is room to grow performance and functionality.
  • Runs D-Shot 1200 straight out of the box (up to at least a rate of 32kHz supported)






This artical is credit to Mr. Oscar Liang from Oscarliang.com

DShot is a new communication protocol between flight controller (FC) and ESC, substitute to Oneshot and Multishot. DShot stands for Digital Shot.

The project is developed by Flyduino in collaboration with Betaflight. Many might be surprised by how fast things are moving forward: Multishot has only just been implemented and adopted by the mini quad FPV community, and now there is already a newer, better technology a few months later.

Learn about other existing ESC Protocols:

Advantage of DShot

Compared to Oneshot and Multishot, we are informed that DShot is better because:

  • No More ESC Calibration Required (no oscillator drift)
  • More Accurate ESC Signal, and more robust against electrical noise
  • Higher Resolution of 2048 Steps, compared to others of 1000 steps
  • Faster Than Oneshot
  • Safer, every signal has cyclic redundancy check

So What is DShot, Really?

DShot is a digital protocol!

Standard PWM, Oneshot125, Oneshot42, and Multishot these are all analogue signals. They all rely on the length of the electrical pulse to determine the value being sent. Analog signals have potential issues with value accuracy because:

  1. Due to the possibly different speed of the oscillators in ESC’s and FC, the length of the pulse might not be measured accurately. This is also the reason why ESC calibration is required to sync the oscillators
  2. Electrical noise (voltage spikes) can corrupt analog data

With digital protocol, there won’t be any of these problems. It’s exciting to know that ESC calibration will no longer be necessary. Because of the nature of digital signal, which is one’s and zero’s, it will also be much more resistant to electrical noise.

How Fast is DShot?

Options: DShot600, DShot300, DShot150

There are 3 speed options with DShot, the numbers are indication how much data is sent per second.

  • DShot600 – 600,000 bits/Sec
  • DShot300 – 300,000 bits/Sec
  • DShot150 – 150,000 bits/Sec

Calculate Latency

Firstly we need to know how many bits are in a data packet, then divide the speed of the protocol. A DShot data packet consists of a total of 16 bits: 11 bits for throttle value (211 = 2048 steps), 1 bit for telemetry request and 4 bit for CRC checksum (cyclic redundancy check).

For example DShot600 would have a frequency of 600,000/16 = 37500Hz = 37.5KHz, which means it will take about 26.7uS to send a single throttle value from FC to ESC.

Speed Comparison

In comparison to the speed of Oneshot125, Oneshot42 and Multishot, we have the following table (assuming signal is at 100% throttle)

  • Oneshot125 – 250 uS
  • DShot150 – 106.7 uS
  • Oneshot42 – 84 uS
  • DShot300 – 53.3 uS
  • DShot600 – 26.7 uS
  • Multishot – 25 uS

The fast transmission speed of DShot will theoretically allow up to 33KHz FC Looptime. (Not as high as 37.5KHz because there needs to be some space between values). Although DShot600 is not quite as fast as Multishot, as long as it’s faster than FC looptime then it’s plenty enough 🙂 With all other advantages we’ve discovered so far, it still out-weights that small speed difference.

What ESC Supports DShot?


Currently certain ESC’s that run BLHeli_S firmware  will support DShot. Such as Cicada, Racerstar V2, Aikon SEFM, TBS 25A, Lumenier 30A, DYS XS30A, etc. However these ESC’s have speed restriction and only support up to DShot300, some can only run DShot150. According to Steffen Skaug (BLHeli Developer), future ESC’s that use EFM8BB21x chipset will be able to run DShot600.

DShot for BLHeli_S is being developed by BLHeli and Betaflight team, if you would like to know more such as known issues, full list of supported hardware etc, please check here.


KISS 24A ESC supports DShot with all 3 speed levels, available to choose from in their Chrome GUI configurator (even the highest speed – DShot600).

KISS 24A ESC’s use STM32 processors, our mini quad FC’s also use  STM32 MCU’s. Between these STM32 chips they have something called DMA controller (Direct Memory Access) that communicate directly between them. This allows faster DShot signal as it doesn’t use much additional processing resource that might cause delay.

Requirement For Flight Controller

Looks like only F3, F4 flight controllers can run DShot at the moment.

For example, X-Racer F303 flight controller runs on the open source Cleanflight software and its compatible with the Bores B. Betaflight firmware.