This guide will show you how to flash BlHeli and the BlHeli bootloader so they can be programed via CleanFlight or BetaFlight pass through programming in BlHeli Suite.

## What is BlHeli?

BlHeli is firmware that runs on some Atmel and SiLabs ESCs, supports OneShot 125, and is designed for multi-copter performance.

BlHeli Suite is the companion application (windows only) that allows one to flash and configure BlHeli ESCs.

The BlHeli Bootloader is part of the BlHeli firmware that is installed on all SiLabs ESCs and optionally on Atmel ESCs. BlHeli Bootloader is required for CleanFlight Passthrough Programming

CleanFlight (and BetaFlight) passthrough programming allows one to update and configure BlHeli ESCs while leaving them plugged into the flight controller, essentially turning the flight controller into a programming adapter.

Note that even if you bought BlHeli ESCs, they may not have the BlHeli Bootloader installed.

As for the two different types of ESCs currently compatible with BlHeli -- one type is based on an Atmel microcontroller and the other is based on a SiLabs microcontroller. In general, Atmel based ESCs are less expensive and slightly less performant. High end SiLabs ESCs have dedicated driver chips and fast switching FETs. You'll notice a performance difference in flight if you go with the better ESCs, I promise.

## Identify your ESC micro controller

Read on for the short version or for an in depth look at ESCs and how the hardware works, checkout this awesome guide to identifying ESCs on the SimonK wiki.

### Atmel Based ESCs

#### Guide

BlHeli on the Atmel based F20 ESC .

#### Atmel micro-controller

Note that the Atmel firmware does not always include the BlHeli bootloader. Be sure to check the box to install the BlHeli bootloader when flashing, described in detail in the guide, BlHeli on the Atmel based F20 ESC.

It's OK if you're working with a different ESC, the difference will be the pads to which you connect the ISP programmer. You can find those pads and if your Atmel ESC is supported here: BLHeli supported Atmel ESCs.pdf.

### SiLabs Based ESCs

#### Guide

BlHeli on the SiLabs xRotor 20a ESC

#### SiLabs micro-controller

The SiLabs firmware includes the bootloader by default. No need to click any boxes, just flash the SiLab firmware and you'll have the bootloader. Follow this guide on for flashing BlHeli on the SiLabs xRotor 20a ESC.

The only difference will be the pads to which you connect the C2 programmer. You can find those pads and if your SiLabs ESC is supported here: BLHeli supported SiLabs ESCs.pdf

### Configuration

Once you've flashed the BlHeli bootloader, you can update and configure your ESCs via CleanFlight/BetaFlight passthrough. You can do it here, while connected with the 4w programmer or use CleanFlight/BetaFlight pass-through programming and configuration once you've installed the ESCs in your copter.

Check out the configuration guide for more

#### Calibration

After configuring your ESCs, before you fly, make sure you calibrate your ESCs so the throttle range of each ESC matches the others.

Read the guide on throttle calibration here