Looks like BLHeli team is not wasting their time and is preparing something new for our multirotors. After BLHeli_S, we will also have BLHeli_32.
According to an announcement posted on RCGroups, new software for ESCs (and new ESC of course, since it will not be compatible with current Atmel and SiLabs MCU) will be:
Running 32-bit MCU, Cortex-M0 at 48MHz (STM32F0 ??). Which, in my opinion, is a very logical step to take. Please remember, that all SiLabs (Silicon Labs) MCU powering most of our ESC, are under the hood old Intels 8051. And please remember that Intel 8051 was created in 1980. 37 years ago…
There are few places where additional computational performance can be spent. For example:
Programmable PWM frequency up to 48kHz
Auto timing for better efficiency
Programmable brake on stop power, very useful for folding propellers
Voltage and current limiting
ESCs with BLHeli_32 are not available yet, but Airbot already announced Wraith32 Plus (with voltage and current limiting) and Wraith32 Mini (without voltage and current limiting).
While BLHeli was the best what happened to ESCs since original SimonK firmware, BLHeli has one very serious flaw: BLHeliSuite works only on Windows operating system. Let's be honest here, this sucks. OK, one can use virtual machine and some people succeeded to run it using WINE (I failed) but those are not good solutions.
Now, it changed. There is a 3rd party, operating system independent solution to flash and configure ESC with BLHeli. It is called BLHeli Configurator and can be obtained from GitHub.
It is not perfect software, but works well. Today I have successfully flashed BLHeli 14.8 to my FVT Littlebee 20A and changed some setting. Awesome.
BLHeli Configurator is a Chrome application, so it requires Chrome browser
Only BLHeli passthrough interface is supported. So, ESCs has to be connected to Cleanflight, Betaflight, INAV or TriFlight
ATM setup requires few commands like npm install and npm run build. And that means, NodeJS and NPM are required too
Nor all features are implemented or tested. But is developers will keep the pace, it will be an extremely useful peace of code!
Two years ago it was simple: you wanted to connect ESC to Flight Controller or radio receiver, you were just doing it. There were only one (maybe 2) protocols that allowed to pass information to ESC. It was a standard PWM protocol. And it was enough. No, with faster hardware, mini or even micro quads, this one protocol is not enough. So, we also have OneShot125, OneShot42, and Multishot. Should we care? A little.
Legacy 'Analog' PWM signal – this protocol is not used in the multirotor world. It is supported only by an extremely limited number of ESCs and radio receivers. 0% PWM duty cycle means 'Stop' and 100% PWM duty cycle means 'Full power'. Modern UAV pilots/builders should not take about it at all. The interesting fact is that BLHeli supports it as PWM Input option that is disabled by default.
'Standard' PWM signal – I've previously described this protocol here. To recall: protocol encodes requested output as a length of a pulse. The pulse length of 1ms means 'Stop' and the pulse length of 2ms means 'Full power'. Because of this, maximal theoretical update frequency is 500Hz (490Hz in practical applications). Signal delay in case of PWM protocol is 2ms. It means, that ESC can start to update output 2ms after the flight controller started to send this information. All of that makes PWM rater slow, and using loop times below 2000us (refresh rate 500Hz) makes no sense.
'OneShot125' protocol – this protocol uses 8 times shorter pulses than standard PWM protocol: from 125us (stop) to 250us (full power). That means 2 things: it allows for 8 times faster PID control loop update rate (looptime 250us / 4kHz update rate). It also has 8 times shorter signal delay: only 250us instead of 2000us. Currently, OneShot125 is the minimum for mini quads. Even bigger machines will appreciate smaller delay. Supported by most flight controllers and ESC (SimonK, BLHeli, KISS, other). If both Flight Controller firmware and ESC supports OneShot125, it should be used.
OneShot42 is 3 times faster version of OneShot125. Max 12kHz update rate and 42us signal delay. It was developed by Flyduino as part of KISS FC and ESC 'program'. Not widely supported yet.
Multishot – the fastest ESC protocol in this comparison, developed by RaceFlight, allows for 32kHz update rate. It is almost 10 times faster than OneShot125 (80 times faster than PWM). Requires both fast FC (preferably STM32F4) and fast ESC (Silabls F390 preferably). Not widely supported mainly because of a limited number of 'Multishot ready' ESCs. And it has fancy startup melody too… man…
DSHOT that comes in many versions, DSHOT300, DSHOT600, DSHOT1200… This is the "digital" protocol. It's not based on the length of a pulse but uses zeros and ones send just like over a serial port to control ESCs. With error control, fast update and commands like "beep" or "reverse". In theory the best on. It's not supported by all the software and hardware tho.
ZTW Spider 40A OPTO Small ESC with stock SimonK firmware can be easily flashed with BLHeli using Cleanflight interface. I just did it, the whole process took few minutes. To be true, it took me more time to find out which firmware should those ESC be flashed with, than to flash them. For unknown reason this information is well hidden in the internet! So, here is short guide:
We will be using Cleanflight BLHeli passthrough interface. It is build in in laster Cleanflight / Betaflight / INAV firmwares
Use latest BLHeliSuite. I used 126.96.36.199.0.0
Connect ESC to flight controller
Connect flight controller to USB port
Run BLHeliSuite software
From Interface menu select ATMEL BLHeli / SK Bootloader (Cleanflight)
Select COM port and click Connect
Connect ESC to battery
Click Check to detect connected ESCs
BLHeliSuite will detect unknown firmware with SimonK bootloader
Select ESC (1, 2, 3 or 4) and click Flash BLHeli
Here comes funny part. There is no ZTW Spider 40A OPTO Small formware! Documentation states that ZTW Spider 40A should be flashed with BlueSeries 30A firmware. But images in docs and mine ZTW Spiders differs a little. But, looks like it is not a problem. Select BlueSeries 30A MULTI firmware and flash
BLHeli 14.x enables Damped Light by default. That might not be a best idea for big (> 8″) propellers so you might want to disable it
Bottom line: ZTW Spider 40A OPTO Small ESC should be flashed with BlueSeries 30A BLHeli firmware!
You finished your build, you connect LiPo, power up flight controller, apply throttle (no propellers of course) and you see that one or motors are spinning in wrong direction. How to fix that? You can not do it, for example in Cleanflight Configurator. ESC communication protocol does not allow to change BLC motor direction.
There are 4 ways of dealing with this problem:
Hardware way that works all the time: swap any two motor wires. Does not matter which, just take any two and swap them between motor and ESC: A with B, B with C or A with C. If you have bullet connectors, it's simple. If you soldered wires to ESC pads, you would have to resolder them.
If you have BLHeli ESC software, BLHeliSuite allows to change motor direction without swapping any wires. Connect to ESC with BLHeliSuite, and change Motor Direction option. This works only with BLHeli enabled ESC, and only on Windows.
Most of ESC allows to change options like motor direction via transmitter. Exact procedure differs from manufacturer to manufacturer, but usually it looks like below. For exact procedure and possible options refer to ESC user manual!
Connect ESC to radio receiver throttle channel or use flight controller configurator software Live mode. Remember to remove propellers!
Power ESC, it will start to beep signaling number of cells
Keep throttle up until you hear a sequence that confirms programming mode has been entered
Wait to hear beeping sequence indicating Motor Direction option
Wait until you hear beeping sequence indicating desired rotation direction (normal or reversed)
Setting will be changed and after next power cycle rotation direction will be changed
Sometimes special programming cards for ESC can be acquired. They somehow automate procedure from point 3 but work on the same principle. For exact programming procedure refer to programming card user manual.
You want to know the secret? I’m cheap. I almost never buy expensive stuff. It’s not that I can not afford it and buy cheapest stuff available. In my opinion, both ways are wrong. I buy things that position themselves somewhere in the middle. Not the cheapest, not “the best” and most expensive? Why not the cheapest? Because of very low quality. Why not the best? Because I have to pay a lot a little of additional quality or performance I do not really need. And things in a middle usually provide enough for reasonable price. For me it makes sense…
Thanks to GearBest I’ve received a set of EMAX SimonK Series 30A ESC for a review. They are not the cheapest 30A ESC for multirotors. You can easily buy some no-name for almost half a price. You can also but “the best” for almost twice as much. But are they worth the price? I will try to find out in the next couple of weeks while using them on my 600mm quadcopter.
EMAX SimonK Series 30A ESCs are packed in antistatic bags with a user’s manual in Chinese and English.
What happens when your soldering skills are not as good as you thought they were? Well, usually you end up with something burned. That was exactly what happened to me last week. I replaced damaged motor, soldered wires directly to ESC, just like always, and went flying.
First LiPo, everything good. Second LiPo, no problems. Third LiPo, crash, no damage. Fourth LiPo, still no problems. Fifth LiPo, another crash, minor damage: cable tie holding one of ESC broken. I replaced cable tie, put another LiPo, replaced broken prop and attempted to take off. Quad refused to comply, flipped and popped magical smoke. Second later flame appeared. Fire went down only after disconnecting battery. Damage above repair, PCB burned.
When I was building my 250 class quadcopter I wanted to make that cheap. So, I’ve bought cheap ESC: Turnigy Multistar V2 10A ESC for S2-3 with 2A LBEC. And yes, they are cheap: slightly less than 8EUR per piece. With preloaded BLHeli software. Cool, isn’t it? Well, not so cool after all, but first things first.
Preloaded BLHeli software (version 13.1 in the ones I’ve ordered in late June 2015) simplifies a lot. No need experiment to upload BLHeli and 1-wire interface is available from the start. Also update to BLHeli 14 was pretty simple without any glitches. Unfortunately, there is a reason those ESC are so cheap…
After 2 months of using them in my 250 quadcopter I can state the following:
They are cheap all right,
None of them burned yet so it’s a good sign,
Preinstalled BLHeli and easy to upgrade
10A is not much for a quadcopter needs, slightly higher max current would be welcomed . But this is my fault, not those ESC,
they do not support Damping Light, so no active breaking on those ESC (booo),
OneShot125 on those ESC behaves strange when throttle is below lower limit. They screech. Fortunately nothing bad happens in flight,
2A LBEC regulator is in fact double LM7805. And it heat a lot.
My 250 class quadcopter project is slowly coming to a successful (hopefully) end. Finally had some time to assemble motors and ESC.
Since I wanted to have rather standard setup with 5×3 propellers, I had no super high demand on ESC, I’ve decided to use Turnigy Multistar 10A V2 ESC preflashed with BLHeli software available at Hobby King. Why them? Cheap, already flashed with BLHeli so no need to to flash at home and 10A is enough to drive 5×3 props. And it’s also enough for 6×3. Just in case.
Motors are also Turnigy bought at Hobby King with 50% discount few months ago: Turnigy Multistar V2 2206 2150KV “Baby Beast”. After discount they were super cheap: $7.5 apiece. And they are green, what goes nicely with carbon fiber ZMR250 frame.
Right now motors are not soldered directly to ESC, I’ve only removed 2mm bullet connectors from both motors and ESC. Waster on space. I’m still thinking about where to put those ESC, so for first few weeks there will be some extra cable between them. Later we will see.
Hey, don't leave yet, there is more!
Do you know that there is a YouTube channel with awesome, drone and FPV related video? Why don't you give it a try?