How to Unbrick ESC – Flash BLHeli_S Firmware through C2 Interface

by Oscar

If your BLHeli_S ESC died or is simply not responding after getting a “Flash Failed” error, or somehow your ESC is bricked, you can try re-flashing BLHeli firmware through the C2 Interface to “revive” it.

Your ESC could be bricked when the bootloader is corrupted, flashing through the C2 interface might be able to fix that.

Preparing Arduino

You will need an Arduino board to flash ESC through C2 interface. Either Arduino Uno or Nano would work fine and they only cost a few bucks. I will be using the Arduino Nano in this tutorial, you can get it from here:

  • Download BLHeliSuite here:
  • Plug in your Arduino, a new COM port should appear. Pick the Arduino COM port in BLHeliSuite
  • Go to the “Make Interfaces” tab, and click on “Arduino 4way-interface” option

You will be asked to select a firmware for the Arduino, choose the one that contains “PD3PD2”.

And that’s all you have to do to enable your Arduino to flash ESC via C2 interface.

Identifying the C2 Pins on ESC

You will need to connect two pins on the ESC: C2D (Data) and C2CK (Clock).

These pins are normally broken out to two small solder pads near the ESC MCU (processor, BB21). By following the traces and checking the pinout diagram above, you should be able to identify which pads are C2CK and C2D.

To give you an example, here’s the Zeus5 AIO FC, and the C2CK/C2D pins for each ESC on the board.


From Arduino Nano to ESC

  • GND => GND
  • D2 => C2D
  • D3 => C2CK

From Arduino General to ESC

  • GND => GND
  • D12 => C2D
  • D11 => C2CK

Soldering to those tiny pads are tricky, just be patient and careful.

Flashing BLHeli Firmware via C2 Interface

In BLHeliSuite, select “SILAB C2 (4way-if)” under SILABS Interface.

Plug in the battery to power the ESC.

Then hit the “Connect” button in BLHeliSuite, and “Read Setup”.

If everything works correctly, you should be prompted to re-flash your ESC with BLHeli firmware. Just click “Yes” and follow the instructions and flash the latest official firmware.

Hopefully this rescued and unbricked your ESC. You should repeat the same steps for all four ESC’s.

Related Posts

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.


Jack 14th June 2021 - 1:23 am

Which pad would be comparable to the signal wire? I saw a video how you could save a 4-1 board with a fried mosfet, by using an equivalent amperage stand alone esc and just pulling that motors wire from the wire harness soldering straight to signal wire of stand alone esc. I’m attempting that on an Iflight 40amp/F4 AIO board. It has four tiny pads next to each esc and group of mosfets, 3 round 1 square. Any suggestions? thanks!

Levi Thompson 11th May 2021 - 11:44 am

could this also be done with an FTD1232 trying to unbrick a pyro drone esc.thanks in advance

Oscar 11th May 2021 - 12:54 pm

No, only the Arduino because it needs to be flashed with a special code. Arduino is cheap anyway, only a few bucks.