Programming BLHeli_S and BLHeli_32 ESCs

What is BLHeli?

The most popular hobby grade ESCs available currently are based on BLHeli Firmware.

Currently BLHeli comes in 2 varieties. The earlier BLHeli_S which is open source, and is based on 8bit microcontrollers, or the newer BLHeli_32 which is closed source, and licensed to manufacturers. 

BLHeli_32 has a bigger feature set, and more capabilities, as it supports more capable 32bit microcontrollers.

These firmwares allow a wide range of customization for your ESCs such as:

  • Setting direction, or enabling bidirectional operation
  • Setting current limits
  • Adjusting timing and syncing for specific motors
  • Changing calibration of incoming PWM signals
  • Adjusting startup torque
  • Temperature limits
  • Stall prevention
  • etc...

Programming Hardware

Firstly, you will need a programming device. Luckily the hardware is compatible with both types of BLHeli ESCs (BLHeli_S and BLHeli_32).

Any compatible BLHeli USB Linker/Programmer device which has a servo port to communicate with the ESC should work.

This is either a purpose built BLHeli ESC USB Linker/Programmer such as our product:

Or you can build your own using an Arduino (instructions will come for this, or are available within the instructions in the blheli suite software).

Programming Software

In order to program these devices, you need to first determine which device you have, is it BLHeli_S or BLHeli_32, as the two differ in programming method. The software for each, while very similar in operation and look, are distinctly different, and are not compatible with one another.

BLHeli_S Based ESCs

For BLHeli_S, you will need to download the latest release of the BLHeli Suite software from this github repo:

Note: The BLHeli Suite software for BLHeli_S ESCs is Windows Only, however it does run inside popular container or virtualization software if you need to run it on a Mac or Linux. That said, this is outside the scope of this specific document.

BLHeli_32 Based ESCs

For BLHeli_32, you will need to download the BLHeli32 Suite (which is very similar software, but still different, the two softwares are NOT compatible with one another).

The BLHeli_32 Suite software is available from the following github repo:

This version supports Windows, Linux, and Mac, so be sure to download the appropriate version for your operating system.

Flashing/Programming Process

Coming Soon...

Tips/Tricks for Combat Robotics Use

Coming Soon...