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!
Update (Jan 2018): BLHeli is the first generation firmware. It has been replaced by newer firmware such as BLHeli_S (2nd gen), and BLHeli_32 (3rd gen). If you are buying new ESC’s today, get those newer ESC’s instead.
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
Table of Contents
Select Cleanflight Interface
First of all, in BLHeliSuite, select your choice of interface, with (Cleanflight) at the end of the option.
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.
Connect and Read settings
Once you have chosen the correct interface, and the COM Port of your flight controller, click Connect, then Read Setup.
Flash Latest BLHeli Firmware
Flashing firmware is the same as the usual way.
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.
You will also notice the number is grey colour when it’s not in sync, with a warning when hover over it.
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.
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)
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.
Anything else?
I am also new to this, so please let me know if I have made a mistake or missed something.
60 comments
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
yes you can move the motors to different pads on the board..
use the resource command in the command line tool
there is a youtube tutorial for from joshua bardwell
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 :)
Did you ever find an answer to this? I’m having the same issue with multiple escs lately…
@ 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).
Hi oscar,
Can i use this way to program m’y micro minium osd ?
Thank’s il advence
nope, only FTDI at the moment for minimOSD
Just tried this with Cleanflight 1.12.0 and it worked great.
thanks!
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)
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.
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.
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
Did you manage to solve your problem? I’m having the same issue, but with ZTW Lite 18A ESCs
Don’t panic. I had same problem and i flashed pass through with naze32 rev5. Everything is fine.
So did anyone actually figure out a solution for this? I have the same problem.
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.
sounds like the dys sn20a esc’s have got SimonK bootloader rather than BLHeli bootloader. search on my blog on how to change bootloader.
Hi Oscar
Any news about the possibility to flash the esc with F3 boards? Is there actually a F3 board working with this feature?
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?
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
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.
Forgot to mention FC is a Flip32.
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!
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?
Hi Oscar, would this method work for EMAX NightHawk Pro 280?
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 ..
in the Betaflight RCG thread, it was recommended to use the latest version BLHeli, so try flashing that on your ESC for optimal performance.
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
I have a post on flashing Atmel ESC (blue series) with flashing tool maybe that’s what you are after? There are ESCs provide soldering pad so flashing tool is not required.
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 !
there are 6 pins near the processor chip, you can use an ISP programmer to flash bootloader.
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
Hi,
Could you please elaborate on how to calibrate my esc’s (RG20) in BLhelisuite? I use naze32 rev6.
Thanks!
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
it only works with Betaflight at the moment…
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
also make sure your ESCs have BLHeli bootloader installed.
I am not sure about your resistors and caps… what ESCs are they?
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
This does not yet work on the RMRC dodo yet either. Can only connect to the first ESC
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!
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
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.
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…
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?
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!
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…
Hi Oscar,
thank you for your advice!
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.
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!
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.
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?
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.
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.
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.
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.
Best idea is merge blheli to cleanflight and then all settings will be in one program not depended from system. yeah :)
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.
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!
Do you know how to get the BLHeli Bootloader on ESC’s that have the SimonK bootloader installed?
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.