Betaflight Configuration

Betaflight is the most popular open-source flight controller firmware for FPV drones. It runs on STM32-based flight controllers and provides everything from basic stabilization to advanced features like GPS rescue, OSD, and LED control. This guide covers the essential setup steps to get your quad flying.

What is Betaflight?

Betaflight started as a fork of Cleanflight in 2015 and has since become the de facto standard for FPV freestyle and racing. It's maintained by a large community of developers and supports a wide range of flight controllers.

Key Features

Step 1: Flash the Firmware

Always start by flashing the latest stable Betaflight firmware. This ensures you have the newest features and bug fixes.

Using Betaflight Configurator

⚠️ Important

Always verify your FC target before flashing! Using the wrong target can brick your board. Check the target name printed on your FC or in the documentation. When in doubt, use diff all in CLI to save your current configuration first.

Step 2: Ports Configuration

The Ports tab configures which peripherals connect to your FC's UART ports. Getting this right is critical for everything to communicate.

PeripheralTypical UARTPort Settings
Receiver (Serial)UART1 or UART2Serial RX ✓
DJI O3/O4 VTXUART3 or UART4VTX (MSP) + Displayport for OSD
GPS ModuleUART3 or UART4GPS (Baud: 57600)
SmartAudio (Analog)Any free UARTPeripherals → TBS SmartAudio
ESC TelemetryAny free UARTESC Sensor ✓ (Baud: 115200)
BluetoothAny free UARTBluetooth (Baud: 19200)

Port Assignment Tips

Each UART has a TX and RX pad. For serial receivers, connect the receiver's TX to the FC's RX pad (and vice versa). Only enable one feature per UART. If using DJI, the MSP + Displayport settings go on the same UART.

Step 3: Receiver Setup

Configure your radio link in the Receiver tab. This is where your transmitter communicates with the quad.

Protocol Selection

ProtocolSerial ProviderNotes
ExpressLRS (CRSF)CRSFMost popular, low latency
TBS CrossfireCRSFLong range, reliable
FrSky (SBUS)SBUSBudget friendly
Spektrum (SRXL2)SRXL2Spektrum radios
Ghost (GHST)GHSTImmersionRC, low latency

Step 4: Modes & Switches

Assign switches on your transmitter to Betaflight flight modes.

ModeRecommended SwitchPurpose
ARMSC (2-pos)Arms/disarms the motors
ANGLESA (3-pos)Self-leveling mode for beginners
BEEPERSD (2-pos)Locate your quad by sound
PREARMSafety: prevents accidental arming
FLIP OVER AFTER CRASHSB (3-pos)Turtle mode to flip the quad
GPS RESCUESA (3-pos mid)Emergency return-to-home

Step 5: Motor Test

⚠️ Remove Props First!

ALWAYS remove propellers before testing motors. This prevents injury and damage. Make sure the LiPo is connected and motors spin freely.

Step 6: Configuration Tab Settings

Essential settings in the Configuration tab for a proper setup.

SettingRecommended ValueNotes
Gyro Update Frequency8kHzMatch to your FC's capability
PID Loop Frequency8kHzUsually same as gyro
Motor ProtocolDSHOT600Or DSHOT300 for older ESCs
Board Alignment0, 0, 0Adjust if FC is mounted sideways
Arming Angle180°Allow arm at any angle
GPS ProviderNMEA / UBLOXIf using GPS module
VBAT / Current MeterEnabledFor battery monitoring
OSDEnabledIf your FC has OSD chip

Useful CLI Commands

Betaflight's Command Line Interface allows direct configuration. Access it via the CLI tab in Configurator.

CommandDescription
statusShow board status, firmware version, CPU load
diff allShow all changed settings from defaults (BACKUP!)
dumpShow complete configuration
resourceShow pin assignments
resource listShow all available resources
get <name>Get value of a specific setting
set <name>=<value>Set a configuration value
saveSave configuration and reboot
defaultsReset all settings to defaults
motorTest motors (motor 1 1200)
profileSwitch PID profile (0-2)
rateprofileSwitch rate profile (0-2)

Backup Strategy

Always run diff all in CLI and save the output to a text file before flashing new firmware or making major changes. You can paste this output back into CLI to restore your settings. Store backups in a cloud folder for safety.

Essential Tools

ToolPurposeLink
Betaflight ConfiguratorMain configuration appGitHub
BLHeli ConfiguratorESC firmware configurationGitHub
Betaflight Blackbox ExplorerAnalyze flight recordingsGitHub
ExpressLRS ConfiguratorELRS firmware flashingGitHub
TBS Agent LiteCrossfire configurationTBS

Next: PID Tuning & Filters →