Home        Store        Docs        Blog

BLHeli firmware help if possible

Hello all,

I have some BLHeli-S ESC that we will be using for my two daughters build they are working on. I have flashed the ESC with the motor’s direction being “bidirectional” is this correct? I am second guessing myself. We would have loved to buy some from blue robotics but this is a budget build.

@brewin Here is the page with the firmware files on it: Basic ESC R3 Firmware Files and Customization

Yes, we have them set-up as bidirectional.

Thank you so much Kevin.
Like I said, I would love to buy BasicESCs, but this is a low budget build

our next one, will definitely have them :wink:

Can you flash BLHeli_S with the BLHeliSuite standalone Windows software, or is the Suite only for BLHeli_32 and BLHeli_S must be flashed through the Chrome extension or Android apk?

Hi @corndog,

BlHeli Suite works fine with BlHeli, BlHeli_S, and BlHeli_32.


Thanks Adam. I had read a couple comments that _S didn’t work with the Suite, but couldn’t find anything to confirm.

I’m new to flashing esc’s and have been wanting to give it a try, so I bought a “Favourite BLHeli_S LittleBee Spring 30A” and an Afro programmer, but haven’t been able to get BLHeliSuite to recognize the ESC. I installed the correct cp210x driver and the programmer is recognized fine, but trying to connect to the ESC always times out. The motor beeps the three ascending tone when powered up and also when you try to connect, so something is getting from the software to the motor, but it’s still not recognized. Any tips?

Hi @corndog,

I only have experience flashing BlHeli ESCs with BlHeli Suite with an Arduino Uno, but it should be quite similar with the Afro programmer.

A couple things to check:

  • Does your ESC have an SiLabs or Atmel microcontroller? Its probably SiLabs. The Afro programmer may only be Atmel compatible.
  • Make sure you select the proper interface and microcontroller type in the interface drop down.
  • Have you selected the correct COM port on the setup tab?
  • You should not have a motor attached to the ESC during programming for safety. Unexpected movements may occur.


Thanks very much Adam, it would seem the mystery is solved. ESC is Silabs and the Afro says it’s for programming Atmel based ESC’s. I do have a few Arduinos, so I’ll see what I can find for tutorials.

Here is a basic tutorial a wrote a while ago as a response to an email question:

To do this, you will need the ESC, a power supply for the ESC, two male to male jumper wires, a computer, this software running (download BlHeliSuite, not BlHeliSuite32), and a device such as an Arduino to act as the interface between the ESC and your computer. I am writing this tutorial for an Arduino Uno board, as that is most common board and a very versatile tool to have.

Connect the Arduino to your computer via USB and start the BlHeliSuite software.

Go to the “Make Interfaces” tab. Select your Arduino board (Uno w/ATmega328) as well as the appropriate COM port with the Arduino, and click “Arduino BLHeli Bootloader” (option C for SiLabs microcontrollers). This programs your Arduino with the firmware necessary to allow it to communicate with the ESC. You can leave the baud rate as default, but take note of it.

Next, make sure the ESC is disconnected from the thruster/and motor and the 3 motor wires are no making contact with each other. Using the male to male jumper wires, connect the signal ground (black) to ground (GND) on the Arduino, any open ground will do. Connect the signal PWM line (white) to digital pin 11 on the Arduino.

Go to the “ESC Setup” tab in the software. Click the “Select ATMEL/SILABS Interface” menu at the top, and click “SILABS BlHeli Bootloader (USB/Com)” (option C for SiLabs microcontrollers).

Power the ESC with your power supply of choice, and select the COM port with the Arduino and the baud rate noted previously. Click “Read Setup”. The interface should load the ESC firmware and present you with a number of option to change.


Thanks Adam, I was just going through this video…

And had it done in a few minutes. Sooooo frustrating after spending a couple hours trying to figure out what was wrong with the previous setup, so I’m happy you mentioned the atmel/silabs conflict!