I was recently offered the opportunity to review Airbot’s new Wraith32 ESC. This ESC is really exciting as it is my first foray into the new BLHeli_32 firmware. In this article, I’ll talk a little about BLHeli_32, walk through the set-up process of using one of these ESCs in your quadcopter.
What is BLHeli_32?
BLHeli_32 is the next evolution of ESC firmware from the software developers who are responsible for maintaining the BLHeli and BLHeli_S firmwares. These ESC firmwares have always shared a close bond with the Betaflight flight controller firmware we often tout on the site. Thus, ESCs running BLHeli-style firmwares have always been our recommendation when building a quadcopter running Betaflight.
BLHeli_32 improves on BLHeli_S by replacing the microcontroller with a 32-bit Cortex M0 processor. This chip significantly raises the processor performance ceiling of the ESC and thereby allows the firmware running on the ESC to support a variety of new features. The BLHeli_32 developers have already added a couple. Here are the most notable features that pertain to miniquads:
- DSHOT 1200 support – I’m not a believer in the performance claims of ultra-high DSHOT numbers, but BLHeli_32 significantly raises the cap how fast the ESC can receive command updates from the flight controller. If we ever get to the point where this kind of fine-grained control over ESCs is required, then it’s cool to know we have it.
- Automatic motor timing – Which should improve efficiency (cooler running motors and longer flights) at the cost of a little top end power. These days the time we spend at max power is so little this is a no-brainer to me.
- Current limiting – Will allow you to set “caps” to the amount of current your ESCs will deliver to the motor. This can help prevent burned out motors and ESCs. It can also help you save your batteries from power hungry motors, as I’ll discuss below.
- ESC telemetry – With the extra processing power, BLHeli_32 ESCs should be capable of transmitting data back to the flight controller. The most useful data that can be transmitted is RPM and current draw. This data can be useful when diagnosing motor problems with Blackbox and might even be neat to see on an OSD. Current draw in particular can free you from having to have a flight controller or PDB with a shunt resistor (current sensor).
- Controllable LEDs – If you mount your ESCs on your arms, this is a really cool way to get LED lights on the arms as well. Currently, you can configure the lights in BLHeli configurator. I’m hoping that in the future this will also interface with the flight controller.
Going Closed Source
The other big news with BLHeli_32 is that it will be entirely closed-source development. This means that the source code will not be posted online for free and that manufacturers will need to license the software from the developers to use in their ESCs. I’m personally a little disappointed in this decision. While I totally support the developers exercising their right to make money on their hard work, I also think that a big reason that BLHeli became so popular in the first place was its open source nature. This is a topic I could write an entire article on – and probably will. For the end consumer in the short term, it doesn’t matter all that much, so I’ll leave it.
The big gotcha of BLHeli_32 as of July 2017 is that it requires Betaflight 3.2 for passthrough to work. “Betaflight 3.2 – what is that?”, you might be asking. It’s the next, unreleased, Betaflight firmware version. This means that in order to fly with a BLHeli_32 ESC as of right now, you will need to fly with unreleased, experimental software on your flight controller.
Yes, there is a way to program the ESCs on the bench without passthrough. I don’t consider this an acceptable solution, though. You can call me spoiled, but having to do soldering work every time I want to reverse my ESCs is not acceptable to me. Similarly, programming all four ESCs using throttle commands simply is not worth the effort. It also denies you access to most of the unique features of BLHeli_32.
Airbot Wraith32 Setup Guide / BLHeli_32 Setup Guide
Install Betaflight 3.2
In order to program and configure your ESCs, you’re going to want to update your flight controller to use an experimental version of Betaflight 3.2. This can be done as follows:
- Backup your current settings!
- Download the build artifacts for Betaflight from the nightly build: http://andwho.sytes.net:8080/job/BorisB_BetaFlight/
- Unzip the artifacts – you will see a ton of hex files.
- Install the hex file appropriate to your flight controller using Betaflight Configurator.
- STOP! Don’t connect using Betaflight Configurator! You’ll need to update that too before you can continue.
Install Betaflight Configurator
Not only do you have to update Betaflight, you’ll need to run an experimental version of Betaflight Configurator. The reason is that some of the settings have been remapped and if you use an old version of Betaflight Configurator certain features of your quadcopter simply won’t work. For instance, I was not able to use the OSD without using an experimental Betaflight Configurator.
To download and install the unreleased version of Betaflight Configurator:
- Visit the github page, https://github.com/betaflight/betaflight-configurator and click “Clone or Download”->”Download Zip”.
- Create a new folder on your computer and extract the zip file.
- In Chrome, go to Settings->More Tools->Extensions
- Check the “Developer mode” box.
- Click “Load unpacked extension”.
- Select the folder where you extracted the zip file.
- A new “Betaflight Configurator” should show up in Chrome. Make sure you use that to access your flight controller while it is running Betaflight 3.2!
Programming and Configuring the ESCs
Unfortunately, BLHeli_32 is not currently supported by the BLHeli Configurator Chrome app. This is another issue with the firmware I really hope they figure out – the Chrome app was a real breath of fresh air over the older BLHeliSuite. The other issue is BLHeliSuite is a Windows executable and can be very difficult to impossible to get working on Apple or Linux computers.
For now, though, you are restricted to using BLHeliSuite. Thankfully the process is pretty much the same as that of old BLHeli ESCs. The only difference is there are a few new configuration options, including LEDs in the top left and a current limiting option.
To learn how to use BLHeliSuite, check out our BLHeli configuration with BLHeliSuite article.
If you are interested in learning more about BLHeli_32 features or want to try programming from your transmitter, you should check out the manuals:
BLHeli_32 ESC Firmware Manual
You may also be interested in following the development of BLHeli_32. The developers working on this project regularly post on this RCGroups thread with new developments:
Airbot Wraith32 ESC Review
There are two models of Wraith ESCs, the Wraith32 and the Wraith32 Plus. The Plus ESCs are a little bit larger, but will still fit on the arms of most 5″ quadcopters with ease. The big difference between the two is that the Plus is rated for 50A. I’m not sure if I really believe that, but they should be more than sufficient for the ~30A or so my EFAW motors pull at full tilt.
After receiving my Wraith32 Plus ESCs, I took a good look at the electronics. Airbot has a reputation for quality control problems but I did not see anything particularly offensive about the construction of the ESCs. There were some solder blobbing in areas, particularly on the caps, but nothing that would render the ESC non-functional.
One thing to figure out before you begin soldering your ESCs: The LEDs on the ESC are located on the side of the ESC with the controller chip and voltage regulator, not the side with the FETs and shunt resistor. See the pic to the right. If you want the LEDs facing upwards, make sure you solder your wires properly so that this side is facing up. I actually think the LEDs look pretty cool pointing into the frame, so you might want to tinker with it to see which you prefer.
Once installed and flying, I did notice some extra noise in my OSD that wasn’t there before. I’m testing these ESCs on my Chameleon equipped with a Betaflight F3 FC. This means I don’t have a dedicated PDB or all the filtering that usually comes with that. This is probably fixable with some low-ESC capacitors, but I’m still a little disappointed by this problem.
A few disclaimers before I get into the review of BLHeli_32:
- To configure the Wraith32, I had to upgrade to a Betaflight 3.2 pre-release. I have no prior experience with this firmware.
- PIDs and rates were copied from the PIDs and rates that were previously on the quadcopter when running Betaflight 3.1.7.
With the above disclaimers in place, I will comment that BLHeli32 did feel noticeably smoother than my prior set-up. The difficulty here is whether that smoothness is coming from the ESCs or changes in Betaflight made since 3.1.7. For my money, I’m betting on the latter.
Still, the ESCs performed flawlessly. I could not notice any differences in actual performance, as expected. Motor sound was almost non-existent, like with BLHeli_S ESCs. I had no issues with the motors such as desync problems. As noted below, the motors came down noticeably cooler than they have in the past with BLHeli_S ESCs.
As of this writing, I was only able to test the following features:
Automatic motor timing – I really like the concept behind this. I think we’ve gotten to a point in motor technology where we need to start focusing on efficiency over power and this is a great way to start doing that. I was not able to do any objective testing on this to see if it makes a real difference, but I plan to in the near future. I did notice that my motors were running cooler.
LEDs – I really like this feature as well. It’s an easy path to adding LEDs to your miniquads lights. I just wish you could control them from the flight controller.
Current limiting – To test this, I set the current limiter to 20A and went out to do some high powered climbouts. Sure enough, the ESCs would not put out much more than 20A apeice, as confirmed by my OSD which stayed below 80A at all times. This is a quad that can normally hit bursts of 140A so I’m positive it is working. I actually think this is a really neat feature that has potential to help us save batteries from power-hungry motors. In the past, I’ve touted the reasons why I think 2600kV motors are the way to go for high performance miniquads. The big downside of these motors is that if you are too throttle happy at low speeds or while hovering, they will quickly destroy your batteries. With a current limiter you can get around this downside. Set it to 25A or 30A on each ESC and go out and fly. If you hit the throttle a little too hard the ESCs will protect your battery. However, at higher speeds where prop unloading starts to come into play, you’ll still see much better performance than with 2300kV motors. I plan on playing with this a bit more going forwards.
I think BLHeli32 or something like it is the future of quadcopter ESCs. KISS long ago made the switch to 32-bit ESCs with their KISS 24A Race ESC and I would say that that ESC is the last remaining claim to superiority that the KISS crowd has.
That being said, it’s tough to recommend upgrading to these ESCs right now. Because passthrough support will require you to update your flight controller to an unreleased and possibly unstable version of Betaflight, you’re definitely running some risks by installing these ESCs now. More than that – it’s just such a hassle to get it up and running.
The situation is very much like where we at about a year ago when BLHeli_S was released into the wild. At that time, there were still some issues with BLHeli_S ESCs and getting the firmware to work was a pain. Then DSHOT came along and BLHeli_S ESCs became “mandatory” – at least in our opinion. We think it’s only a matter of time before the “killer feature” comes along that drives BLHeli_32 onto the main stage.