This is a long video and this process took me about 30 minutes to do. It is not hard and does not require super secret computer knowledge. All the software.
- In this video, I show how to update any BLHeli32 ESC whether it be a 4in1 such as what I'm using in the video or single ESCs. I also show how to change moto.
- An Introduction to BLHeli32. 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.
- Hopefully BLHeli32 will also serve the community well, and bring ESC performance and the hobby as a whole even some more steps forward. One thing remains the same is using BLHeliSuite for flashing and configuring ESC’s, which is known to be incompatible with Mac and Linux but only Windows.
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 🙂
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.
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 Mac
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.
- Guide: How to Arm, PreArm and start your quad What is Arm and why do we need it? All modern quadcopters (or any
- ExpressLRS – Open Source Long Range radio control system – Complete Guide ExpressLRS is the Open Source Long Range radio control system, developed by Alessandro Carcione (aka AlessandroAU)
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
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.
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.
Automatic Motor Timing
Blheli_32 Mac Download
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.
Blheli_32 For Mac
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
Blheli_32 Osx
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.
Blheli 32 Download For Mac
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!