I have been using SimonK firmware on my Mini Quad Blue Series 12A ESC, they perform really well and I can’t complain. But recently Oneshot and Active Braking (damping light) has been popular and I have been hearing all sorts of good things, but they are only supported in BLHeli (V13.0) at the moment. So I decided to flash the latest verison of BLHeli firmware on my Hobbyking BS ESC.
Just like how I flashed SimonK, I will be using an Arduino Uno board as the ISP Programmer, and the ATMEGA flashing tool to gain access to the ESC chip. For connections check out this post.
Connect Arduino Uno and Flashing tool
Arduino Mini and Mega should work too. Connect the flashing tool to the pins on the Arduino following this.
Arduino Uno / Nano
Arduino Pin 10 – SS / Reset Arduino Pin 11 – MOSI Arduino Pin 12 – MISO Arduino Pin 13 – SCK
Get BLheliSuite Software Ready
First download the latest BLHeliSuite client from here. Note that Oneshot is only available from version 13.0 onwards.
Then you need to setup BLHeliSuite, so that you can use the Arduino as ISP Programmer to flash your ESC. If you are not sure, make sure you also check out the video below for visual step by step instructions.
In the top menu, click “ATMEL / SILABS” and check “ATMEL ISP Interface“.
Now go to the “Interfaces for Atmel” tab, choose “Uno” from the drop down list in “Arduino board“, Pick the com port of your connected Arduino board, leave baud rate as default 115200.
Now, Click the “Make ArduinoISP Programmer” button. This will automatically upload the ArduinoISP sketch for you, without having you to do that in the Arduino IDE, very handy :)
When it’s done, go back to “Atmel BESC Setup” tab, at the very bottom, in “ISP Prog“, choose “ArduinoISP (Arduino as ISP Interface)“, and the com port of your connected Arduino. Leave baud rate as default 19200.
Flash BLHeli Firmware !
We are now ready to flash our Blue Series 12A ESC, place your flashing tool on the Atmel chip on your ESC.
Now click “Read Setup” button, BLHeliSuite should read the information on your ESC just like it does in the CMD window when we were flashing SimonK. If you didn’t place the flashing tool on the chip properly or misalign the pin connections, you will get an error. If that happens, just double check and try again until it works.
After it successfully read your ESC, it should detect the current firmware is “SimonK or others”, and will prompt you to flash BLHeli on it.
Press yes, and you can now choose a firmware according to brand, spec and code version. For each ESC, there are three versions of the code,
- Main: Intended for helicopter main motor
- Tail: Intended for helicopter tail motor
- Multi: Intended for multirotor motors
I chose Blue Series 12A Multi, since mine is a mini quadcopter. I left everything else as default, and this will take you 30 seconds to flash your ESC.
Enable Oneshot and Active Braking Feature (Damping Light mode)
Now, enable Oneshot in Cleanflight if you haven’t already. After BLHeli is flashed on your ESC successfully, Oneshot (AKA Oneshot125) is automatically detected and enabled by default (it can tell by the signal coming from the FC), there is nothing more you need to do.
There is one more popular feature in BLHeli can you enable, which is Damping light mode. As mentioned, active braking allows much rapid throttle response as it actively slow down your motors as you reduce throttle, while before, your motors are passively slowed down by air resistance.
SimonK VS BLHeli Test and BLHeli Flash Instructions
Here we have a simple comparison of how much responsive the motors have become since the flash of BLHeli, to our old SimonK ESCs.
Comparison is done using two different mini quad, but exact same setup, same looptime, same PID, same flight controller.
You can hear the different with Oneshot and Damping light enabled, the motor speed changes much more rapidly, very responsive throttle changes. It also sounds faster switching, more aggressive and higher pitch.
Note that oneshot and damping light doesn’t affect the how fast FC is updating the ESC, so you probably won’t notice much difference in the configurator motor tab. It’s mainly how the motors are handled by the ESCs, and how much more responsive the motor is regarding to changes.
With the good old SimonK, it sounds a bit softer and the motors still rotates a bit slowly after throttle is cut. But with Damping light enabled, the motors are actively forced to stop (hence named Active Braking I guess). I think this might use a bit more current and not as power efficient. But I tried hovering in my room for a few minutes, control feels very good and motors are not particularly any warmer than before. I can’t wait to test this outdoor later.
About Looptime, I tried lowering looptime to 2400, 2200, 2000, even 1600, all perform well and doesn’t have any jittering issue like before. I observed jittering at the beginning, but that was due to a faulty ESC. I would recommend 1600 which gave me good result. With PID Controller = 2, I could even set it to 1200, which is the lowest Naze32 can handle. Forget about Kiss ESCs :) cheap BS ESC performs just as great :)
The motor noise at zero throttle
With Oneshot enabled my motors make clicking noise. I don’t really mind, but if you want to get rid of it, set your min_command lower to reduce it.
set min_command to 960
That should get rid of the noise down low on Atmel based ESCs.