BLHeli Bootloader or SimonK Bootloader – ESC Firmware

Someone in our Multicopter group asked me what is the difference between BLHeli bootloader and SimonK bootloader. When he was ordering ESC he was given this option and he wasn’t sure which bootloader to choose.

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 (512KB VS 1024KB) 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.

22 thoughts on “BLHeli Bootloader or SimonK Bootloader – ESC Firmware

  1. rogueqd

    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
    1. Oscar Post author

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

      Reply
      1. Indra

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

    2. marwan

      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
  2. Rem

    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
    1. Oscar Post author

      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
      1. Rem

        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.

      2. Rem

        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?

      3. Oscar Post author

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

  3. Jason

    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
    1. Oscar Post author

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

      Reply
  4. Chris Barth

    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
  5. Chief

    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
  6. Joe

    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
    1. Anthony Galati

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

      Reply
      1. Oscar Post author

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

    2. K

      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

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.