In this tutorial I will show you how to flash and update Betaflight on a flight controller and how to troubleshoot potential problems during FC flashing.
If you are new to Betaflight, check out my setup guide after you’ve flashed the firmware. There are instructions on how to configure your FC for your first flight, and many other Betaflight related tutorials.
Preparation Before Flashing Betaflight
Betaflight Configurator is the software we must use to flash the flight controller and configure Betaflight.
Download and install the latest version of Betaflight Configurator, it supports Windows, MacOS and Linux operating systems: https://github.com/betaflight/betaflight-configurator/releases/latest
Now connect the flight controller to your computer using a USB cable. It must be a data cable, charging only cable won’t work.
Before you update or flash Betaflight firmware, we recommend making a backup of your existing configuration in case you want to go back for whatever reasons. That’s because flashing a new firmware might erase all your settings. Here’s a tutorial on how to backup Betaflight settings.
How to Update/Flash Betaflight Firmware
Start Betaflight Configurator, and go to the “Firmware Flasher” tab on the left hand pane.
On the top of the screen, select the COM port of your FC (it’s either COM# port or DFU). If you have multiple COM ports and not sure which one, simply unplug the USB cable to your flight controller, then plug it back in and see which COM port reappeared.
Click the “Auto-detect” button, the configurator should automatically pick the correct board for you.
If “Auto-detect” doesn’t work, you can manually select the board in the dropdown list. You can find out the exact name of the board (firmware target), by typing version in CLI. Important: If you choose the wrong FC board, you can potentially “brick” your FC. If that happens to you, you can fix it by overwriting the correct firmware as shown here.
There are a few more options under the board selection, normally you can just leave them disabled unless you know what you are doing.
Now click “Load Firmware [Online]” and the firmware will be downloaded. You can also manually load a firmware on your computer (Load Firmware [Local]), this allows you to install custom compiled firmware.
Lastly click on “Flash Firmware” and the firmware update will begin. Make sure you do not pull the USB cable during the process or you could brick the FC. It should only take a couple of minutes.
If you have any trouble flashing, it can be a driver issue and here is how to fix it.
Applying Custom Settings
Once the flashing is completed you should be able to connect to the configurator by clicking the “Connect” button at the top right corner.
When connecting to the Configurator for the first time after flashing a new firmware, you will get a pop up asking if you want to apply custom settings, always check “Apply”!
Full Chip Erase Option
To wipe all the previous configurations you can select the “Full Chip Erase” option before flashing. This is useful if you messed up some settings in CLI and you don’t know how to fix it easily, or you accidentally disabled MSP for USB VCP port. And it’s also useful when you have trouble flashing your FC.
To do this, hold down the bootloader button (aka Boot button) on the FC, then connect the USB cable, you should see “DFU” appearing in the COM port.
Now flash the FC as described before.
Cloud Build System
The new Cloud Build System gives users the ability to custom compile our own version of Betaflight to include only the features we need to minimize firmware size.
This might not be a big deal now, but in the future when Betaflight code continues to grow and becomes too big for some processors, it will come in handy! As I mentioned in my FC processor overview, F411 and F722 have only 512KB of memory. Cloud Build System can make Betaflight firmware smaller for these processors and prolong their lifespan.
At the time of publishing, there’s no need to change anything, just leave everything at default and it should just work for most people. But you can remove/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 the drop down, you may see duplicated flight controller boards, with one of them having “Legacy” at the end of the name.
Generally, you want to just ignore those legacy boards in the list and flash the “non-legacy” targets which have the new unified target structure. “Legacy” are the old-style (compiled for each board). Eventually the Legacy targets will go away and replaced by the non-legacy targets. You shouldn’t notice any difference (at least that’s the goal), it’s only there in case of issues.
- Sep 2018 – guide created
- Oct 2022 – updated for BF4.3
- Jan 2023 – updated for BF4.4
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.
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
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?
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
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
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?
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.
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
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
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!!
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.
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.
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.
Check with your reseller and get it replaced or repaired.
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?!
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
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
I have an old multiwii/megapirate flight controller that I would like to flash with betaflight. Would that be possible?
this board is not supported by Betaflight.
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.
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.
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 ?