BLHeli Bootloader or SimonK Bootloader – ESC Firmware

by Oscar

In this article we will discuss the difference between BLHeli bootloader and SimonK bootloader. When ordering ESC you might be given option for either one of these bootloader, and you should be aware of which one you want to get.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

To put it in the layman’s terms, bootloader affects the way how you can flash your ESC firmware. If you don’t have bootloader on your ESC, you can only flash it using the soldering pads provided (Remove heatshrink tube and you should see it). If they don’t provide soldering pads, you will have to solder directly to the chip, or using those flashing tools that sit right over the chip.

If you have bootloader enabled (SimonK or BLHeli), you will be able to flash latest ESC firmware and write custom settings to the ESCs by connecting to only the input signal wire (ESC servo lead), using a USB linker Programming tool such as ArduinoUSBLinker, Afro USB Programming Tool or Turnigy USB Linker. I believe you can also configure your Arduino to work as a USB linker. This method of flashing is commonly called 1 wire due to the data only passes through the signal wire.

Here is an example of 1-wire flashing.

If bootloader is not loaded, you can optionally install the bootloader while flashing firmware with a AVR ISP programmer. When you do it in BLHeli Suite, you are given this option.

blheli-suite-software-esc-bootloader-option

However You cannot use ArduinoUSBLinker, Afro USB Programming Tool or Turnigy USB Linker to enable the bootloader because they can not change fuses.

You can flash your ESCs directly on the chip and not using the ESC servo lead, if you don’t have a USB linker. But that means you will have to undo the heatshrink wrap every time, or when you want to make changes to the ESC firmware or settings. I don’t mind though the troubles though.

This flasing tool makes the flashing easier for Atmel chips, the 32 pin SMD type.

Differences between bootloaders and which one to use

Here are some of the differences between SimonK and BLHeli bootloader in more detail.

The two bootloaders are basically the same, they both allow you to to program your ESC over the signal cable without recompiling. Most users will not even notice what bootloader they have, The main differences are

  • BLHeli bootloader is smaller than SimonK Bootloader
  • SimonK bootloader allows you to flash both SimonK and BLHeli firmware using one-wire connection (ESC signal servo cable). BLHeli bootloader allow flashing BLHeli firmware with one-wire method, but not SimonK.

BLheli bootloader is smaller, halve the size (512 Bytes VS 1024 Bytes) compared to SimonK bootloader. ESC with issue of not enough memory for SimonK bootloader can try BLHeli one.

If your ESC came pre-flashed with SimonK, it’s reasonable to expect it will have the SimonK bootloader. But when you have a choice between the two, just stick to the one same to the firmware you are going to use. Unless you expect to be changing over between SimonK and BLheli then go for SimonK bootloader.

ESC Firmware Software

I really like the user friendly BLHeli Suite software for flashing ESC firmware, configuring settings. With the latest version it supports SimonK Bootloader as well, that allows you to use the servo cable and USB linker. It will keep the simonk bootloader so you could always switch back to simonk firmware easily wihtout having to flash using the AVR ISP pads.

Alternatively the other popular software for flashing SimonK firmware is the kkmulticopterflash. Or you can even just use the CMD command line in Windows. But they don’t offer some setting options such as COMP_PWM. If your ESC doesn’t have SimonK bootloader, these are the only ways to install it.

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

22 comments

as 11th January 2016 - 10:00 am

correction: (512KB VS 1024KB), it is actually 512B VS 1024B

Reply
rogueqd 29th August 2015 - 12:51 am

Hi Oscar

There is a new feature coming out in Cleanflight 1.10 and BLHeliSuite 14.0.0.4 which will allow you to use a Naze32 running Cleanflight as a USB Linker.

Just plug the usb cable in to a Naze running Cleanflight 1.10 and then run BLHeliSuite 14.0.0.4 and select Cleanflight as your interface and buttons appear down the bottom to select which ESC you want to link to. Then you use it just like a normal USB linker.

This only works with the BLHeli bootloader, so for me this is the “killer app” that will mean I’ll only be using BLHeli bootloader from now on. You can leave your ESC cables soldered directly to your PDB or FC and still easily update firmware or change settings. So sweet!!!

Reply
Oscar 30th August 2015 - 5:46 pm

Hi Rogue,
yes that’s what i have heard as well! Can’t wait for this new feature! :)
thanks for the note!

Reply
Indra 21st October 2015 - 2:45 am

Hi Oscar,

can you make a guide step by step how to flash Blheli using cleanflight? thanks your site has been my dictionary.. awesome…!

thanks..

Reply
marwan 9th December 2015 - 11:54 am

hi Oscar and fellows, great app, but how can i tell if my esc has the blheli bootloader, my esc is the rctimer blheli 30a esc
thanks

Reply
Oscar 14th December 2015 - 3:46 pm

check out this post i describe how you can tell.

Reply
Rem 14th August 2015 - 8:32 am

Hi Oscar

I’m trying to find out how to flash another bootloader but so far I can’t seem to find that information. I have an Arduino Nano and some toolsticks. Reason why I’m looking around is, I got new DYS 20A ESCs and they came with SK bootloader and BLheli firmware. That’s fine, all works, but I want to use the 1wire passthrough option in CleanFlight (using Boris B’s BetaFlight with that code merged for the 1wire passthrough as well) and that’s requiring a BLheli bootloader atm.

I’m afraid I have to solder the 3 pads to get another bootloader loaded, which I rather don’t want to do with this tiny ESCs but ok. If needed to do that I will reconsider.

Great information here btw, a lot to find.

Reply
Oscar 17th August 2015 - 9:30 am

Hi Rem,
With ATMEL based ESC, the easiest way is to use a ATMEL chip flashing tool, that goes on top of the chip.
I don’t know any other ways yet i am afraid as i don’t normally need to change bootloader. but i will add this info once i do.

Reply
Rem 17th August 2015 - 7:49 pm

Hi Oscar,

Thanks. I ordered one since they have them in stock in the HK EU warehouse. This way I will have it this week (I hope, one never knows for sure). Lucky I have an USBasp AVR stick as well so that must work I guess. Only need to fiddle out still how to flash the bootloader itself, couldn’t find that yet but I will keep searching for flashing BLheli bootloader with USBasp and the flashing tool.

Reply
Rem 17th August 2015 - 7:52 pm

Hi Oscar,

Never mind, sorry, I see it in this post. Lol. It will be available in BLheli suite once I use the ASP programmer. Right?

Reply
Oscar 20th August 2015 - 9:18 am

Yes you should be given the option what bootloader to install on the ESC, when you flash with ISP programmer.

Reply
Jason 14th July 2015 - 5:07 pm

Hi Oscar

Can I upgrade my SimonK ESC’s to get OneShot using a Turnigy USB linker? I have some generic RCX Sky 12A ESC’s.

Reply
Oscar 15th July 2015 - 12:14 pm

i think you should be able to, if your ESC has Simonk bootloader on them. Sorry never tried oneshot on SimonK.

Reply
Chris Barth 19th May 2015 - 7:01 am

I always use the Simonk bootloader because of the flexability to switch between Simonk and BLheli.

Although this won’t add a bootloader, I’ve found that the Chrome app Rapidflash is awesome for flashing new Simonk firmware and changing all settings, including timing advance, brake, beacon, RC car style reverse for 3d flight, reverse rotation,comp pwm which turns on one shot if supported / enabled by the FC, and much more. You can use a Afro usb tool or a Turnigy linker through the signal wire, you can also use a USBASP if needed.

Another plus is that I can use Rapidflash with my PC laptop and also use it with my Chromebook.

Read that the Cleanflight fellaz may be working on a way to flash / change settings with the flight controller, if that ever materializes that would be awesome!

Reply
Oscar 20th May 2015 - 10:23 am

that is good to know! :D thanks for all the great info Chris!

Reply
Chief 7th May 2015 - 6:31 pm

So wait.. can you used the Afro Linker or the Turnigy Linker with the BLHeli bootloader or will they only work with SimonK bootloader?

Reply
Anthony Galati 6th May 2015 - 3:30 pm

I think so.

Reply
Anthony Galati 6th May 2015 - 2:22 pm

Nice Post, exactly what I was looking for.

Reply
Joe 6th May 2015 - 6:49 am

Have you had success using a Turnigy usb linker with the BLHeli boot loader? I haven’t. Does anyone know what tool I need to use to flash an ESC with the BLheli boot loader?

DYS BL20’s come with the BLHeli boot loader and don’t work with the Turnigy USB linker. The SN20’s come with the Simonk boot loader so I can use the Turnigy linker.

Reply
Anthony Galati 6th May 2015 - 2:37 pm

Doh!!! I hope this isn’t the case. I ordered BLHeli bootloader and I too have a Turnigy USB

Reply
Oscar 6th May 2015 - 3:14 pm

i see from RC Group that the afro linker is the same device as the Turnigy USB linker? just rebranded ?

Reply
K 6th July 2015 - 10:10 pm

Hi Oscar

youtube.com/watch?v=3JSe9wf8Rkk

This video describes flashing the BLHeli bootloader and firmware onto an ESC. It describes the hardware that you need also. You can get it on the site he mentoins or from;

amazon.com/s/ref=nb_sb_noss_2/184-2428599-1694662?url=search-alias%3Daps&field-keywords=Arduino+Nano+V3

Reply