It was always my goal to find a high KV motor with decent amp draw and high RPMs that would really put some pressure on the hardware. I really found that with the RotorGeeks 2205 2700kv motor combined with the HQProp 4x4BN propeller. This combination hits over 35000 RPMs and over 20A on the high end. 35,000 RPMs on a 14 pole motor at 245,000 eRPMs is right up to the 250,000 eRPM limiter point in BLHeli for the Silabs F330 and F840 ESCs, as well as the Atmels. The goal was to show if the MCU becomes a limiting factor and find where the limits of the various ESCs lie. This test certainly fullfilled those requirements. This was one of the longest and most problematic ESC tests I've run to date! About half way through the first run of data, the prop started deflecting on the high throttle ESCs and I didn't notice till I was reviewing the data. This meant I had to entirely redo about half the ESCs. This combintion REALLY pushed the hardware. In the process of this test I've blown 5 ESCs (2 LittleBees, a KISS 18A, a KISS24A, and an SN20A) for various reasons, ranging from firmware issues to sync loss, to hardware failure (SN20A anyone?). I started out running the tests at 3.8khz refresh rate (260us looptime), but that ended up being too much for the slower MCUs combined with the high output RPMs. In the process Steffen added some high RPM optimizations on the F330s in BLHeli and released v14.4, and Felix found an issue with the firmware in the new KISS 24A related to high (>3.5khz) refresh rates. It was good to see active testing solving real problems and contributing to moving things forward!
Here is the full list of ESCs tested:
Afro 20A HV BL
Afro 20A RS BL
Aikon BoltLite 30A
Aikon SEFM 20A
Aikon SEFM 30A
DALRC BS25A
DALRC XR20A
DYS SN20A BL
DYS XM20A
DYS XM30A
DYS XMS30A
DYS XS20A
DYS XS30A
Emax Lightning_S 35A
Emax Nano 20A
Flycolor Fairy 20A
Flycolor Fairy 30A
Flycolor Raptor 20A
Flycolor Raptor 30A
Flycolor Raptor F390 20A
Gemfan Maverick 24A
KISS 18A
KISS 24A
KISS 30A
LittleBee 20A
LittleBee 20A Pro
LittleBee 30A
Maytech 18A
RapidESC F-30A BL
RotorGeeks RG20
RotorGeeks RG20 Plus
Sunrise Cicada/RaceStar 20A
Sunrise Cicada/RaceStar 30A
T-Motor Flame 25A
UBAD Angry Beast 30A
VGood FireFly 30A
XRotor 15A
XRotor 20A
XRotor 40A
ZTW 20A Pro F330
ZTW 20A ProHV
ZTW 30A Pro Premium
ZTW 30A ProHV
ZTW Flash 20A
ZTW Flash 30A
ZTW Spider 18A BL
UPDATE 08/04/16:
Lots of new stuff this time! I've added a BUNCH of new ESCs to the list. There were a couple of surprises here.
Gemfan has released a new 32-bit ESC, the Maverick, and it did quite well. It performs very similarly to the lower end BLHeli_S ESCs, has it's own configuration software that works through cleanflight/betaflight passthrough feature, and is extremely smooth. The transitions speeds on stock settings were a bit slower than the BLHeli_S alternatives, but that setting can be configured in the software suite to be optimized per motor and prop. Overall this is a very interesting ESC. It has the RX and TX pads for the STM32F0 chip's UART port broken out next to the PWM signal pins. This has some interesting implications moving forward for non-analog throttle signals, as well as telemetry uses. Very interesting stuff.
I also received the RaceStar ESCs from BangGood, and verified that they are indeed Maytech/Sunrise made, and identical to the Cicada line. The results for the Cicada are applicable, and build quality is fantastic as with the others. For the price these are a fantastic option.
ZTW sent over the new Flash 20A ESCs. These are really very good. They're well built and the placement and soldering on the SMD components is fantastic. My only complaint is the complaint I have always had with ZTW, the VERY thin PCB used for the ESCs. The results are very good here though. They have quite a low idle thrust, and a very respectable top end, higher than most of the other _S ESCs out there. Very solid performance.
The real surprise here were two ESCs I received from DALRC. The BS25A BLHeli_S ESC, and the XR20A F396 based ESC. I was unsure of what to expect here, since these are the first real entry into the ESC market from DALRC. I was very impressed by the build quality here. There was a lot of care taken on the heat dissipation in particular with extra head spreaders and a small heatsink on the FETs, and lots of capacitance on the boards. It wasn't the build quality that was surprising here though, it was the performance. These two blew everything else away.The BLHeli_S ESC topped the charts of the current _S offerings, and the XR20A is now the best performing ESC I've tested for it's size. It matched XRotor 40A and XRotor 20A offerings while remaining quite small. The only question in my mind with these ESCs is the long term quality control. DALRC has historically done quite well with their other products however, so time will tell if that holds with these.
As a last update here, I've added an ESC Data Explorer to the site! As a result I've removed the numerical response time chart from the ESC sheet, since the data explorer gives a much more complete look at the real transition speeds. Be sure to check it out for the new additions.
UPDATE 07/07/16:
After some weeks of struggle with my methods of powering the ESC tests, I finally got a few more of the BLHeli_S ESCs added to the list! Unfortunately the file was getting so large it was causing some serious stability issues and in the end I simply couldn't add any more cells to the document. The document has been revised and all the raw data and ramp charts were removed. I am working on an alternative method of accessing the raw data for those of you who are interested, as well as working on a data explorer for the ramp information. The ramps were just too saturated to be useful given the limitations of the graphs in Google Sheets. I've also abandonned numerical valuations of transitions speeds, as it turns out they're not really a good representation of actual response. The ESC data explorer I'm working on will also provide the same comparison method using graphs that has worked so well in the motor data explorer. As a bonus the document should load much faster now.
I have added the Sunrise Cicada 20A and 30A 2-4S ESCs to the list. They did quite well, but it seems the slower 24mhz MCU is impacting their performance on this high KV motor. Thrust was down a bit compared to the other ESCs by about 15g from most of the other _S options, and more against the highest performers. They had no stability issues and ran solid.
I've also added the ZTW Flash 30A. This one was pretty impressive, performing quite well, but is fairly large. I am looking forward to seeing any additional offerings from ZTW in the smaller size range. On this one it basically matched the performance of the ZTW Pro HV 30A, which looking at the ESC is the source of the design for the Flash 30A, so there is no surprise there. I'd love to see a BLHeli_S Flash ESC based on the design of the Pro Premium ESC. Should be good size and good performance based on what I've seen of the Pro Premium.
I got another very interesting ESC in this week and added it as well. T-Motor sent me their new Flame 25A. It has a monolithic MCU/Gate driver chip all in a single silicon package, and runs propretary firmware. I was really unsure of what to expect on this one, but it did pretty well. If I had to hazard a guess I'd say the ESC is roughly based on the design of the XRotor 15A. I see some definite similarities there. The ESC is also entirely conformal coated on the inside. It is quite large with an external electrolytic cap, which probably makes it less than ideal for most miniquad applications, but overall it's an intriguing ESC. Thrust was down a bit compared to the other offerings on out there, peaking at just under 800g on this. It clearly has hardware PWM, and is very smooth running. Performance was very similar in terms of output to the KISS 30A. It will be interesting to compare response times once I've gotten the data explorer finished.
I finally managed to the XS20A from DYS run as well. There were some problems with this ESC on the stock firmware it shipped with, as I got a very early pre-release version. After some playing, the extended deadtime version of the firmware (70 dead time multiplier instead of 50 that it shipped with) I was able to solve the issues and got a successful run. I think the increased deadtime is impacting the output on this high KV motor though, as the thrust was down a good bit, not quite breaking 800g. It was stable with the new firmware on the bench, and no hiccups, but whether or not it will have any issues in flight on a quad remains to be seen.
UPDATE 06/06/16:
I've added the new DYS XS30A to the list, the BLHeli_S offering from DYS. It looks like the version of the XS20A I was sent still needs some work as, it was rebooting during the test. I'll post an update once I have more information on that particular one. I am hoping to have the new BLHeli_S offerings from Sunrise and Maytech in as well, though I am still working on sourcing them.
The XS30A was no surprise. Porformance was spot on with the XMS30A, which was the source ESC for this design. Of course smoothnes and responsiveness increased as expected with the _S ESC. As with the other recent _S ESCs this one also uses the EFM8BB21. It looks like the Sunrise and Maytech will be using the EFM8BB10.
UPDATE 05/21/16:
I've added a few new ESCs to the list. The new RG20 Plus was added a few days ago, and I just added the new Emax Lightning_S 35A ESC, the new BLHeli_S ESC offering from Emax.
The RG20 Plus is essentially identical to the original RG20 except for the upgraded F396 MCU instead of the F330. Performance is on par with the other F39X series ESCs. One thing to note is that I do not have a BLHeli 14.4 binary for this, so the results posted here are on 14.5. I've notice some thrust variations on 14.5 vs 14.4 with this particular motor, so the RG20A Plus may be slightly under-rated in this test. I will see if I can get a 14.4 binary from Steffen and re-run it so I'm comparing apples to apples.
The new Emax Lightning series ESCs, look fantastic. I'll be testing the 30A and 20A mini ESCs over the next few days, but for now the 35A BLHeli_S ESC hit the stand and did extremely welll. Matched performance of the Aikon SEFM, the other BLHeli_S ESC I tested, and was a bit more efficient. This ESC is about the same size as the LittleBee 30A, and comes with a heat sink that allows 6S operation. My guess is that the sink can be removed for 4S operation, but do so at your own risk, and check ESC temperatures. Pulling 20A for 3 seconds at a time the ESC was barely warm to the touch with the sink on, so I suspect heat won't be an issue. Check the results above for the full details.
UPDATE 04/24/16:
I've added a couple of additional ESCs to the list, The XMS30A (the smaller ELCO-less version of the XM30A), the Flycolor Raptor F390 20A, and the VGood Firefly 30A.
To be clear the XMS30A is actually a total redesign of the original ESC, not just a small update. It took me a while to realize this, hence the delayed addition to the test. The new design is based of the XM20A, and uses large higher rated FETs instead of the 12 small FET design of the original XM30A. The gate drivers have also changed entirely. What we see in the results is a drop of about 15g of thrust as a result.
The Raptor F390 did quite well, not up to the level of the Xrotor/Aikon/ZTW Premium, but not far off. I'd still put it within the range of the XM20/XMS30/ZTW ProHVs/UBAD etc. Any additional thrust there is most likely a result of environmental variables.
Finally the VGood Firefly. These ESCs have some good potential, but they're still pretty earily in development. The firmware is being worked on and updated regularly, but in my opinion it still has a bit to go before it's polished. The ESCs has had trouble completing this test and was only able to get through the full sequence on this motor with the latest firmware update. Hopefully they will continue to improve. I'll be continuing to test these as they roll out firmware updates, so keep checking back to see if the results change.
UPDATE 04/19/16:
I finally got the final prototypes of the Aikon SEFM 30A BLHeli_S ESC in, as well as the new LittleBee 20A Pro/ MRM Zeus v2.
Bad news first. The LBPro/Zeusv2 is failing my test on this motor in the same way that the LB20A F330 did. It seems to be an issue with the electronics beyond just the MCU. I've sent the logs to Steffen to look at and we'll see if we can't figure out the issue.
Now the GOOD news! BLHeli_S is epicly smooth! The idle is just nuts, and the rough startup traditional with BLHeli is utterly gone! I was a tad disappointed in the top end, as it was still 30g or so under the XRotor 40A. To be fair it still scored almost even with the LittleBee 30A and the UBAD 30A, so all things considered it's still a win in my book. There may also be further optimizations in the firmware, but time will tell. Overall I am EXTREMELY pleased. The results are updated above with the SEMF. I still have to run the second order metrics for braking, etc, as well as for the other ESCs I recently added, but I'll get to those soon. That will provide some interesting additional information. For now, enjoy this video of the test run, and the sound of smoothness!
Also on a side not I've been trying to run the new VGood ESCs for over a month on various firmware updates, and they have yet to successfully finish this test. Firmware still seems to need some work there. It also seems to have some pretty bad stepping/nonlinearity in the throttle. I hope they can solve those issues, because I think the hardware has potential. Maybe we'll see BLHeli_S on them soon :D
UPDATE 04/10/16:
I added a few new ESCs to the list. Massive RC sent the new ZTW Spider Pro Premium 30A, the F390 4S maximum small version. I also receivered the brand new Aikon BoltLite 30A, which is almost identical to the ZTW but with slightly thicker PCB, more capacitance and a switching 3.3v regulator rather than the linear regulator. Both of these ESCs look great, and performed on par with the XRotor and XM30A while being the same size as the UBAD/XM20A. Excellent additions to the F39X ESC realm. I also received the F330 based Flycolor Raptor 30A from 65drones. This one did very well showing some significant improvement over the 20A version, and topping out the F330 ESCs. It still had some RPM saturation on the top end of the ramp cycle thanks to the F330 MCU, but not a bad performer overall. One interesting note is that I had about a 2% thrust variance on these ESCs that I needed to account for as a result of changes in the environmental variables compared to when I was running the original tests. I re-ran several of the ESCs that already had results across the range and found the offset for the new ESCs. The results line up perfectly as expected, so it worked out fine and the results are all still direclty comparable.
There were definitely some interesting things to come out in this test. The KISS 18A and 30A ESCs can't handle 3.8khz updates on 4S on this motor. Due to the fast update rates, the MCU on the Atmel based KISS's overloads at about 3.5khz, and causes sever stuttering at full throttle. Backing the refresh rate solved the problem entirely. The KISS 24 did better, but still skipped during the idle-100% throttle pass on the firmware it shipped with. As I mentioned though Felix was very responsive and immediately fixed the firmware issue that caused this. The new release of the firmware solved the issue entirely. Interestingly enough once the issues were solved, the KISS 30A and the KISS 24A performed almost identically in these tests. The 24A had a slightly flatter thrust curve, but they ended up with the same thrust output essentially to the gram, which I found very interesting.
The BLHeli ESCs did pretty well on this test, but I definitely found the limits of the F330 MCUs withe oneshot and looptimes on high KV motors. It looks like anything over about 2500kv and over 1khz update rates on the F330s causes significant stuttering during rapid throttle updates, not in terms of the size of the throttle jump, but in terms of the number of throttle updats that require a change in RPMs per second. Static motor positions and fast jumps that only update once are fine. During the slow ramp though, near the top of the RPM range it started stuttring pretty bad on all the F330s above. 1khz. Even at 1kz you can see it a bit in some of the trust ramps for certain of the F330 ESCs in this test. This is pushing the limits with a small prop on a ridiculously high KV motor though. The moral of the story though, is if you want to run 2khz ESC updates or greater on higher KV motors and small props, the only ESCs that are really going to handle it are the F39X based BLHeli ESCs, and the KISS 24A with the latest firmware.
The Maytech 18A 32bit ESC was an interesting addition to this test, sent over by Hawk Hobby. It was WICKED smooth on the motor output and no stuttering anywhere in the throttle range, even at full power, BUT... It was still a good deal less powerful than the F39X/F330 based ESCs, barely outpacing the Atmels. Also there was some definite plateaus in the throttle range where the throttle was non-linear. Not sure what's going on there, but when I get the data all collated and graphed, I think it will be more clear. Still this is a technology to watch, especially once Steffen or Simon get their hands on it! I think most of the troubles here are firmware related, not hardware.
There were two real surprises in this testing. The first was the new ZTW Pro and Pro HV lines. They both did remarkably well, especially after the poor performance on the Spider 18A. The new Spider Pro 20A with the F330 MCU did the best of any of the F330 ESCs, and jumped the thrust gap up into the low F39X territory. I was really surprised by this, and even double checked several times. Not sure what makes the difference, but there is definitely a difference. The second surprise was the Afro 20A HV. It did very well, again, jumping thrust categories up into the mid F330 territory. This isn't exteremely surprising, given the Afro 20A HV is the only Atmel ESC I have with dedicated FET drivers, but still the amount of performance different compared to the other Atmels was unexpected, as the gap wasn't that large on the lower KV motors.
The last thing that was interesting were the XM20A and XM30A. The XM20A did amazingly well upgraded to the Graupner Ultra 20A code for BLHeli. By the end of the test however, Steffen had released the XM20A specific firmware, so the final results are from the dedicated/correct firmware. The real wowzer here is the XM30A. It performed on par with the Xrotor 40A and Xrotor 20A ESCs almost to the gram, and even beat them out in the ramp test! Please note though, DO NOT run this ESC on the Graupner or the XM20A firmware. This will cause shoothrough and significant heat issues on the ESC. When testing the Graupner firmware it got so hot I almost burnt myself. I tried to do two runs back to back and it went into thermal shutdown. Switching back to the XRotor 20A firmware solved the issue though, and I saw no significant change in performance. The final results are from the XR20A firmware.
Probably the most intersting component of this test was the very obvious seperation between the different classes of MCUs in the ESCs.
The data really demonstrates the fact that MCU power plays a role in the RPM output of the ESC. There was nearly 140g difference in thrust between the ESC at the bottom and the ESC at the top, which is some really significant seperation.
Additional Notes
I had so much trouble with reliability on my previous thrust setup that I made some revisions for this test. I abandoned any mechanical transfer setup, and direct mounted the motor to a new load cell. This setup is repeatable to the gram. Thrust numbers are now MUCH more reliable and extremely accurate. I was very pleased by the new setup in this test. The prop has 100mm clearance from load cell plate, and is pushing down against the load cell, not pulling. Based on my testing this has zero impact compared to a free flowing prop in the 4-6" range, which is all I am testing. Compared against the free air flow stand the numbers were within the margin of error.
For RPM sensing I'm currently using an EagleTree electical RPM sensor connected to an interrupt pin on the MCU. Unforutnately it seems to be struggling a bit at the RPMs in this test. It does fine up to about 95% throttle, but then it starts losing accuracy. It also seems to be quite suceptible to electrical noise, though that may an issue with interrupt pin on the MCU or the wiring. Unfortunately that measn the numbers on the 100% throttle test are not really valid for more than a ball park. They seem to only be accurate to +- 500 RPMs or so, which isn't great. Also for some reason the BLHeli Atmel ESCs generated a bunch of noise on the signal line which clearly threw off the RPM readings. You can see they're several thousand RPMs too high in several spots for the thrust produced. I'll be working to solve this issue for the next test, and I may re-run the really spurious ESCs (like the Atmels and the KISS 30A), but for now in this test, the RPMs aren't 100% reliable, which is unforutnate. I've had so many delays already getting this test run, I will post as is for now. Fortunately the accuracy of the thrust tests largely makes up for it.
Towards the end of this test I also replaced my shunt resistor based current sensor with a hall effect bi-directional sensor. I was having some odd issues periodically with the shunt resistor current sensor. Noise on the power lines really had an effect on the readings and if an ESC blew or lost sync it would dump current into the analog pin and burn out the analog sensor for that pin in the MCU. Last week --OZ-- from RCGroups sent me a 200A bi-directional hall effect current sensor, and I finally got it hooked up. Even though it's a theoretical loss of resolution with the 400A range vs the 100A range, the new sensor is much more sensitive and responsive and getting better readings. Interestingly enough the bidirectional sensor is useful as it actually shows negative amps during times when the braking is kicking in, which is pretty wild to see. It showed over 4 amps in reverse during some parts of the run. It's also catching the high current peaks better too. As a bonus it's not electrically connected so it doesn't induce noise and won't blow my analog pin. See the graph below for the run on the bi-directional sensor.