I have to say I take great pleasure in installing this very early prototype of Matek 4-in-1 ESC in one of my mini quads and taking it for a flight. It’s kind of cool to know I was one of the first ones in the world that got it, installed it and tested it. Nice feeling. But, why exactly am I showing you this 4 in 1 ESC from Matek? Is it special?
It’s a real bummer when you have to say that something is not a good product. In this case, it’s not bad either. It’s just that TTTRC Dual Gyro F7 plus 8S 4in1 ESC is not good enough. Especially with the price tag…
INAV 2.1 finally introduced DSHOT and just like we expected, introduced some problems. Like quads falling out of the sky. The problem is more prosaic: it is the hardware or to be more specific the cable. The longer the signal cable between FC and ESC gets, the more probable it is that it will not be able to transfer DSHOT. Things like slew rate and bandwidth show themselves.
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
- and more…
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).
When I’ve buoght an oscilloscope (cheap digital DSO201), I’ve decided it would be a good idea to see how different ESC protocols looks like from the signal point of view. Previously I’ve written few words about them, like which is the fastest as so on, but is there something “special” about them?
Well, let’s find out…
“Standard” PWM at 400Hz
OneShot125 at 1kHz
“Analog” PWM used in Brushed motors at 16kHz
Well, looks like PWM, OneShot125, OneShot42 and Multishot (no screenshots for last two, but they are so similar it just made no sense to post those) are basically only an variation of the same basic idea: throttle position is encoded as a period of time between rising and falling edge of a signal. 0% throttle is encoded as period A, 100% as period B. Everything between is scaled lineary. Protocols differ only in update frequency and period lengths for 0% and 100% throttle. Boring…
Only “Analog” PWM for brushed motors is different. There are not rising edges on 0% and throttle, since 0% throttle means no current on motors.
But, this can change. There are first attempts for digital ESC protocols. Betaflight is preparing for DSHOT600 and DSHOT150 digital protocols as I write. Like always, hardware support is/will be highly limited, but hmm… ESC telemetry? Why not…
“What goes up, must come down”. I had an opportunity to face this old truth 2 weeks ago, when my 600mm quadcopter felt from 30 meters straight into water.
It was supposed to be a simple flight:
- take off
- fly few hundred meters away with GPS assist
- engage Return To Home and land
Dozens of missions like this in last few months, so really, nothing special. Unfortunately, like I mentioned above, not everything went as planned. 2 minutes after take off, UAV lost stability and went down with screaming motors. Read More
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 Inputoption 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 220.127.116.11.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 ESC to battery
Checkto detect connected ESCs
- BLHeliSuite will detect unknown firmware with SimonK bootloader
- Select ESC (1, 2, 3 or 4) and click
- Here comes funny part. There is no
ZTW Spider 40A OPTO Smallformware! 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 MULTIfirmware 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!
When 3 month ago I was doing “Hands on” review for EMAX SimonK Series 30A ESC I was quite optimistic about them. Well, why should I not be? Quite cheap, decent quality, easy to configure. Did EMAX 30A SimonK Series ESC met expectations I was putting on them?
Simple and short answer is: no, they did not met expectations. Reason is: one of them caught fire during flight causing whole UAV to fell from 30 meters into water.
As you can see on the pictures above, ESC is completely burned. Both MOSFETs and electronics. How do I know it burned during flight and caused a crash and not the oter way? Thanks to Blackbox logs I have a proof that this single ESC and motor connected to it were gradually losing power before UAV crashed. Since motor and attached propeller survived without a scratch, ESC is the one to blame.
To make things worse, it was not too much load that killed it. Before crash ESCs were running at around 45% throttle. That is around 7A per ESC. Way below promised 30A.
So, final conclusion: no, maybe they are cheap and easy to use, they are not reliable! And that is the critical flaw of those ESC!