Flash BLHeli on Blue Series 12A ESC using Arduino

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.

I have to say, BLHeli does a great job in terms of user experience. They provide you with a software GUI client where you can connect, flash your ESCs, it also let you adjust all sorts of parameters through the interface. There is no need to touch any firmware files, you can select the brand/spec of your ESC from the drop down menu, very user friendly and easy to use. No more command lines or trouble with the long file paths! :)

Connect Arduino Uno and Flashing tool

connect-arduino-atmega-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

atmega flash tool pinout

Get BLheliSuite Software Ready

First download the latest BLHeliSuite client from here. Note that Oneshot is only available from version 13.0 onwards.

blhelisuite 13.1 GUI Client for ESC

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.

flash-esc-firmware-blheli-simonk

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.

46 thoughts on “Flash BLHeli on Blue Series 12A ESC using Arduino

  1. Nick

    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

    Reply
  2. Cody

    Hi Oscar,

    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.

    Reply
    1. Oscar Post author

      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

      Reply
    2. henrik

      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?

      Reply
  3. Paps

    Hi

    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

    Reply
      1. Paps

        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.

  4. KSK

    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?

    Thanks,
    KSK

    Reply
    1. Oscar Post author

      Hi KSK,
      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.

      Reply
  5. Stefan

    Hi Oscar,

    Did you ever do a direct compare between SimonK 2015 with COMP_PWM and BLHeli 14.0.0.2 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!

    Reply
    1. Oscar Post author

      Thanks Stefan,
      No i haven’t done a active braking comparison between the two firmware.
      but a good idea though!

      Reply
  6. Tom

    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?

    Reply
    1. Oscar Post author

      Hi Tom
      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?

      thanks
      Oscar

      Reply
  7. vincenzo

    Hi Oscar

    I’ve made first flash with USBASP.
    can I connect my blue series through the servo cable for the next config activities?
    and how?

    Reply
  8. Misio

    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 ??
    Thank you!

    Reply
  9. Mike G

    Hi,
    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?

    Reply
  10. Misio

    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 !!

    Reply
    1. Oscar Post author

      Is your throttle showing correct range? between 1000 to 2000 in receiver tab?
      How did you calibrate your ESCs?

      Reply
      1. Misio

        Hi Oscar
        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.

      2. Oscar Post author

        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.

      3. Misio

        Hi Oscar,
        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.

      4. misio

        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 !

      5. Oscar Post author

        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.

      6. Misio

        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.

      7. Oscar Post author

        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.

  11. npmullins

    Hi Oscar,
    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

    Reply
    1. Oscar Post author

      do you have video showing the problem?
      make sure you tried turning “Damping light” off and try again.

      Reply
  12. TimJC

    Oscar,
    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

    Reply
    1. Oscar Post author

      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.

      Reply
  13. Stephen

    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.

    Reply
    1. Oscar Post author

      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!

      Reply
  14. JWnsb

    Oscar,
    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?

    Reply
  15. Fabien

    Hi,

    Do you know if oneshot will be available for SimonK ESCs ?

    (by the way, thank you for your blog, great ressource ! :) )

    Reply
    1. Oscar Post author

      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 :)

      Reply
      1. Lauszus

        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 :)

      2. Fabien

        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 ?

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).