It was only about a year ago when we were all getting excited about a new BLheli-S ESC firmware (the S is for special). But now the developers have been working on something extra special, called BLheli-32. This 32bit firmware introduction covers the important things you need to know about. BLheli32 will be supported from BetaFlight V3.2
BLHeli is an ESC firmware, and BLHeli32 is the 3rd generation after BLHeli and BLHeliS. BLHeli32 is written for ESC ‘s that utilize 32-bit MCU (STM32F0 Cortex-M0 at 48MHz), unlike BLHeli and BLHeliS ESC’s that runs on 8-bit processors. BLHeli32 does not work with 8bit Atmel or Silabs ESC’s. May 22, 2020 ESC: Blheli 32 Dshot 50A Escs FC: Dalrc f405 AIO. RX and Tx: Trananis X8R and Taranis Q X7. Problem that I am facing: 1.ESC emit only 3 Beeps instead of 5 Beeps when I connect my battery. 2.Motors do not Spin 3.I cannot connect ESCs to BlHeli Suite. Serial Interface ”m4wFClntf” connected successfully Connection to ESC#1 failed!
Key Features
- Runs on ARM 32bit MCU (much faster than 8bit MCU on BLheli-s, runs Dshot1200 now, but faster in future)
- Direct configuration of ESC from flight controller using Dshot commands.
- Programmable PWM frequency (up to 48Khz) – allows for much smoother motor operation
- Automatic Motor Timing – helps run your motor at maximum efficiency with robustness against desync. You can also manually fine tune the motor timing to get maximum power from your motor.
- Current and Voltage Limiting – helps prevents your ESC failure
- Bidirectional mode improvements
- Ability to set the motor brake force
- ESC Telemetry Support
- Maximum Motor Acceleration – can be set to prevent desync on some motors under high acceleration.
Some of these features are not fully implemented yet but are part of the initial release plan.
Trending
BLheli_32 is closed source ?
I will not go into the debate, but ultimately this means that all BLheli-32 ESC’s are going to be a little more expensive since manufacturers need to pay the developers a licensing fee. I was disappointed to see that the 32bit version is now closed source.
Steffen Skaug, the original developer of BLheli said that as the project grew, so did the workload. Blheli-32 was created from scratch and they decided to enable them to get some returns on all the effort they have put into the project, while also stopping clones. This will allow the BLheli developers to push ESC performance and the hobby to the next level.
You still need to use BLHeli suite
BLHeli suite v31+ will support the 32bit ESC, which means if you run MAC or Linux you might have some problems. To make it worse the BLheli configurator chrome app will not support BLheli32 right now.
The main reason for this is that when you flash new firmware, BLHeli suite connects to the internet to verify the ESC serial number to make sure it is an official ESC. The one upside of this is that the market will not be flooded with knockoff ESC’s.
Why is 32bit better?
Apart from the extra computing power available to developers, the most significant advantage is the fact that the code can be written in
C
. This makes it significantly easier to work on new code and features. The initial BLheli and BLheli-S firmware are Assembly
based. So I expect the 32-bit firmware to get significantly better as the project continues. Also since the developers are now getting a monetary reward for their efforts through licensing fees, there is more motivation to make it worth it.Dshot vs Multishot – Speed is not everything
Just a quick mention to say that I don’t think the main advantage of BLheli32 is the speed. The guys working on the RaceFlight project introduced the multishot protocol a while ago. Multishot is a much more simplified protocol, so it means that on today’s 8bit MCU they can run at 32Khz, reducing overall latency. However, with Dshot you need to run BLheli32 to get the same update speeds. The main advantage of Dshot is the fact that it is a digital protocol so you can send commands to your ESC. This is where the versatility of Dshot will become apparent. For example, you can send a command to tell your motors to beep, and when to tell it to stop beeping, or tell your ESC to enter bi-directional mode while in flight (so you have full throttle resolution when you don’t need bi-directional mode). I can’t think of any other use cases but I am sure we will see some cool features in the future.
Where can I get my BLHeli-32 ESC?
I will be writing a separate article to list off of the official BLHeli32 ESC’s soon. For now we are selling the Wraith32 Series ESC, which are the first production units to be sold.
I should mention that there are other 32bit ESC’s on the market that supports Dshot such as the racer33. These run custom firmware that is not BLHeli32.
Current Protection
Apart from the performance improvements, I like the fact that they have added current protection support. This will only be supported with ESC’s that have a current sensing resistor (like the wraith32). By using this feature, if the current draw gets above the value you set, the ESC will reduce the power to the ESC to prevent it overheating (like when the motor gets jammed on a crash). This in combination with the temperature monitoring on your ESC MCU will mean that its unlikely you will fry an ESC from overloading it! One thing I am not sure about is the calibration procedure of the current sensor.
![Blheli_32 suite for mac software Blheli_32 suite for mac software](https://oscarliang.com/ctt/uploads/2017/06/flash-firmware-progress-blheli32-esc-blhelisuite32-configurator.jpg)
Automatic Motor Timing
Automatic timing is great when you are not sure about what you are doing. With automatic timing, the ESC will ensure that your motors run as efficiently as possible. However, this will mean your motors are not running at max power, which is not ideal for FPV racing.
However, you can also manually set the timing between 1 and 31 to fine tune your ESC for your motor setup for maximum power. Usually, the medium setting will work fine for most motors. In the old BLheli-S firmware you can only choose between 5 values that correspond to 0/7.5/15/22.5/30 timing advance.
Maximum Acceleration
This setting lets you tell your ESC to limit the power sent to the motor within a given millisecond. This feature is useful if you are having desync issues with your motor under heavy acceleration (when your motor chirps and looses power when you increase throttle rapidly). You can set this between 0.1% to 25.5% per millisecond.
So if you set it to 15, this means that the power sent to the motor cannot increase by more than 15% per millisecond. If you have desync issues you should try to get this to be as low as possible to get the most power out of your motor.
ESC Telemetry
As mentioned before ESC telemetry is on the plans for BLheli32. Aerosurfer noticed that on the wraith32 ESC, they have a UART port on them (still to be documented). But one advantage is that you can use the current sensor from the ESC for your flight controller, and if the ESC can send other info back to the FC, the flight control algorithm can get extra info about motor state such as RPM to improve performance and tuning.
So that the main things I think will be great about BLheli32, and the main downside is no more open source (but it is fair that they get paid for all the work). If you have any questions or comments let me know in the comments section!
![Suite Suite](https://user-images.githubusercontent.com/61799370/75990845-c8f94800-5ef5-11ea-8d5c-0cc222f24d67.png)
RPM filtering with BLHeli_S for free
BHeli_S firmware is OpenSource software product. It evolved from BHLeli firmware that was running on the relatively slow Atmel MCU’s. It’s development almost stopped in year 2017, when the devs started a new BLHeli_32 branch with closed source, licensing and etc. BLHeli_32 ESC firmware introduced the so called bidirectional DSHOT protocol that enabled the ESC to send the telemetry to the Flight Controller. That allowed the RPM filtering to be implemented. RPM filtering soon became known as the best filtering option that reduces almost all the vibrations that multirotor motor can induce. The only problem was that the RPM filtering was only possible with BLHeli_32 ESCs.
Luckily, one of the developers, called joelucid, implemented the updated BLHeli_S firmware with optional closed source DSHOT telemetry module. To enable DSHOT rpm telemetry you would need to purchase the license for the optional Telemetry Service. Each ESC requires one license. The JESC firmware can be found here: https://github.com/jflight-public/jesc.
But that was until now when the RCGoups user JazzMaveric implemented the bidirectional DSHOT in the BLHeli_S firmware for free! This means no licenses and no fees needed for the bidirectional DSHOT on almost any BLHeli_S ESC! The modified BLHeli_S firmware repository can be found here: https://github.com/JazzMaverick/BLHeli/tree/JazzMaverick-patch-1/BLHeli_S%20SiLabs
How to flash the BLHeli_S firmware with DSHOT RPM telemetry?
First you’ll need the BLHeli Configurator. You can download it from here: https://github.com/blheli-configurator/blheli-configurator/releases. You can also use the BLHeli Suite (https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite) to flash the BLHeli_S firmware, but this guide will show the steps with BLHeli Configurator.
Note: Remove your props before connecting the quad to the PC! (unless you have tiny whoop – its small props will make almost no harm ?
Blheli_32 Suite For Mac Free
Note #2: Make sure you have fully charged battery before flashing BLHeli_s firmware. If your battery discharges in the middle of the firmware flashing process you may brick your ESC!
Start the BLHeli Configurator, connect the flight controller to the PC and plug the battery. Press [Connect] and then [Read setup]. You should see all four ESC settings.
Write down the type of the BLHeli_S firmware. The naming of the BLHeli firmware: first letter is the hardware configuration of the ESC, the second letter shows H – for BB2 MCU and L – for BB1 MCU and the last numbers show the Dead Time value.
Blheli_32 Suite For Mac
Now open the modified firmware repository https://github.com/JazzMaverick/BLHeli/tree/JazzMaverick-patch-1/BLHeli_S%20SiLabs and select the firmware file with the same naming as you see in the BLHeli Configurator.
After you have selected the right firmware, right click on the button [Raw] and select “Save link as” and save the file.
Next in BLHeli Configurator press the [Flash all] button and then press [Select File Manually]:
Select the downloaded BLHeli_S firmware file (double check the naming!):
Blheli_32 Suite For Mac Latest
Watch how the BLHeli Configurator flashes all 4 your ESCs:
If flashing process ended successfully, then you should see the BLHeli_S firmware number changed in the ESC tab (also you will notice the startup sounds have changed):
Thats it! Now you have BLHeli_s firmware with the bidirectional DSHOT and you can set up the RPM filtering in the Betaflight configurator.
- Flight controller MCU – F1, F3, G4, F4, F7 and H7 What is Flight Controller MCU? All flight controllers, that run Betaflight, Emufligh, Cleanflight or other flight
- List of ExpressLRS hardware – Transmitters and Receivers This is the list of the ExpressLRS hardware – receivers and transmitters. You can