Quick Answer
Setting up a Betaflight flight controller involves flashing firmware, connecting your receiver, motors, and peripherals, then configuring ports, PID tuning, and mixer settings in Betaflight Configurator. The process is largely the same whether you use an AIO board or a separate FC/ESC stack.
Before You Start
You need a computer with Betaflight Configurator installed (available as a Chrome app or standalone), a USB cable to connect your flight controller, and your drone wired up with motors, ESCs, and a receiver. A SpeedyBee Adapter 3 is useful for connecting boards without a USB-C port. Make sure your ESCs and motors are wired correctly before powering on for the first time.
Step 1: Flash Betaflight Firmware
Connect your flight controller to your computer via USB. Open Betaflight Configurator and click the "Firmware Flasher" tab. Select your board from the dropdown, choose the latest stable release, and click "Flash Firmware." If you have not flashed firmware before, our guide to flashing and configuring Betaflight walks through the process in detail.
Step 2: Connect Your Receiver
Your RC receiver connects to a UART (serial) port on the flight controller. The connection depends on your protocol:
| Protocol | Connect To | Baud Rate |
|---|---|---|
| CRSF (ELRS, Crossfire) | UART RX/TX pads | 420000 |
| SBUS (FrSky, some ELRS) | SBUS pad or UART with inverter | 1000000 |
| IBUS (FlySky) | UART RX pad | 115200 |
In the "Ports" tab of Betaflight Configurator, enable the serial port your receiver is connected to and set the correct baud rate. For ELRS receivers, CRSF at 420000 baud is standard.
Step 3: Configure the Mixer and Motors
Go to the "Configuration" tab and select your frame type (Quad X, Quad +, etc.). This tells Betaflight how your motors are arranged. Next, go to the "Motors" tab and test each motor one at a time. Verify that each motor spins in the correct direction for its position on the frame. If any motor spins backwards, either swap two ESC signal wires or reverse the motor direction in the "Motor direction" section of the Motors tab.
The choice between an AIO (all-in-one) board and a separate FC/ESC stack affects how much wiring you need. Our AIO vs Stack comparison explains the trade-offs.
Step 4: Receiver and Mode Setup
In the "Configuration" tab, select "Serial-based receiver" and choose your protocol (CRSF, SBUS, IBUS). Go to the "Receiver" tab and move your radio sticks. The channel bars should move accordingly. Map your channels to the correct functions: Channel 1 (Roll), Channel 2 (Pitch), Channel 3 (Throttle), Channel 4 (Yaw), Channel 5 (Arm), and Channel 6+ for your flight mode switch.
Enable your flight modes in the "Modes" tab. At minimum, set up ARM on a switch and assign at least one angle mode or horizon mode for safe flying.
Step 5: PID Tuning
PID tuning controls how aggressively your drone responds to stick input and corrects for disturbances. Betaflight ships with default PID values that work as a starting point. For most pilots, the "PID Tuner" in Betaflight Configurator can produce a usable baseline. From there, manual adjustment based on how the drone flies is the standard approach: increase D-gain to reduce oscillation, adjust P-gain for response sharpness, and tune I-gain for angle hold.
Step 6: Save and Disconnect
After each configuration change, click "Save and Reboot" in the top-right corner of Betaflight Configurator. Settings that are not saved will be lost when you power off the board. Once everything is configured and motors verified, disconnect USB and connect your flight battery to test with props off first.
Choosing a Flight Controller
Modern Betaflight boards use F4, F7, or H7 processors. F4 boards are budget-friendly and handle most flying. F7 and H7 boards offer faster loop times, more UARTs, and support for advanced features like Dual Gyro and OSD resolution upgrades. Browse options in the drones collection. For freestyle builds, a GEPRC GEP-F722-BT-HD V3 is a solid choice. For racing or high-performance builds, the Velox F7 SE stack provides the processing headroom needed for fast loop times.