How to Flash and Update Betaflight Firmware on a Flight Controller

by Oscar

In this tutorial, I’ll show you how to flash and update Betaflight firmware on your FPV drone’s flight controller. I’ll also cover common issues and troubleshooting tips 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.

Flashing firmware might reset all your settings to default, so you may need to reconfigure your drone from scratch before the first flight. Follow this step-by-step setup guide: https://oscarliang.com/betaflight-firmware-setup/

What Is Flashing Firmware?

Betaflight is the software that runs on your flight controller, just like Windows runs on your PC. Like any software, new versions are released with bug fixes, new features, and performance improvements. Installing a new version of Betaflight onto your flight controller is what we call “flashing” the firmware.

Should You Update Firmware?

Think twice before flash new Betaflight firmware, especially if you’re a beginner.

Updating (flashing) firmware can reset all your settings, meaning you’ll have to set up the drone again from scratch. Ask yourself these questions before flashing:

  • Is your quad flying fine? → If yes, you probably don’t need to update.
  • Do you know how to configure Betaflight from scratch? → If not, hold off for now.

Getting Betaflight Configurator

Betaflight Configurator is the software used to configure and flash firmware to your flight controller.

You can now access it directly in your web browser — no installation needed: https://app.betaflight.com/

Note: The Betaflight Configurator web app only works in Google Chrome and other Chromium-based browsers such as Microsoft Edge or Vivaldi. It’s not compatible with Firefox, Safari, or Opera.

If you need an offline version, you can install it following this guide: https://oscarliang.com/install-betaflight-configurator-web-app

Betaflight Configurator 2025.12 Web App

Backup First

Before flashing new firmware, always back up your existing settings. There are a few ways to do this, as explained in my backup tutorial: https://oscarliang.com/backup-restore-betaflight-config/.

The simplest method is to go to the Presets tab in Betaflight Configurator and click “Save Backup” — this will save your current settings in a text file.

Connecting the Flight Controller

Plug in a USB cable to your flight controller.

Stp Hobby Armor 5c Bnf Fpv Drone Rushfpv Usb

Open Betaflight Configurator. Select the COM port that corresponds to your flight controller.

Tip: If you’re unsure which COM port to select, unplug and replug your FC — watch which port disappears and reappears in the list. That’s the correct one.

Betaflight Configurator 2025.12 Select Device Connect Usb Com Port

Firmware Flasher Explained

To flash Betaflight, go to the “Firmware Flasher” tab in the left-hand panel of the Configurator. This is where you’ll select your target board, choose a firmware version, and start the flashing process.

Betaflight Configurator 2025.12 Firmware Flasher

Choosing the Right Target

Betaflight Configurator 2025.12 Firmware Flasher Target List

Every flight controller has a unique firmware target — this ensures compatibility with your board’s hardware and design.

There are two ways to find the right target:

  • Auto-Detect: Click “Detect” to let Betaflight automatically identify your board.
  • Manual Selection: If detection fails, select your board manually from the dropdown menu. You can find your board name by typing version in the CLI tab (follow instructions here: https://oscarliang.com/identify-betaflight-firmware-target/).
  • Check Product Page or Manual: You can usually find out what firmware target your FC uses in the product page or user manual.

Warning: Flashing the wrong target can cause missing sensors, malfunctioning features, or even brick your FC. If this happens, you can usually recover it by following this guide: https://oscarliang.com/cannot-connect-to-naze32-brick-fix/

Choosing the Firmware Version

Next, select the firmware version you want to flash — usually the latest stable release.

Betaflight Configurator 2025.12 Firmware Flasher Release Versions

If you’d like to test cutting-edge updates, enable “Show release candidates” to access any beta versions that might be available. However, proceed with caution: release candidates (RC) are still being tested and may contain bugs. For most users, stick with stable releases for reliability.

Betaflight Configurator 2025.12 Firmware Flasher Release Candidates

Update: In 2025, Betaflight switched version format, from semantic versioning to calendar versioning. For example:

  • Used to be: 4.6.1
  • Now: 2025.12.1

Flashing Options Explained

Click “Enable Expert Mode” to unlock all available flashing options. Here’s what each does:

Betaflight Configurator 2025.12 Firmware Flasher Options Expert Mode

  • No Reboot Sequence: Normally you should leave this disabled. Most flight controllers automatically reboot into DFU mode when flashing (it sends the bl command to the FC). Only enable it if your FC is already in DFU mode (bootloader mode) – for instance if you’ve held the BOOT button while plugging in USB.
  • Flash On Connect: Leave this disabled. Enabling it will automatically start flashing as soon as a serial port is detected, but this will bypass the backup reminder.
  • Full Chip Erase: Always enable this option when updating Betaflight. It completely wipes all configurations in the EEPROM memory, which prevents potential conflicts from old settings.
  • Manual Baud Rate: Used for boards that don’t support the default baud rate, or when you are flashing over Bluetooth. When flashing via USB cable, you should leave it disabled (at the default 256000).

Build Configuration

Betaflight firmware is built on the cloud, based on what build options and requirements you choose! You cannot change these settings without reflashing Betaflight, so choose carefully.

Betaflight Configurator 2025.12 Firmware Flasher Build Options

Build Configuration (aka Cloud Build) allows you to customize your Betaflight firmware to include only the features you actually need. This helps minimize firmware size, which is important because the memory on flight controller processors is limited.

It might not be a big deal now, but as Betaflight continues to grow in complexity, this feature will become increasingly useful. . As I mentioned in my FC processor guide, F411 and F722 chips have only 512KB of flash memory. Using Build Configuration helps make the firmware smaller, prolonging their lifespan.

Default settings might work, but I highly recommend going through the list to add/remove features based on your needs.

  • Core Only: Leave this disabled. This option builds firmware that includes only low-level hardware drivers — most Betaflight features will be missing.
  • Radio Protocol: Only one receiver protocol can be installed at a time:
    • For ExpressLRS or Crossfire receivers, select CRSF.
    • For DJI RC, choose SBUS.
    • For FrSky, choose SBUS or FPORT.
    • For Flysky, choose IBUS or SBUS.
  • Telemetry Protocol: For ExpressLRS or Crossfire (CRSF), leave it as default (Automatically Included).
  • OSD Protocol:
    • Digital for DJI, Walksnail Avatar/Ascent, HDZero, and BetaFPV Artlynk,
    • Analog for traditional analog FPV system.
  • Motor Protocol: Always choose DSHOT unless you have a specific reason to use another protocol (e.g., BRUSHED for brushed motors or PWM legacy ESCs).
  • Other Options: Enable the features you use and disable those you don’t. This keeps your firmware lightweight and avoids unnecessary memory usage.

Here are two examples based on my own setups:

Analog Freestyle Quad (No GPS):

  • LED Strip
  • SoftSerial
  • VTX (for VTX Table configuration — only needed for analog FPV system)

DJI O4 Pro Long-Range Quad (With GPS Resuce and Position Hold features):

  • GPS
  • Magnetometer
  • Altitude Hold
  • Position Hold

Loading & Flashing Firmware

Once you’re ready to flash, click “Load Firmware [Online]” to download the firmware file directly from Betaflight’s server.

Tip: If you’ve already downloaded the firmware file elsewhere (for example, from your flight controller manufacturer’s website or from a friend), you can use “Load Firmware [Local]” to load that file manually.

Once the firmware is successfully loaded into the Configurator, the “Flash Firmware” button will become available.

Before flashing begins, Betaflight will prompt you to save your CLI text file — this acts as a backup of your current configuration. Save it somewhere safe, then the flashing process will start.

Flashing typically takes one to two minutes.

Problems with Flashing or Driver Issues

If you’re having trouble flashing firmware, you may need to manually put your FC in bootloader mode (also known as DFU mode). Follow this guide: https://oscarliang.com/dfu-mode/. To sum it up:

  • hold down the bootloader button while connecting the USB cable
  • or type bl in CLI

If this is the first time you’ve connected your flight controller to your PC, you might need to install the DFU driver so it’s recognized correctly. The easiest way is to use a free tool called ImpulseRC Driver Fixer (download it here), which automatically detects and installs the correct driver.

Still doesn’t work? Try to disconnect devices that are connected to the FC’s UART, such as GPS, receiver etc, and try again.

Still stuck? Check out my detailed driver troubleshooting guide: https://oscarliang.com/fc-driver-issues-flash-firmware/

After Flashing Firmware

Once flashing completes, you can reconnect to your flight controller by clicking “Connect” in the top-right corner of Betaflight Configurator.
You might see a few warnings — here’s what they mean and how to fix them:

Betaflight Configurator 2025.12 After Flashing Warning

Accelerometer Is Not Calibrated

You may see: “The accelerometer is enabled but not calibrated.”

Fix:

  • Place your drone on a level surface.
  • Go to the Setup tab.
  • Click “Calibrate Accelerometer”.

No Motor Output Protocol Selected

You may see: “There is no motor output protocol selected”.

Fix:

  • Go to the Motors tab.
  • Under ESC/Motor Protocol, choose a protocol such as DShot300 or DShot600, depending on your PID loop rate.
    • DShot300 for 4kHz
    • DShot600 for 8kHz
  • Click “Save and Reboot” in the bottom left corner.

In most modern builds, DShot300 and DShot600 are the go-to choices.

Setup Your Flight Controller

You’ll need to set up your flight controller for the first flight. Follow my detailed step-by-step setup guide here: https://oscarliang.com/betaflight-firmware-setup/

Conclusion

Flashing and updating Betaflight firmware can seem intimidating at first, but once you understand how firmware targets, drivers, and bootloader mode work, it becomes a quick and straightforward process. Always back up before flashing, double-check your firmware target, and take your time — it’s the safest way to keep your drone flying smoothly and up to date.

Edit History

  • Sep 2018 – guide created
  • Oct 2022 – updated for BF4.3
  • Jan 2023 – updated for BF4.4
  • Nov 2023 – updated instructions
  • Nov 2025 – updated for BF2025.12 (BF4.6)

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.

28 comments

Glen George 1st May 2025 - 12:58 pm

Thank you for these detailed instructions that look like they cover all possible situations for programming a flight controller. And in a clear uncomplicatef way for a newbe.

Reply
Muchamad ramdany 6th October 2024 - 4:43 am

I just flashed and updated fc flashhobby f722, and after that, I didn’t find the barometer, please help

Reply
Oscar 7th October 2024 - 3:53 pm

I just checked its specs and in no where it mentions it has barometer.

Reply
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
Albert 22nd August 2024 - 11:22 pm

what if I get the message: failed to open connection with USB device

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