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.
I have followed your guide, and everything works great. I’m using ztw 12a spider esc, naze32 rev 6 , sunnysky 2204 motors. Only one issue, if I enable one shot, my motors twitch. Even if it’s not armed, just sit there with a slight beep and twitch. They seem to run fine, bit is that normal? Is there a way to get rid of it? Thanks for the guide btw
it’s a common issue with ATMEL ESC, you can try to set min command lower e.g. 980 or 970
I just flashed my rctimer 12a esc that came with SimonK to Blheli following your instructions and now my ESCs seem dead.
The blheli software said everything was successfully, but when I power up my quad my ESCs do not make any noise.
I tried connecting to cleanflight and perform an esc calibration but nothing works.
The instructions were meant for Blue series.
I have never used any RCTimer ESCs so not sure if they would work…
maybe try flash them back to simonK?
by the way, I recommend joining this forum, it’s very useful and there are lots of helpful people there. I am a daily user too :) http://intoFPV.com
if your on a cc3d fc board you need to use the last pin on the FC reciever port for ppm, not the third one like regular ppm uses but mabey thats not the problem?
I have a problem flashing. Im trying to flash Blue series 30A. Can you help me?
It tells me:
Device Signature: 0x000000
Yikes! Invalid device signature
Expected signature for ATMEGA8 is 1E 93 07
signature is null… looks like it’s not detecting the chip!
Haven’t had much time since then. Decided to try again. Don’t know what to do really. I even soldered some wires on pads beside the chip. It still does not recognize it.
Hi Oscar ,
I’m planning to run HK BlueSeries 12A on 4S and I tried lookup if those ESC support 4S or not. I’ve got SS2204 2300kv motors, a Naze32. I read in one rcgroups thread that the BEC might needed to be disabled for it? Did you do that or you just hooked up a 4S directly?
HK has conflicting info on this ESC on their site. The label on the photo says -3S, specs say it has sbec and supports 4S. [..hobbyking/store/__11429__HobbyKing_12A_BlueSeries_Brushless_Speed_Controller.html]
The rest of my system has 4S support, don’t wanna fry the Naze. How to proceed?
they are safe on 4S, i have been running them on 4S for nearly a year now. no need to disconnect or disable BEC, they are fine.
just hook them up to 4S directly.
Did you ever do a direct compare between SimonK 2015 with COMP_PWM and BLHeli 184.108.40.206 with Damped Light mode? I’ve seen you write about these features but I couldn’t find out if you’ve actually used SimonK with COMP_PWM and compared it to DL in any way.
p.s. your blog is an excellent resource, cheers!
No i haven’t done a active braking comparison between the two firmware.
but a good idea though!
Hi Oscar. Great Blog.
The link to download the blheli suite works (directs to mediafire.com) but chrome blocks the download saying the file’s malicious. Any Idea why? Have anybody else encountered that?
sorry I am not sure i didn’t get any warning when I downloaded it few months ago.
I have no control what those files are. Maybe try a different browser, after downloading and run a full virus/malware scan on the files?
I’ve made first flash with USBASP.
can I connect my blue series through the servo cable for the next config activities?
yes you can :)
Hey Oscar, I must ask for your help again. I flashed my hk blue 12A esc back to simonk from blheli, flashing went ok no errors (i choosee bs_nfet.hex) But after that esc are dead, no sound after power up and motors dont spin. Do you have any idea why ??
first of all, flash it back to BLHeli, make sure ESC is not dead?
secondly, if it’s not dead, it’s probably the flashing not correct, or settings not correct. Try to compile the hex file using default settings..
I flashed back to blheli and esc`s are back to life again. Thanks !
I am wondering if I can use the USBasp by Hobby King to flash the HK Blueseries 12a ESC instead of the Urduino uno and if your process/steps still apply?
yes it can be used to replace the Arduino.
Hey, great blog and source of usefull info. I just followed this tutorial and was able to flash my HK blue 12 A with simonk softweare but after calibration in baseflight motors spinning full speed at only 1350 pwm whitch is only about 1/4 of my throtlle so imposible to control the quad. Battery is 4S nano tech 1300 mah , dont know at this point what to do and cant find any info on the web either I was calibrating the motors in baseflight only and everything seem to be fine. Please let me know if there is enythig I could try. Thank You !!
Is your throttle showing correct range? between 1000 to 2000 in receiver tab?
How did you calibrate your ESCs?
My throttle seems to be ok the receiver tab shows 1005 to 2001, what I did was disconnect the battery go to the motor test tab , moved the master slider all the way up then connect battery and move the slider back all the way down as fast as possible. After that when I move the slider I can hear that the motors accelerate only until appx 1350 pwm after that they spinning at the same rate. My flight control board is flip32+ with baseflight firmware.
very odd. Make sure you set these parameters in CLI, i think they are default values. AFter than re-calibrate ESCs.
set minthrottle = 1150
set maxthrottle = 1900
set mincommand = 1000
set mincheck = 1100
set maxcheck = 1900
set midrc = 1500
If that still doesn’t fix it, try to uninstall Cleanflight/Baselfight Chrome App, install the latest one. Then flash the board with latest firmware. don’t change any CLI commands and Re-calibrate ESCs. try again.
Thank you for your help but unfortunatelly nothing seems to help. No matter what I do my motors spinning at full speed around 1400. So my plan is to buy another board and maybe ne esc.
well, probably a hardware issue then :(
Ok so I guess I found my problem (not sure if it is a problem) , when I use 3s battery and calibrate esc`s my motors starts at 1150 and reaching top speed at 1850 PERFECT !. However when I connect 4s battery and calibrate esc`s motors start spinning at 1150 and reach top speed at around 1400. So the question is if this is normal and I just need to learn how to fly it ?? My motors are cobra CM2204/1960.
Thank you !
no not normal, I used the same setup and never had this problem with 4S… maybe try flashing a previous verison of simonK? or try BLHeli.
This is what I did, I flashed BLHelli and problem is gone but first thing I wanted to do was to flash simonk 5.15.13 but was unable to find it, can you tell where to get it from ? Thanks a lot, Im so glad there is a place on the web like this blog.
I can’t find it either in the SimonK Github (github.com/sim-/tgy), that’s why I used BLHeli. It was mentioned in the commits that Oneshot will/was added though. BLheli works fine and has a great software interface, I don’t see a reason to go back to SimonK at the moment.
great guide. Just followed it to flash my 20amp blue series esc’s on my blackout 330. on throttling up the motors just jitter. Can’t calibrate them either. Any ideas what could have gone wrong?
I have enabled oneshot in cleanflight and tried with it deactivated.with no luck
do you have video showing the problem?
make sure you tried turning “Damping light” off and try again.
I noticed that your ESCs still have the BEMF caps for the output leads. I haven’t done a lot of research on this, but there seems to be a consensus for removing these SMD capicators to help prevent motor sync issues. Have you noticed any motor sync issues, and do you plan to remove these caps?
Source for BS-12a BEMF cap locations: rcgroups.com/forums/showpost.php?p=30587814&postcount=630
thanks for the comment.
I am not sure I have noticed any Sync issues so far. I have not removed any SMD caps.
I think I will just leave them there.
I just did this myself the other day :-)
Have you tried doing an esc throttle calibration in Cleanflight with oneshot turned on? After I did this my motors were “chirping” at 0 throttle.
I was able to solve this by calibrating with a min command of 1050, then returning it back to 100 and a min throttle of 1100.
Yes mine are the same, they make “clicking” noise at zero throttle. I wasn’t sure at first, but they seem to run fine so I just ignore it :D
I will try your solution and find out!
thanks for you comment Stephen!
Thank you for the time you take to write these blogs. It seems every time I need to know something you had just wrote about it and it’s the most comprehensive thing i could find online. Keep it up!!
I don’t know if it’s me or not but it seems that the link to BLHeliSuite firmware is not working?
that’s wierd, I just tried it’s working for me.
Hi, do you know if/how you can use raspberry Pi instead of an Arduino to hook up the atmel programming tool?
no don’t think you can do that.
Do you know if oneshot will be available for SimonK ESCs ?
(by the way, thank you for your blog, great ressource ! :) )
As far as i know, no it’s not supported (yet). Rumour say it will, but I couldn’t wait, that’s why I flashed BLHeli :)
It is supported since February 26: github.com/sim-/tgy/commit/6dbc056a71161593cc8eaf08f8959cf4ea6e4ce6, but you need to compile it yourself or simply download it from my Dropbox: dropbox.com/s/wn44hukquwb7jbp/bs_nfet_6dbc056a71.hex?dl=0 :)
thanks Lauszus! I didn’t know that. I will look into that shortly!
Thanks Lauszus !
Still have one issue, having “Lumenier 12 amp ESC with SimonK Firmware (N-FET)” I’m not sure which firmware I should use. How can I choose ?