Flash and Program BLHeli ESC via Cleanflight – Flight Controller

Do you know that you can now change settings on your ESC in BLHeliSuite, via your flight controller? That’s right, no complicated programming tool, USB linker or Arduino. All you need to do is just connect your flight controller, and you can flash firmware and change settings on your ESC!

This feature basically turns your FC into a ESC programming tool!

Well, as we speak, it still isn’t working yet on the latest Cleanflight v1.10, but it’s making its way there I believe. It’s already implemented in Betaflight firmware, so if you are running Boris’s Betaflight, then you can try it!

This features is awesome IMO, it really helps someone lazy like me. I no longer need to take my quad apart just to change some settings on ESC. It also means direct soldering of ESC on FC is now possible and no more headache :)

Requirement (dated 26/Oct/2015)

  • Running Betaflight on your FC
  • Running BLHeli already on your ESC (Not sure what the oldest version it supports, the oldest I tried was 14.0 )
  • BLHeli Bootloader installed on ESC (Important!). Firmware and bootloader is not the same thing.
  • Latest version of BLHeliSuite (I am using 14.1.0.3).

News and Updates

27 Oct – There are also reports of problem running this features on some F3 boards. However I cannot verify this as I have only tested this on Naze32 and it’s working perfectly.

28 Oct – Pass-through programming won’t work on a Tornado. The 5V buffers on the PWM outputs aren’t bidirectional. You’ll have to connect directly to the ESCs. BorisB said Seriously Pro Racing board (SPR F3) has issues with auto detecting the ESCs. He said you can connect to each ESC one at a time.

Here is a quick Demo how I use it.

How to Flash / Program ESC via Cleanflight in BLHeliSuite

My Setup: Naze32, Blueseries 20A ESC with BLHeli 14.0

Select Cleanflight Interface

First of all, in BLHeliSuite, select your choice of interface, with (Cleanflight) at the end of the option.

blhelisuite-esc-via-flight-controller-cleanflight-select-interface

Wrong Interface

Don’t worry if you chose the wrong one (whether Atmel or Silabs), you will be warned if you have selected the wrong interface.

blhelisuite-esc-via-flight-controller-cleanflight-wrong-interface

Connect and Read settings

Once you have chosen the correct interface, and the COM Port of your flight controller, click Connect, then Read Setup.

blhelisuite-esc-via-flight-controller-cleanflight-connect-fc-port-read-setup

Flash Latest BLHeli Firmware

Flashing firmware is the same as the usual way.

blhelisuite-esc-via-flight-controller-cleanflight-flash-blheli-firmware

ESC not in Sync with Master

You might see this message saying “Setup not in Sync with Master”. That basically means some of your ESCs have different settings.

Settings including PPM Min/Max and PWM Frequency/Damped and so on would trigger this warning. Difference in Motor Rotation setting would not trigger this warning.

blhelisuite-esc-via-flight-controller-cleanflight-not-in-sync-settings

You will also notice the number is grey colour when it’s not in sync, with a warning when hover over it.

blhelisuite-esc-via-flight-controller-cleanflight-not-in-sync-message-number-grey

Changing settings on a particular ESC

To change settings on a particular ESC, you first need to select it.

To select an ESC, you need to click on all the ESC except that one, when you do that, those ESC number would disappear. For example, when ESC number 1 2 and 4 disappear, number 3 will become blue and bold, that means it’s now selected.

It’s possible to configure multiple ESCs at the same time. The Blue bold number indicates the master, all other ESC will copy the master’s settings when Write Setup is pressed.

blhelisuite-esc-via-flight-controller-cleanflight-how-to-select-esc

Checking ESCs are in Sync

Okay once you have programmed all your ESCs, you want to do a finally check. There is a Check button on the bottom right.

And below shows you the All Okay message. And you should see all the ESCs are green and happy. (except ESC 1 is blue, because it’s the master ESC)

blhelisuite-esc-via-flight-controller-cleanflight-check-esc-in-sync-same-settings blhelisuite-esc-via-flight-controller-cleanflight-all-esc-in-sync-green-same-settings

Motor Tab in BLHeliSuite

You will also notice a motor tab in BLHeliSuite. I find it really handy as you can calibrate your ESC and test your motors right inside BLHeliSuite.

blhelisuite-esc-via-flight-controller-cleanflight-motor-tab-calibration-testing

Anything else?

I am also new to this, so please let me know if I have made a mistake or missed something.

59 thoughts on “Flash and Program BLHeli ESC via Cleanflight – Flight Controller

  1. Stefano

    Hi oscar, i have a naze32 and I had to blow the door 1 and 2 for connection reasons, so I started from 3 to 6 with my esc’s.. can do i move the channels via software? I have Blheli dys xm20A

    Reply
  2. Naif

    Hi, I have a problem … I tried to flash my ZTW Black Widow motors and now they dont work. Blheli suit says (( erased files and fail to flash))
    What should I do now ?? please help :)

    Reply
  3. Chris

    @ blaise he does mention that the Bootloader also needs installing, at the very top

    Requirement (dated 26/Oct/2015)

    Running Betaflight on your FC
    Running BLHeli already on your ESC (Not sure what the oldest version it supports, the oldest I tried was 14.0 )
    BLHeli Bootloader installed on ESC (Important!). Firmware and bootloader is not the same thing.
    Latest version of BLHeliSuite (I am using 14.1.0.3).

    Reply
  4. Hoggdoc

    Oscar thanks for the great blog, so much to learn about this subject.

    I have been looking for a OSX version of BLHeli Suite, but haven’t been able to find any. I am sure I’m not the only MAC user that is frustrated with the lack of support for our chosen computer platform.

    Currently I use Apple’s BootCamp and and install of Window 7 Professional to do any adjustments to the BLHeli escs in use it works great. But, as you know this requires a reboot into the Bootcamp partition and the associated delays that go along with the. It seems that inasmuch as Cleanflight and Betaflight are supported cross-platform via Chrome Configurator, having a OSX version of BLHeli Suite seems like a no brainer. Maybe even a version for Linux should be considered too.

    So if you have any influence with the BLHeli Suite developers maybe you can put a good word in for us Non-windows users.

    Wayne (aka hoggdoc)

    Reply
  5. Joshua Dedeaux

    Hi Oscar
    I am running a Naze32 Rev 6 with Xhover 25A esc that run ATMEL BLHeli and am trying to connect through cleanflight/betaflight. When attempting to connect get a connect to FlightCtrl failed message. I seen a couple videos showing the com port identifies when its pugged in, mine does not, it has the list of 1-99. Is the Rev 6 board still not working to flash your escs through cleanflight. Is there a way to determine what COM port short be used? Any information would be appreciated. thanks in advanced.

    Reply
    1. Oscar Post author

      there is a version of Naze32 rev6 doesn’t work with pass through… have a search on intoFPV.com i think someone mentioned it there.. Also make sure you have the BLheli bootloader on you ESC’s.

      Reply
  6. Oliver Larsen

    Hi Oscar,
    I have been expericencing some troubles trying to flash my DYS SN20A ESC’s with the latest firmware. From factory they come shipped with BLHeli 14.0 so naturally i wanted to update them to 14.4. I am using cleanflight to do so and i have gotten the ESC’s to connect. I could read the settings and see that they were all on 14.0 and i could also see that one ESC was out of sync. As soon as i try to use the flash firmware feature I am met with an error. “Error writing to the flash”, when clicking OK you get “Failed to write to Flash! (“Write failed” error)” and then finally “ESC#3: Flash FAILED. DYS_SN20A (Multi) BLHeli Rev: 14.4.
    And now when you check the ESC status it says **FLASH*FAILED** instead of the version as if the current firmware now has been corrupted. To me it seems like quite an odd problem in that i can read the chip but not write to it. I was hoping that you or someone else could maybe help me out.
    Thanks in advance.
    – Oliver

    Reply
  7. Tuan

    Hi Oscar, i am using sp racing f3 with betaflight 2.4.1 to read write and flash esc. It is good for littlebee 20a but not good for dys sn 20a. When i connect to 4 dys sn 20a escs , it see all of them but it can not read or write or flash dys escs. When i click to read tab , It said esc not connect and need to check connection. My dys escs have blheli 14.2 firmware. When I used dys usb linker to setup , everything is ok but i just setup one esc one time. It is not convenience as using sp racing f3.

    Reply
    1. Oscar Post author

      sounds like the dys sn20a esc’s have got SimonK bootloader rather than BLHeli bootloader. search on my blog on how to change bootloader.

      Reply
  8. Bruno Carmo

    Hi Oscar

    Any news about the possibility to flash the esc with F3 boards? Is there actually a F3 board working with this feature?

    Reply
  9. Tristan

    Hi Oscar. The other thread said I can flash blheli on my ESCs if they have SimonK bootloader. My question is… Am I still able to flash Blheli this way. Even if my esc’s have SimonK bootloader?

    Reply
    1. Oscar Post author

      absolutely you can. bootloader and firmware are 2 different things :)

      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
  10. Shaun

    Hi Oscar,

    Just a quick comment, I was able to access and flash these no problem (one by one) without having the ESC comms ground wire attached anywhere. My LittleBee’s were running BLHELI 14.1 (and obviously also BLHELI bootloader). I’ve flashed them all to 14.3 and reversed the direction of 2 motors, and enabled Damped Light. This all worked a treat. Good stuff.

    Reply
    1. Oscar Post author

      That’s fantastic Shaun! Enjoy the ease of flashing ESC via FC :)
      lastly, i would really appreciate it if you could join the forum: http://intoFPV.com … I don’t want to miss your comment, because I only check my blog comments once a week, but I use the forum daily!

      Reply
  11. Ludo De Greef

    Hello all,
    I can make contact with the ESC’s as I can use the motors-tab to rev the motors… however when I try to read the ESC’s setup I get a blanc and error-code.
    Must be the bootloader issue, I guess.
    Is there anything i can do to get a simple way of access to the esc’s?

    Reply
  12. sense

    Hi Oscar , can you please advise if i need to use BLheli on my ESC’s to use betaflight ..or is it only necessary if you want to use ONESHOT ?

    i just flashed my naze 32 rev 6 with betaflight and went outside to test and i have a little bit of wobble ..

    Reply
    1. Oscar Post author

      in the Betaflight RCG thread, it was recommended to use the latest version BLHeli, so try flashing that on your ESC for optimal performance.

      Reply
  13. Dave McClernon

    Hi Oscar. Can you do a ‘how to’ on changing the bootloader to BlHeli on atmel escs with the usbasp or ftdi, either by soldering to the pads or with the socket tool or both please. I keep seeing people asking on facebook why they cant connect to blheli suite through cleanflight/Betaflight/Naze. Most of the time this is because they have the simonk bootloader as you know. I keep trying to explain how to do it but there is not much info out there to help me. It would be much easier if I could just point them to one page with all the info. Thanks. Keep up the good work. Love your blog.
    Thanks
    Dave

    Reply
  14. titanium

    Hi Oscar
    I have naze32 and blheli 14.1 with simonk bootloader.
    Is there a way to install blheli bootloader ? (ESC are DYS SN 16A)

    Thanks !

    Reply
  15. Ed

    Hi Oscar,

    Great, great stuff! Thanks, I use your page regularly.

    I have tried to connect to BLHeliSuite via BetaFlight on Naze32 but no success:
    MSP_SET_1WIRE: ESC#1 OK
    BLB Connect to ESC: FAILED

    I am using Multistar 20A v2 BLHeli slim. Only the signal wire is connected to the FC. Tried Betaflight 2.1.2c and 2.1.1 and Cleanflight 1.10. All on Naze32 rev 5 full.

    When using 2.1.2c and connecting to BLHELISUITE, board reboots and motors start to spin – don’t think that is meant to happen :S

    Appreciate your opinion on whether I need to connect the ESC ground to the FC.

    Thanks

    Reply
  16. Joe Stubbs

    Hi Oscar
    Have CF installed on Naze(Full) with BLHeli12A Esc’s in my Emax Nighthalk250.. Gone through your BLHeliSuite 14.1.0.1 setup with No 1 Esc/motor plugged into Motor 1 pins on the Naze32… not sure if this is the correct physical setup ?… anyway pressed Connect get a message
    Initialization of serial 1wire passthrough failed. Please chk FC revision to support serial 1wire passthrough … Now please, what have I done wrong…. Joe

    Reply
      1. Joe Stubbs

        Hi Oscar
        So I have too get rid – erase my FC’s CleanFlight load Betaflight and then use a combination of both BLHeliSuite and Betaflight too… using terms like …. flash/load/prog BLHeli bootloader and then flash/load/prog my Esc with BLHel firmware using the FC computer USB’s
        Then .. I re-prog my FC with Cleanflight, in effect use Betaflight as a means to an end.
        Do I still have to permanently remove the input resister and capacitor prior too and after the above procedures. Joe

      2. Oscar Post author

        also make sure your ESCs have BLHeli bootloader installed.
        I am not sure about your resistors and caps… what ESCs are they?

      3. Joe Stubbs

        Your Q’s … how do I check what BL have installed’ having great difficulty talking to my Emax BLHeli 12A Esc using BLHeliSuite and Turnigy USB-Linker …. at the moment am a UART/TTL board 1wire interface flash BLHeli Amtel Esc over servo cable… hope it may work with the BLHeli Esc’s Silab chip !!??…Joe

    1. Gab707

      Hi Oscar, Same comment as Mugenski, two of us have tried it with the RMRC dodo, esc’s (RG20A and SN20A) running blheli 14.2, and betaflight 2.1.1. BlHeli suite will only recognize esc num. 1. Great post though!

      Reply
      1. Oscar Post author

        I think it’s more of a firmware issue…
        maybe try the latest betaflight 2.1.2: Fixed some minor issues with serial 1wire passthrough feature for F3 targets

      2. Bam

        Gab707, worked for me.

        Try it with betaflight 2.1.3 and make sure to ground the ESC signal ground on the FC ESC pin’s ground. I tried grounding the ESC signal to the battery ground and it did not work, but it worked when I grounded the ESC signal ground on the FC ground.

  17. lukim

    Hi Oscar
    I could not get it to work on my Flip32 board, Little Bee 20A, only signal connected to Flip.
    If I set my board to 1wire mode via CLI command “1wire 1-4” ESCs are discovered by BLHeli Suite and can be flashed and programmed via the 1wire interface.
    Connecting the Flip32 in Cleanflight mode only brings up ESC#1 on motor port 1 in BLHeli Suite. Can’t get this multiple ESC thing to work…

    Reply
  18. Keivn Yang

    Great Posting Oscar!!
    I tested them already. I like this system but only blheli bootloader work now. Why don’t you mention about right click button When you select ESC?

    Reply
  19. PaulN

    Hi Oscar,
    I calibrated my ESCs using the motor tab of betaflight. However, in BLHeli different PPM min/max throttle isdetected. Would you recommend calibrating via motor tab or via setting in BLHeli?
    Thanks!

    Reply
    1. Oscar Post author

      i would suggest to take the number from your master ESC and copy them to the rest of ESCs… there could be mistaken on ESCs reading the analog signal sent from FC…

      Reply
  20. Ted

    Hi Oscar
    i am so close. It seems to get closer if i disconnect from cleanflight. i can flash and read, but it seems to hangup. Comm port issue? Not sure Haven’t gotten to work yet.

    Reply
  21. txrxtx

    Hi Oscar

    I couldn’t get this to work with betaflight, blheli 14.0(little bee) and cc3d. I had to go with one-wire arduino instead
    It would be good to know if cc3d works or if it is just me.
    Also, osx would be nice, one day.
    Thanks for all your work!

    Reply
    1. Enurian

      Hi Colton

      did you get it to work? I have a similar setup (little bee and cc3d, betaflight) and can “connect” in blhelisuite. Any further action (read setup) leads to an error und corrupts the whole USB connection. I cannot connect via blhelisuite or cleanflight configurator after that until I reboot the whole FC.

      Reply
      1. Jerrod

        Colton and Enurian,

        I have cc3d , betaflight, and DALRC blueseries 12a ESC and i cannot connect. Colton, i have the same exact experience as you. Upon clicking ‘read setup’ my computer slows down and blheli suite window reads “not responding”. Then i get a popup window that reads

        Connection to Serial Cleanflight MSP Interface at COM8 failed!

        (Error: “SetCommState function failed
        System Error. Code: 31.
        A device attached to the system is not functioning”)

        Please check usb/serial port settings!

        I tried to include the log file but it wont let me highlight and copy/paste.

        I’m guessing cc3d is not compatible? I thought it was just my PC (win7) because i have to update my ‘generic USB hub every time i want to connect to the cc3d. If i don’t it does not show up as a serial port and will not connect. I think i have the latest stm32 driver installed so i don’t know why it’s doing that. Windows problem?

  22. Colton

    Hi Oscar
    Like the guy up there who pointed out that this wouldn’t work with the naze rev6, this also won’t work (as far as I can tell) with the Ready Made RC Dodo. I’ve tried everything, and it just doesn’t want to read.

    Reply
  23. Oddworld

    Hi Oscar
    Can anyone confirm that this works with the naze rev6?

    I had no issues flashing ESCs using the naze rev5 on betaflight, but cannot do the same on rev6. Unsure whether it’s just the rev6, the particular build of betaflight on the board (unlikely), or the bootloader (also unlikely, as they are the same DYSBL20a model ESCs ordered from the same store, MRSS). Getting a read error.

    Reply
    1. Keivn Yang

      Yes, It works perfectly. I use naze32 rev6 with betaflight. In my case DYS bl20a was SK bootloader(but firmware is blheli firmware). It cannot read from cleanflight.

      Reply
  24. Paul

    Will this work with escs that can’t be programmed via 1-wire but have BLheli v14 and above? I assume not. This would be cool on my 250 I flashed BLheli using and aurdino jumpered to pads on the 12a emax escs built it up and have flown it but have lost all power on punch out so assume I programmed the escs wrong. My escs are buried deep within my custom frame and are a real pain to access requiring a couple of hours at least to strip sn d rebuild this would be a life saver if it would work.

    Reply
  25. techfreak

    Best idea is merge blheli to cleanflight and then all settings will be in one program not depended from system. yeah :)

    Reply
  26. fl0PPsy

    Hi Oscar,

    You might want to mention the facts that the BLHeli bootloader needs to be installed on the ESCs otherwise flashing etc via Betaflight will not work.

    The SimonK bootloader is not supported by the current solution. There are quite a few ESCs out there that have BLHeli installed but with the SimonK bootloader and these still need to be updated the old way.

    Reply
  27. Gareth Newton

    Hi Oscar

    I believe this does not work with ESCs that have the Simon K bootloader on them. Might be worth mentioning.
    Thanks – and great write up!

    Reply
  28. blaise

    One thing you’ve forgotten to mention in your requirements is that the ESCs must also be running the BLHeli bootloader. BLHeli software on top of SimonK bootloaders doesn’t work.

    Reply

Leave a Reply

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

Are you Robot? *

I don't look at blog comments very often (maybe once or twice a week), so if you have any questions related to multirotor please post it on this forum IntoFPV.com... You're likely to get a response from me faster on there.