Chapter 13 · Software

Betaflight: tabs, arming and CLI

Betaflight is the most popular open-source firmware for freestyle and racing. Here’s what each tab is for, why a drone won’t arm and the handy CLI commands.

Reviewed: · Found a mistake? Let us know

Setting up a drone for the first time? Follow the step-by-step Betaflight tutorial, with diagrams and a check at every step. This chapter is the reference to look things up in later.

Betaflight tools on fpv.cat: design the OSD with the visual editor, keep every configuration in your hangar and connect the drone to the 3D Workshop to watch it move live.

1. Connecting

  • Use Betaflight App, in the browser (Chrome or Edge) or the desktop version.
  • A USB cable that carries data, not just charging. Many connection problems come down to this.
  • On Windows, if the port isn’t detected, you need to install the drivers.
  • No props. Always.

2. Updating the firmware

  1. Save your current configuration

    In the CLI, type diff all and save the text to a file.

  2. Choose the board

    In the Firmware Flasher, let it detect the board or pick it manually.

  3. Choose the version and options

    The latest stable version and, in the build options, the radio protocol (CRSF for ELRS) and the features you use: OSD, GPS, LED.

  4. If it doesn’t respond, DFU mode

    Hold down the board’s boot button while you plug in the USB.

  5. Don’t paste in the whole old configuration

    If you move to a new major version, set things up again or apply only what you need from the old diff.

3. Board alignment

If you’ve mounted the flight controller rotated (for example, so the USB connector ends up on one side), Betaflight needs to know. In the configuration you can enter the rotation in degrees or use the wizard, which works it out as you move the drone.

Check it in the Setup tab: tilt the drone forward and the 3D model should do the same. If it goes the other way, the board is misaligned and the drone will crash on take-off.

4. Tab by tab

Go through them in this order the first time, with the drone connected over USB and no props on.

Setup

Check that the 3D model moves like the drone and calibrate the accelerometer with the drone sitting level.

Ports

Enable Serial RX on the receiver’s UART. Analogue VTX: SmartAudio or Tramp; digital: MSP DisplayPort. Don’t touch the USB port.

Configuration

DShot300 or DShot600, bidirectional DShot enabled and the right number of motor poles (14 on most). Give the drone a name.

Power & Battery

Adjust the voltage scale by comparing it with your multimeter and set the low-cell warning.

Failsafe

If the signal is lost, stop the motors (Drop) or, with GPS, GPS Rescue.

Presets

Community configurations for the board, the receiver or a base tune. Apply just a few and understand what they change.

PID Tuning

The defaults fly well. This is also where you set your rates (see Learning to fly).

Receiver

CRSF protocol and AETR channel map. Each stick moves its own channel, from 1000 to 2000 and centred at 1500.

Modes

Arm on AUX1 on a two-position switch. Add BEEPER and FLIP OVER AFTER CRASH (turtle).

Motors

No props: check the order (1 rear right, 2 front right, 3 rear left, 4 front left) and the direction of rotation.

OSD

Average voltage per cell, flight time, link quality (LQ) and warnings.

Video Transmitter

VTX table to choose band, channel and power. Pit mode to set things up without interfering.

Blackbox

Records flight data. Turn it on to do tuning.

5. Why won’t it arm?

Betaflight blocks arming if it detects something odd. The Setup tab and the OSD tell you why. The most common reasons:

ReasonWhat it means
RXLOSS / BADRXNo radio signal. Check the binding, the port and the protocol.
THROTTLEThrottle isn’t at zero.
ANGLEThe drone is tilted too far.
MSPIt’s connected to Betaflight App.
CLIYou have the CLI open.
NOPREARMA pre-arm switch is configured and it isn’t on.
CALIBRATINGIt’s calibrating the gyro: don’t move it.

6. Features worth knowing

RPM filter

With bidirectional DShot, it removes motor noise precisely and lets you filter less. Turn it on whenever your ESC supports it.

GPS Rescue

If you lose signal, the drone heads back towards the take-off point. Essential for long range. Test it before you rely on it.

VTX table

Defines which channels and power levels you can choose. Without it, VTX control from the OSD doesn’t work.

OSD menu

With the sticks (throttle centred, yaw left and pitch up) you can change PIDs, rates and VTX from your goggles.

Profiles

Several sets of PIDs and rates: smooth ones for filming and others for freestyle.

7. Useful CLI commands

# Show everything you've changed from the defaults
diff all

# Full listing of the configuration
dump

# System status, CPU load and errors
status

# Change a parameter
set parameter_name = value

# Save and reboot (without this command nothing is saved)
save

Save the output of diff all to a file every time you have the drone just the way you like it. If one day you have to flash it again, getting your configuration back will take seconds.