BLHeli32 Firmware | Do you really need it?
I am BLHeli32, fly me!
With a new baby at home I don’t get to post as much as often. I’m looking for guest posters to help me provide badass content for the site. If you are interested in helping with writing posts for the site, contact me.
This post comes from a long time reader Adam Featherstone. He is one smart guy who’s always schooling me in new tech.
Post by Adam Featherstone
BLHeli32 has been out for a while although it has not been massively adopted, many people are still flying BLHeli_S, so here is a brief overview of BLHeli32, what its, and why you should use it. A low level of technical literacy is assumed (because if you were a coding expert you would be hanging around Github and helping develop right?)
Before we look at BLHeli32 I think it is important to briefly discus what we need from ESCs and their software, there are two main things:
- Fast signal propagation – the signal from the flight controller to the ESCs is trying to deal with what your quadcopter is doing RIGHT NOW in computing terms. The flight controller is not just dealing with ham fisted user commands but also all sorts of other factors which happen much quicker than anything we can do with sticks. The quicker the signal results in a change in the motor, the quicker a correction happens. This makes the quadcopters feel smoother and more responsive. Fast Protocols such as multishot and the faster Dshot mean faster, smaller and more frequent corrections can be carried out.
- Accurate signals – if the signal from the flight controller is incorrectly interpreted by the ESC the quad is going to have all kinds of problems. There is an inherent risk in PWM protocols (PWM, Oneshot and Multishot) in that it is basically like two men with stop watches timing something and expecting to get the same value. This is why calibration is necessary with these protocols. If your hardware is good and calibration done right, these protocols will fly very well, however digital signals (dshot) do not have this flaw, they are completely accurate to all intent and purpose.
As a result of this, whilst mutlishot may well work brilliantly for you, fast dshot is the preferable option.
Anything other than this is Gravy
What is BLHeli32?
Technically it is a 32 bit implementation of BLHeli although not a direct port. For the non-technical, computer chips/hardware have moved on a lot since the chips used for BLHeli or BLHeli_S. BLHeli_32 is a rewrite to use these more advanced chips, making faster, stronger and capable of leaping tall buildings in a single bound. Well faster anyway, and capable of doing more of the gravy (and no one complains of too much gravy). Ignoring the gravy for the moment, the table below surmarises the capability of the different software against the two requirements:
- BLHeli – Oneshot125 (about 250us plus 10-15us quiescence* for each signal) – PWM only
- BLHeli-s – Multishot (5-25us plus quiescence) or DShot600 (27us) – PWM or Digital
- BLHeli32 – Multishot (5-25us plus quiescence) or DShot1200 (14us) – PWM or Digital
*-Quiescence is the quiet time between each pulse, it is required in PWM to separate the pulses
Wow! This is gonna make me fly like a pro right?
So there are clear advantages to BLHeli32 on paper, in the air, perhaps not. I don’t think most pilots would be able to tell BLHeli from BLHeli_S from BLHeli32 in the air if they are all set up properly and well tuned. Using a digital protocol protects you from timing problems which can definitely be felt in the air so using dshot is more likely to give you a stable flying quad, but you can do that with BLHeli_S. but unless you have built a quad that has oscillations at certain frequencies, it is unlikely you would notice a difference between dshot600 and dshot1200, it would perhaps feel a little smoother but only a tiny bit. So why use BLHeli32? The answer is simple, the gravy.
The features which are only available in BLHeli32 (if the hardware supports them – not all BLHeli32 ESCS support all functionality) are:
- LED Support – ok starting with the trivial, but BLHeli32 supports LEDs on the ESCS which can be configured to what colour you like.
- Temperature Protection – the ESCs will reduce the current if the ESC temperature reaches a set level
- PWM Frequency – this feature alone keeps me coming back to BLHeli32, the stock setting is 24KHz, increasing it to 48KHz produces a significantly smoother flying quad, I would go as far as saying as a pilot it is the improvement I notice the most since we were all flying BLHeli on Oneshot 125.
- ESC Telemetry – by hooking this up to a UART on the flight controller Telemetry such as RPM and temperature from the ESCs are available on the Flight controller. This can be added to BetaFlight OSD which, having tried it, is a singularly bad idea. It is distracting and if you try and read it, you find you have hit the ground or a tree by the time you succeed. It may be of more use when trying to diagnose issues on Black Box logs.
BLHeli32 includes all the features of BLHeli_S such as the ability to reverse motor direction, change demag etc
Firstly, although it is good practice to flash the latest stable release to your quadcopter, the thing should fly just fine with ESCs out the box.
BLHeli32 is installed and configured using BLHeliSuite32, it can be downloaded from here
NOTE: THIS IS NOT THE SAME SOFTWARE AS BLHELISUITE
It will download as a compressed file, unpack/expand it and go into the directory and run the executable called BLHeliSuite32.exe. This will open the software. Just like with BLHeli_S, plug the computer into your flight controller which is running a recent copy of Betaflight, Make sure the correct interface is set (click on Select BLHeli_32 interface, from the menu chose BLHeli32 Bootloader (Betaflight/Cleanflight) )
REMOVE YOUR PROPS if you haven’t already, then power up the quad from a LiPo.
Check you have the right com port selected in the bottom left and click Connect
Then click Read Setup. As with BLHeli_S the escs will be read you can then make changes and write them back in the same way you do with BLHeli_S.
The only things I have ever bothered to change is the setup of LEDs and changing the PWM Frequency to 48KHz.
So in summary, at a basic level you can get a nice flying quad with BLHeli or BLHeli_S, what BLHeli32 gives you is a better chance of having a nice flying quad, the improvement may be so small as not to be noticeable, or may be dramatic.
If you want to shoot video, either from an action cam or the FPV cam, then smoothness is important and running 48KHz PWM frequency with dshot1200 on BLHeli32 will give you the smoothest flying quad and the least possible amount of jello on the recording.
If you are a racer, BLHeli32 ESCs tend to have higher current rating than BLHeli_S so less chance of blowing one.
Here are some BLHeli32 ESCs.
If you found this post helpful, it would be super cool if you purchased the components from my store or purchase items from my Amazon links. These posts are expensive and take a loooong time to make so the purchases make it possible for me to keep making them. Thanks in advance, I greatly appreciate it 🙂