How to Flash and Update Betaflight Firmware on Flight Controller

by Oscar

In this tutorial, I’ll show you how to flash and update Betaflight firmware on your FPV drone flight controller. I’ll also cover troubleshooting common issues you might encounter during the process.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

For those new to Betaflight, don’t forget to check out my step-by-step setup guide after flashing firmware, where I’ll guide you through configuring your flight controller for its first flight.

Preparation Before Flashing Betaflight

Betaflight Configurator is the software for both flashing Betaflight firmware to the flight controller and configuring it.

Download and install the latest version, compatible with Windows, MacOS, and Linux: https://github.com/betaflight/betaflight-configurator/releases/latest

Before proceeding, connect your flight controller to your computer using a USB data cable. Charging-only cables won’t work for this purpose.

Once you’ve launched the Betaflight Configurator, select the COM port of your flight controller on the top right of the screen. If you’re unsure which COM port to choose, a simple trick is to unplug and replug the USB cable and observe which port disappears and reappears.

It’s advisable to backup your existing configuration before updating or flashing new firmware, as new firmware can potentially erase all settings. Here’s a tutorial on how to backup Betaflight settings.

Navigating the Firmware Flasher Section

In the Betaflight Configurator, navigate to the “Firmware Flasher” tab on the left.

Betaflight 4.4 Configurator 10.9.0 Firmware Flasher Auto Detect Online

Choosing the correct board (aka firmware target) is crucial, you can use one of these methods:

  • Auto-Detect: This button should automatically select the correct board for your FC.
  • Manual Selection: If Auto-Detect fails, manually select your board from the dropdown list. You can determine the name of your board by typing version in the CLI (follow instructions here: https://oscarliang.com/identify-betaflight-firmware-target/)

Choosing the wrong board can lead to failure or even bricking the FC. If this happens, you can recover by following this: https://oscarliang.com/cannot-connect-to-naze32-brick-fix/

Next, select the firmware version you wish to flash.

For those eager to test the waters, Betaflight offers ‘Release Candidate’ versions by enabling the “Show release candidates” option. However, it’s essential to approach with caution as these are still in the testing phase. For regular users, it’s advised to stick with the stable releases.

You’ll see additional options under the firmware version; typically, these can be left disabled unless you know what you are doing. I will talk about what they do in more detail later in this article.

Once you’ve made your selections, click “Load Firmware [Online]” to download the firmware. You also have the option to “Load Firmware [Local]” for custom compiled firmware.

Lastly, click “Flash Firmware” to begin the update, ensuring not to disconnect the USB cable during this process or you could brick the FC. It should only take a minute or two.

If you encounter any issues flashing, they’re likely related to driver problems. Here’s a guide how to fix it: https://oscarliang.com/fc-driver-issues-flash-firmware/

Flashing Options

Full Chip Erase

To wipe all existing configurations and start fresh, you can select the “Full Chip Erase” option before flashing. This is useful for eliminating any outdated or potentially wrong configuration.

To do this, put your FC in DFU Mode by holding down the boot button on the FC while connecting the USB cable. Once in DFU mode you should see “DFU” appearing in the COM port.

Now flash the FC as described before.

V Dfu Full Chip Erase

No Reboot Sequence

This is a bit more advanced. Most flight controllers, when flashing, will reboot into ‘DFU mode’. However, some might not reboot correctly. In such cases, the ‘no reboot sequence’ option can be handy. But most of the times this option can be left disabled.

Applying Custom Settings

After flashing, you should be able to re-connect to the configurator by clicking the “Connect” button at the top right corner.

When connecting for the first time after flashing, Betaflight will prompt you to apply custom defaults. Always select ‘Yes’. These defaults configure critical settings like gyro connection and motor pins specific to your FC.

Betaflight Configurator Flash New Firmware Connect Prompt Pop Up Apply Custom Defaults

Cloud Build System

The Cloud Build System allows for custom Betaflight compilation to include only the features you need to minimize firmware size. This might not be a big deal right now, but in the future when Betaflight code continues to grow and becomes too big for certain processors, it will become useful. As I mentioned in my FC processor guide, F411 and F722 processors have only 512KB of memory. Cloud Build System can make Betaflight firmware smaller for these processors and prolong their lifespan.

Betaflight 4.4 Configurator 10.9.0 Firmware Flasher Cloud Build System

A word of advice: unless you’re entirely sure about your requirements, there’s no need to change anything, just leave everything at default and it should usually work for most people. But you can remove or add features as you see fit if you know what you are doing.

What Does “Legacy” Mean in “Select a Board”?

When selecting a board in Firmware Flasher, you may see duplicated flight controller boards, with one of them having “Legacy” at the end of the name.

It’s usually best to ignore those legacy boards, and choose non-legacy targets, which are newer and have a unified structure. “Legacy” are the old-style compilations for each specific board. The Legacy targets are being phased out and eventually replaced by the non-legacy targets, but are still available for troubleshooting.

Edit History

  • Sep 2018 – guide created
  • Oct 2022 – updated for BF4.3
  • Jan 2023 – updated for BF4.4
  • Nov 2023 – updated instructions

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.

24 comments

Javier 4th August 2023 - 10:02 am

Can you flash esc with ecs configuration app

Reply
Manley Joe Desjarlais 5th May 2023 - 11:19 pm

I cant believe I found this page. This is my first drone I’m not having a good time.
thank you so much for your time and effort.

Reply
Javier 4th August 2023 - 10:05 am

No not me either I should have just bought it built with a warranty

Reply
Greg Bouten 2nd March 2023 - 7:36 pm

I did this on my GEPRC Crocodile baby 4″ and it keep trying to fly way. Can’t figure this out all my other drones had no issues

Reply
Steve Runquist 25th April 2022 - 6:47 pm

So if I’m updating from BF 4.2 to 4.3 and already have the receivers, motors and ports tabs configured in BF 4.2 and don’t want to have to set these tabs up again when I flash to 4.3 would I flash new firmware and just leave full chip erase unselected?

Reply
Oscar 26th April 2022 - 3:41 pm

because 4.3 is a major update, your settings will get wiped regardless that setting.
You can however use this mirgration tool to get your 4.2 settings converted to 4.3, and just copy and paste it in the CLI: https://oscarliang.com/betaflight-4-3/#betaflight-43-migration-tool

Reply
Richard Litt 11th September 2021 - 5:48 pm

you state the following comment: Start Betaflight Configurator, and go to the Firmware Flasher Tab.

Select the COM port of your FC
how do i get to the FC? My drone is Vortex-150

Reply
Jared Fischer 3rd February 2021 - 2:08 am

I flashed the CLi for my Beta65 Pro2 (MATEKF411RX) as instructed here, now my quad does nothing when I connect batteries. I can still connect it to Betaflight; when I do, the blue light stays lit and the red and green flash on and off. Why does BETAFPV provide the CLi on their site if we need to go through Betaflight? Is it possible to flash the file I downloaded?

Reply
Rick G. 17th September 2020 - 4:52 pm

Can’t seem to flash a brand new Talon F7 Fusion board. For some reason it tells me if fails to connect to the Boot Loader (?).
Is this a driver issue? I have no problem viewing the board in BF, but cannot flash BF 4.2.

Reply
StickG 29th April 2022 - 3:32 am

When you are ready to flash have loaded the firmware and then nothing happens – Run ImpulseRC – Betaflight will go into DFU mode then you can flash it

Reply
Darren 15th September 2020 - 2:30 pm

i have installed drivers and am able to connect to betaflight but all i get if i go into DFU mode and try clicking on fimware flasher of update firmware is “Waiting for Data”. even if i dont have anything plugged into a usb i still get this message. i have uninstalled betaflight 10.7.0 and reinstalled.. still same problem. downloaded from Betaflights own site. tried an earlier version and still same problem. not sure what else to do. installed drivers more than one and has not made any difference

Reply
Andy 22nd September 2021 - 10:59 pm

I have been having this exact same problem for over a year now, and I can’t fix it. Does anyone have a solution??? Oscar!! If you read this, please help!!

Reply
D-Barr 28th July 2020 - 7:49 am

Issue rectified for Tinyhawk 2 flash firmware for BF 4.2!

After much discussions with the drone communities and dev’s at github, seems people have been flashing the STM32 file which is not the correct “board”, you need the target name, the STM file will create the LED to flash 5 x blue, 4 x green, 1 x red. rendering your quad to be pretty useless. But, also found there is a miss print on the target name in manufacturer notes. If you flash the MATEKF411 (manufacturer notes), BF will recognize the quad but won’t be able to bind your stock controller and you will only get red LED’s flashing all the time. No matter how many times you hit the bind button, restart, hit more buttons, restart again, it doesn’t work.
Flash MATEKF411RX, connect to BF, calibrate accelerometer, then go to the receiver tab and enable AUX1 and AUX2, as they will be blank, and setup your angle. horizon, arm and beeper to what it was before on your switches and you should be good to go.

Reply
D-Barr 27th July 2020 - 3:17 pm

Same thing happened to me Murray Sheppard. After flying it a handful of times without issues, my Tinyhawk 2 shat itself in the exact same way after flashing new firmware (4.2.1) following instructions as per Betaflights, Joshua Bardwell’s and Oscar’s advice. God knows how many TH2’s will go down from this.

Reply
Murray Sheppard 21st June 2020 - 1:23 pm

I followed the instructions and now my TinyHawk2 seems dead. I plug in the USB and no lights come on, but I can connect to BetaFlight. (All the settings are gone)
If I plug in a battery, the blue LED flashes 5 times, green 4 times, red once, blue 5 again, green 4 again and red once.

Then nothing.

Reply
Oscar 22nd June 2020 - 2:01 pm

Check with your reseller and get it replaced or repaired.

Reply
Tristan Bruce 29th May 2020 - 1:26 am

Ninos Sadek you need to find the firmeware online and load it locally. I’ve just done this for the MATEKF411 and it worked perfectly. Not sure why the onlder versions of Betaflight aren’t showing up anymore?!

Reply
Keith Mattson 4th August 2021 - 1:11 pm

Hi what do you mean load it locally .l have lost data flash chip by pressing something wrong in Betaflight and lm trying to find some way of putting it back if that makes sense I’m very new to this
Regards Keith

Reply
Ninos Sadek 3rd May 2020 - 2:11 pm

I have a mamba F722 that originally came with BF 3.5.7 and now has 4.1
I tried everything to flash 3.5.7 back on the mamba F722 with no success.
I have tried older BF configurator version like 10.4.0 and earlier with no options to chose any firmware below 4.0.
Any help would be appreciated

Reply
Erik 24th March 2020 - 12:01 pm

Hi!
I have an old multiwii/megapirate flight controller that I would like to flash with betaflight. Would that be possible?
hobbyking.com/en_us/multiwii-and-megapirate-aio-flight-controller-w-ftdi-atmega-2560-v2-0.html

Reply
Oscar 30th April 2020 - 5:00 pm

this board is not supported by Betaflight.

Reply
Sagie Naicker 27th January 2020 - 7:26 pm

In the Betaflight Configurator, select the blackbox tab. You can erase the data flash chip and regain the lost storage space. You may chose to save the data to a file if you wish, before you erase the chip. Flashing the firmware with full chip erase does not clear the dataflash chip.

Reply
Kevin Fuller 7th December 2019 - 1:38 am

The data flash bar on the top right is your blackbox. You need to go into blackbox in the configurator and select erase data flash and it will empty.

Reply
Jay Patil 18th October 2019 - 8:45 am

I flashed emuflight in my mamba f405 FC then again switched back to betaflight, while flashing I selected full chip erase option everytime but unfortunately the dataflash memory (i.e on top right corner of configurator above expert mode) is kept on increasing and not erasing, only 2.8MB space is free out of 16MB. is there any way to erase this? Can someone help me out ?

Reply