Quick Answer
Betaflight is open-source flight controller firmware that processes your stick inputs, gyro data, and motor commands in real time. You set it up by flashing firmware onto your FC board, wiring your receiver and ESCs, then configuring the mixer, ports, receiver protocol, and flight modes in Betaflight Configurator. The whole process takes 30 to 45 minutes if your wiring is already done.
What Is Betaflight?
Betaflight is the firmware that runs on your flight controller board. It reads your radio receiver signals 500 to 4,000 times per second, fuses gyro and accelerometer data, runs a PID loop, and commands the ESCs to adjust motor speed. Without firmware, your FC is just a green PCB with a gyro on it. Betaflight is what makes it fly.
It was forked from Cleanflight in 2015 and has since become the default firmware for FPV drones. The current stable release is Betaflight 4.5.x (with 2025.12.x now rolling out). The team moved to a calendar versioning scheme (YYYY.M.PATCH) in 2025, so 4.5.x is followed by 2025.12.x, then 2026.6.x.
What You Need Before You Start
You need a computer running Windows, macOS, or Linux, a data-capable USB cable (many cables that come with VTX boards are charge-only and will not connect), and your drone wired up with ESCs, motors, and a receiver. Download Betaflight Configurator from the official GitHub releases page. It is a standalone desktop application for Windows, macOS, and Linux. A web-based version is also available at app.betaflight.com and works through WebUSB in Chrome and Edge.
If your board lacks a USB port (some whoop FCs), a SpeedyBee Adapter 3 bridges the gap. We keep one on the workshop bench permanently.
Step 1: Flash Betaflight Firmware
Plug your flight controller into your computer via USB. Open Betaflight Configurator and go to the Firmware Flasher tab. Select your board manufacturer and model from the dropdown. If Configurator cannot auto-detect, check your board's silkscreen for the exact target name. Flash the latest stable release for your target.
If Configurator does not see your board, it is almost always a USB driver issue, not a broken FC. Our Betaflight USB connection troubleshooting guide covers CP210x, STM32 VCP, and DFU mode fixes.
Step 2: Wire and Configure Your Receiver
Your RC receiver connects to a UART serial port on the flight controller. The connection depends on your protocol:
| Protocol | Used By | Connect To | Baud Rate |
|---|---|---|---|
| CRSF | ELRS, TBS Crossfire | UART RX and TX pads | 420000 |
| SBUS / S.BUS | FrSky, Futaba | SBUS pad or inverter pad | 100000 |
| IBUS | FlySky | UART RX pad | 115200 |
| FPort | FrSky (single-wire) | UART RX pad (inverted) | 115200 |
In the Ports tab, enable the UART your receiver is wired to. Then go to the Receiver tab, select your protocol (CRSF for ELRS), and move your sticks to verify channel bars respond. For ELRS at 2.4 GHz, CRSF at 420000 baud is the only correct setting.
Step 3: Set the Mixer and Motor Order
Go to the Configuration tab and set your frame type. Quad X is the default and correct for nearly every FPV quad. Then open the Motors tab and spin each motor individually using the sliders. Confirm each motor spins in the correct rotation direction and that the motor numbering matches the diagram on screen. If a motor spins backwards, either swap two motor wires at the ESC or toggle the motor direction in the Motors tab (DShot ESCs support electronic reversal).
For the trade-offs between an AIO (all-in-one) board and a separate FC and ESC stack, see our AIO vs Stack comparison.
Step 4: Configure Modes and OSD
In the Modes tab, assign ARM to a switch and set up at least one self-levelling mode (Angle or Horizon) for your first flights. Acro mode (full manual, no self-levelling) is the goal, but do not fly it until you can hover in Angle mode confidently.
The OSD tab is where you configure your on-screen display elements. At minimum, enable battery voltage, flight mode, RSSI or LQ (link quality), and a timer. For more detail, read our guide on Betaflight filter configuration once your basic setup is done.
Step 5: PID Tuning Basics
Betaflight's default PID values fly well on most modern builds with KVS gyros. If your quad oscillates at high throttle, you need more filtering, not necessarily different PIDs. We recommend applying a community preset or using the built-in RPM filtering before touching PID gains manually. Our full PID tuning guide walks through each term with practical scenarios.
Choosing a Flight Controller
Modern Betaflight boards use F4, F7, or H7 processors. The differences matter more than you might think:
| Processor | UARTs | Gyro Rate | Best For |
|---|---|---|---|
| F4 | 4 to 6 | 8 kHz | Budget builds, whoops, beginners |
| F7 | 6 to 8 | 8 to 32 kHz | Freestyle, racing, GPS builds needing extra UARTs |
| H7 | 6 to 9 | up to 32 kHz | High-end freestyle, dual-gyro builds |
The SpeedyBee F405 V5 stack is what we recommend for first builds. It has Bluetooth tuning via the SpeedyBee app, which means you can adjust PIDs in the field without a laptop. For builds that need more UART headroom, the GEPRC GEP-F722-BT-HD V3 is our workshop go-to. Browse all options in our flight controllers collection.
FAQ
What is Betaflight used for?
Betaflight is flight controller firmware for multirotor drones. It processes your radio inputs and sensor data in real time to stabilise and control the aircraft. It runs on STM32-based FC boards and is configured through the Betaflight Configurator desktop application.
How do I connect Betaflight to my flight controller?
Plug a data-capable USB cable from your FC to your computer, open Betaflight Configurator, and select the correct COM port. If Configurator does not detect the board, the cable is likely charge-only or you need USB drivers (CP210x or STM32 VCP depending on your board).
Do I need to flash firmware before using Betaflight?
If your FC came pre-flashed from the factory, you can skip straight to configuration. However, we recommend reflashing to the latest stable version to ensure you have current features and bug fixes. Always back up your existing configuration before reflashing.
What is the difference between Betaflight and INAV?
Betaflight is optimised for FPV freestyle, racing, and acrobatic flight. INAV is a fork of Cleanflight focused on autonomous flight, GPS waypoints, and return-to-home. If you want to fly manual FPV, use Betaflight. If you want GPS mission planning, use INAV or ArduPilot.
Can I use Betaflight on any flight controller?
No. Betaflight runs on specific STM32-based boards that have firmware targets compiled for them. Check the Betaflight releases page to see if your board is supported. Most FCs sold for FPV support Betaflight, but ArduPilot-oriented boards like Pixhawk do not.