Blheli_32

RPM filtering with BLHeli_S for free

BLHeli32 is the third generation BLHeli code, following base BLHeli and BLHeliS. When we are talking about the BLHeli32, its one main feature of Dshot compability over Dshot1200 is always mentioned. But what is Dshot1200 and what have made it a better ESC protocol? WHAT IS DSHOT ESC PROTOCOL? We would like to show you a description here but the site won’t allow us.

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

Blheli_32

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.

Blheli_32 setup

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!):

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.

  • List of brushless whoop/toothpick flight controllers
    This is the list of brushless tiny whoop/toothpick style flight controllers with brief description
  • Guide: Splash screen, background and model images in OpenTX radio
    OpenTX radios like Jumper T16 or Radiomaster TX16S have big color LCD screens, capable

The BLHeli developers have released the new code and added the S to set it apart from the base code, the S represents something special.. the next generation of ESC firmware. But what makes BLHeli__S firmware so special and is it worth upgrading yet? And will it actually make a difference to your multirotor flight performance? Read more to find out.

Key features of BLHeli_S

Blheli_32
  • Hardware PWM – smoother and more responsive motor response
  • Always use damped light (Regenerative Breaking) for better multicopter control
  • Code supports sync loss prevention – tuneable parameters to make your ESC work well in the most demanding applications (not just FPV racing)
  • High resolution throttle steps
  • Supports Oneshot125 (125-250us), Oneshot42 (41.7-83.3us), Multishot (5-25us) protocols
  • Automatically detects input signal protocol on ESC power up
  • Beacon Function – your ESC will start beeping after a set time of zero throttle to help you find your quadcopter.

Why is hardware PWM better?

Since the initial release of BLHeli, hardware has improved so the new code is designed to take advantage of the new hardware improvements with the most signification being hardware generated PWM which gives much better performance. This is the most noticeable improvement of BLHeli_S as your motors run smoother, quieter and are technically more responsive too.

Trending

Because the hardware generated PWM signal is synchronized with the micro controller clock on the ESC, the motors run more silently and efficiently (with less high pitch squeal). This also enables much more precise throttle steps depending on the ESC hardware (micro-controller and PWM driver type), however the range is between 512 steps and as much as 2048 steps with high end ESC’s.

The hardware PWM also allows you to control very high speed motors (up to 500k eRPM with some hardware). With the older BLHeli firmware and software PWM, the maximum speed signals can be sent to the motor was 16Khz. With the hardware PWM, your ESC can send signals at about 36Khz which is rather insane. Because your motors are getting updates much faster the control is much more precise and smoother response.

Are 32 bit ESC any better?

Many of the new BLHeli_S esc’s coming to the marker actually use a 32bit processor. This means that each ESC has alot more processing power to do more advanced stuff. Currently most of the 8 bit ESC’s running BLheli are still not reaching the processing capacity so why have the developers started using 32 bit microcontrollers on the ESC’s?

The main reason is because 32bit ESC’s are easier to program, the 8bit code is written in C and Assembly (can be a real pain to work with), but the 32 bit allows programming in C++ which is abit easier. This means that this combination of easier programming language and more processing power will make adding novel features abit easier.

Can I upgrade my BLHeli ESC to use BLHeli_S?

No, this is not currently possible as BLHeli_S is designed to run on new ESC hardware, to take advantage of the hardware PWM driver. Current ESC’s that run BLHeli use software PWM and do not have a dedicated hardware PWM driver so they cant use BLHeli S.

Conclusions

Blheli_32

When you first turn on your motors with BLHeli_S ESC’s you will notice how smooth and quiet they run, but for me that is where the differences end. With the current BLHeli S ESCs on the market they dont translate into additional performance on static thrust tests compared to some of the other leading ESC such as DYS XM ESC series. I know DYS are releasing some new ESC’s to support BLHeli S called the XS series.

Once you are up in the air flying I could not tell any difference in performance. It is worth noting that I am not exactly the best FPV pilot you can just about manage the odd flip in a wide open area. So perhaps more experienced racing pilots will be able to feel the improvements (let me know). The active breaking definitely improves the responsiveness of your quad, but that is an also option with regular BLHeli ESCs.

At the end of the day I would say its probably not worth ripping out your BLHeli ESC’s just yet, but if you are building a new quad then its a good idea to get some BLHeli_S ESC’s since I am certain we will see some novel features added to the BLHeli code in the near future.

Blheli_32 Startup Tones

If you have any experience with the new firmware and ESC’s or comments please let us know below!

New version naming convention

The new BLheli S firmware will have the naming convention of A_L_10_REV16_0.HEX

  • The first letter denotes the pinout of the Micro controller (MCU) on the ESC. Currently A,B,C,D,E,F,G
  • The second letter is the MCU clock speed. L for 24MHz, H for 48Mhz
  • The two numbers denote the MOSFET switching deadtime, if the FET has adaptive switching then 00 is used
  • The REV is the actual code version, the bigger the number the more recent the code is.