ESC firmware is an essential component that controls the motors in FPV drones, and BLHeli_32 is one of the most advanced firmware available today. In this article, we’ll provide an overview of BLHeli_32 firmware, its benefits, and what set it apart from other ESC firmware. Let’s dive in and explore BLHeli_32 in more detail.
What is BLHeli_32?
BLHeli is an ESC firmware that has been around for some time now, and BLHeli_32 is its third-generation version after BLHeli and BLHeli_S.
While BLHeli and BLHeli_S run on 8-bit processors, BLHeli_32 is designed specifically for ESCs with 32-bit MCUs. More specifically, it utilizes the STM32F0 Cortex-M0 processor at 48MHz. This allows for higher performance and more advanced features than what was possible with 8-bit processors.
It’s important to note that BLHeli_32 is not compatible with 8-bit Atmel or Silabs ESCs, so make sure you have the appropriate hardware before attempting to use it.
Check out this article to learn about ESC Firmware: https://oscarliang.com/esc-firmware-protocols/
Benefits of BLHeli_32 Firmware on 32-bit ESC
BLHeli_32 firmware offers a range of benefits over its predecessor, BLHeli_S. With its faster clock speed and increased processing power, BLHeli_32 allows for faster input signals with lower latency and higher update rates, enabling protocols like Dshot1200 or even faster.
Furthermore, BLHeli_32’s 32-bit platform allows for future functionality and features that were impossible on 8-bit ESC’s. These include:
- programmable PWM frequency of up to 48KHz
- auto-timing for higher efficiency and reliability
- current limiting with built-in current sensors
- adjustable “Brake on Stop” force
- improved direction change in bidirectional mode
- ESC telemetry
- configuration from FC using DShot commands
48KHz PWM frequency and auto motor timing noticeably improve motor smoothness and efficiency. Although some of these features are still in development, they offer exciting possibilities for the future of ESC firmware. Keep an eye out for further developments.
BLHeli_32 Features and Tutorials
- Play Music with Your ESC and Motors
- Use ESC Beacon as a lost model alarm
- Setup ESC Telemetry in Betaflight
Changes From Previous Firmware
BLHeli_32 is not just an improvement on previous firmware, it’s a completely new creation built from scratch in C language. Unlike its open source predecessors, BLHeli and BLHeli_S, BLHeli_32 is a closed-source firmware that requires manufacturers to pay a licensing fee to the BLHeli developers to use it. As a result, it’s expected that the price of ESCs using BLHeli_32 firmware will increase.
When asked about the decision to close-source the firmware, sskaug, the lead developer of BLHeli, explained that it was a natural progression as the project grew and gained more attention from the industry. He noted that the move to ARM 32-bit MCUs was an obvious choice given their increasing prevalence in the market, but he also recognized the increased workload that came with supporting multiple manufacturers and developing new firmware. Ultimately, the decision to make BLHeli_32 closed-source with a licensing fee was made to provide some return on the developers’ work while still supporting the community and maintaining the low cost profile of BLHeli.
While BLHeliSuite remains the go-to tool for flashing and configuring ESCs, it’s worth noting that it’s only compatible with Windows and requires an internet connection to access firmware updates and settings. Additionally, the serial number of the ESC must be validated by the manufacturer to prevent the use of cloned or illegally modified firmware. Although third-party developers have created workarounds like the BLHeli Configurator and ESC Configurator, which supports BLHeli and BLHeli_S, it is currently unable to support BLHeli_32 due to its closed-source nature.
Here is how to use BLHeliSuite32 to flash and configure BLHeli_32 ESC: https://oscarliang.com/connect-flash-blheli-32-esc/.
BLHeli_32 Compatible ESC
If you are looking to use BLHeli_32 firmware, it is important to make sure that your ESC is compatible with it. ESCs that were designed before the release of the firmware may not work with BLHeli_32, so it’s essential to check beforehand. Additionally, some 32-bit ESCs may only be able to run their own factory firmware, so it’s important to verify compatibility before purchasing. Be sure to do your research and check with the manufacturer to ensure that your ESC is compatible with BLHeli_32 before attempting to install it. Check out my ESC recommendations: https://oscarliang.com/esc/#ESC-Recommendations
- Apr 2017 – Article created
- Mar 2023 – revised
I am currently getting a lot of stalling/dsync on startup with load applied. With no load no problems. I have pretty much tried everything in the settings. When I use a Simonk esc on the same motor the issue disappears.y next move is to add a cap but looking for some more suggestions.
I’ m designing an ESC board sing STM32F501and I want it to be compatible with BLHELI32. How can I know which Pin of the Microcontroller should connect to the motor?
I know it’s an old thread, but I thought I’d offer some answers. I have 4 aria (dys) 40 amp esc’s. That is what they add and stickers on them say. However, the firmware is for 35 amp ESCs by aria, and so far I have not been ale to find any other firmware that is flashable. These same ESCs are rebranded to at least 6 names, wraith and hackrc and dys and several others. I can configure via passthru or with an arduino nano, and I’m sure the other methods work too. I haven’t had any issues with these so far, but they’ve been out over a year and there are no firmware updates that I am aware of. Wait, there may have beeen an update from 3.4 to 3.6, I downloaded the latest blheli suite tonight and 3.6 was the latest.
I also am on linux running via wine, just go into the ~/,wine/dosdevices directory and run ls -l to see the com port to /dev/tty* mapping. WHen I connect my Ardupilot it /dev/ttyACM0 and my nano is /dev/ttyUSB0. ttyUSB0 is linked to com33 by default and com33 works great in BLHeliSuite32.
BLHeli32 Suite is working on Linux under Wine. I have followed this tutorial: youtu.be/5b04ESLUk44, but I only needed /dev/ttyACM0 symlinked. I have Kakute F7 and pass-through is working flawlessly. I hope it helps someone :)
Thanks Oskar for this blog, good job! :)
The DALRC Engine 40A 4-in-1 ESC does not have ESC Telemetry according to the specs and reply from seller on Banggood page.
So blheli32 is paid for cutomers or not? If I get ESC32bit I can just flash blheli32 and this is free right? So where is this license? For manufacturers? When they want to release 32bit ESC they have to pay them? Can’t they sell it without firmware (without paying) and customer will just flash it by himself? Or it is not possible to flash only update?
Siskin_st thats what is on my esc and they get hot and twich mid throttle
One question I can’t seem to find answer for is what a higher PWM frequency does. Any insight? Thank you
google, mini quad motor update rate
i have a macbook and can,t use blheli_32
really damn pain in the ass. paid full price for my esc x4 and can,t run blheli on my macbook not even via chrome!??!
are u guys gonna fix this soon??
why always 25A or 35A …never 30A, which is the best amp rate for most of us ???
Depends on your motor and props amp draw.
Paying one or two bucks more for ESC with quality firmware is not a great price. However I wish to remain the possibility to configure and flash 32-bit ESC’s from Linux too. So dear developers! If you wish to get your butter on bread, I have no objection about that. But please keep us from being forcefully locked in one particular OS in our computers. If you’re keeping new firmware closed then maybe create a public API to it. Or create your own BLHeli_32 configuration utility which works on Linux and Mac too.
1st and foremost, for what it’s worth, I need to thank you for your generous contribution of time and knowledge to this sport.
Without the support which you, Joshua and a handful of others so kindly provide, the technical aspect of this endeavor would surely prevent many like myself from any real progression whatsoever, thus ending, thru sheer frustration, any possible hope of enjoyment.
As a total noob, having only two simple builds worth of experience, I have made a serious error in selecting esc’s for my 3rd project, a 3″, iflight frame, with 1407-3500kv motors and these esc’s
iPeaka Mini25A 32bit BLHeli_32 ESC OPTO (2-4s) DSHOT1200 Compatible
I have made every effort to use as high quality components as I could reasonably afford when building and these esc’s and motors were purchased as a package.
My thinking being, I’ve read much praise of the BlHelis-32’s and surely being sold as a package, the motors would be as near optimal pairing as anything I could hope to guess at buying individually.
Having completed the build, using an HGLTECH AIO F3 V4 FC, and a new Runcam Eagle 4:3, I find myself lost trying to set up thru Betaflight.
I understood going in that Dshot 1200 is not currently supported via the latest stable BF version, but had hoped I could run Dshot 600 or ?, until the stable version of BF DS 1200 came out, as I am not nearly a skilled enough pilot to appreciate the difference nor confident enough in flashing software unnecessarily.
I have used Blheli BF passthrough once to flash-the Littlebee esc’s on a previous build, but had hoped to just sync these thru BF & use whichever version BlH they were shipped with.
Now, considering the investment sunk into this quad, I fear loosing all the smoke on startup.
I have built a light bulb smokestopper and verified that at least I havnt reversed any polarity, I think.
I am sorry for this rediculously long message, and for imposing your time, but, I have found no local source of information and after hours of YouTube and reading posts until my eyes have blurred, I would be most grateful for any words or guidance you may be willing to give me toward finishing this last part of set up.
I’ve never posted a comment nor reply here but do want to help you out as you seem like a good guy messing around with very new stuff almost nobody has experience with yet ( talking about the 32bit esc here ). We can continue the chat here or you throw me an email to [email protected] and I wil help you from there on. Sounds like a plan?
Wait to hear from you.
Going commercial is the moment when greed wins. Every project is an effort, but some people are willing to resign from own benefits and the net value of that is always an advancing product which everyone can improve. Imagine flight-software being commercial. Anyway, BL_Heli32 is NOT the first attempt to bring 32 esc software into market, not only KISS32 tried that but there were ESCs with arm mcu’s long before blheli_s existed. They all never reached such interest as blheli_s, but they all also have common factors either price or closed source. Having said that, making software for ESC on stm32f0 is not that difficult compared to assembly. So that’s why serial key will be needed to prevent open-source competition from implementing trivially simple software so BLHeli can get money for not so new thing ?
The guy have been devoting his time to provite quality software for the community, and drone racing wouldn’t be there without him.
People have to eat, pay their bills, heck, become milionnaire. I don’t care. He worked years for that, so if today he wants to cash out, good for him.
When SimonK was charging a licensing fee back in the day for less than reliable software, it wasn’t that much drama …
How can I flash thoose, I’ve heard they won’t support flashing over Fc from the beginning?
Well not flashing but more configuring.
Will I have to buy an Arduino or will a Ftdi or hos they’re called adapter work?
I am not sure yet I haven’t received my BLHeli_32 bit ESC and tested them.
But I assume it should be the same as BLHeli_S in terms of flashing and configuring… only difference is you will have to have internet connection for it to work.
do you have any news about the way to flash this esc because i cant do it through my betaflightF3 FC…
need latest bf 3.2
No you can’t, you need the not yet publicly released BF 3.2.0 hex for your FC. There are Beta builds to try but are constantly updated.
Ok, I’m new to the hobby. So are these better than the D-Shot esc’s?
DShot is not a type of esc, it’s a protocol.
BLHeli_32 will also support DShot.
Could anyone find form factor details (size/weight) on theses ?
check FPVModel’s preorder page (link in article)
I’ve heard that Maytech also is working with these blheli32 ESCs right now.