In this tutorial I will show you how to setup Betaflight firmware on a flight controller by going through each tab in the configurator.
Betaflight is an excellent open source flight controller software, designed specially for mini quad (racing drones).
Check out our FC Firmware Overview to learn more about the different options.
I will show you the simple steps to setup your first quadcopter in Betaflight, just enough to get your quad in the air.
There are a lot more features in Betaflight we haven’t covered and you should definitely read up on them in order to use the firmware to its full potential.
To keep this guide as simple as possible we are assuming you are running hardware (which is probably the most common setup these days):
- Frsky RX, SBUS and SmartPort telemetry
- F3 or F4 flight controllers running Betaflight 3.2 or newer firmware
- ESC’s capable of DShot ESC protocol
Setup Betaflight For The First Time
Here we will go through the basic settings in Betaflight you need to configure for your first flight.
Important! Make sure all propellers are removed before configuring your quad on the bench to avoid accident.
1. Back up settings first
2. Put the quad on a level surface, and calibrate ACC
3. Now move the quad around in your hand, and see if the 3D model follows the same movement
If the 3D model isn’t moving the same as your quad, it probably means your FC is installed facing the wrong direction (arrow on the FC is not pointing forward). You can either rotate the FC until it’s right, or you can set YAW offset in the configuration tab, board sensor alignment, to fix it (usually 90/180/270 degree).
1. If you are using SBUS or IBUS receiver, you need to enable “Serial RX” on the UART the RX is connected to.
2. If you are using SmartPort, select “SmartPort” under Telemetry Output, if not just leave it at default.
1. ESC/Motor Features
ESC Protocol – check your ESC spec to find out which protocols they support. DShot is recommended. Generally speaking BLHeli_S ESC can do DShot300 or DShot600, while BLHeli_32 ESC’s can do DShot1200.
Further Reading: ESC Protocols and Firmware Overview
We recommend you to always keep “MOTOR_STOP” option disabled, otherwise you won’t be able to tell if your quad is armed.
The rest you can just leave them at default.
2. System Configuration
Looptime – it depends on what your FC is capable of, I personally prefer using lower looptime e.g. 2KHz on noisy builds and higher looptime 8KHz is higher quality builds. Anyway 2KHz should be fine on every quad out there.
Gyro Sampling Rate – usually this should match your looptime, some people prefer to have double the frequency as looptime. Set it to 4KHz and Looptime at 2KHz if you are not sure.
Just experiment and see what looptime works best for you, there is no set-rule what you should be using.
When changing these two values and other features, pay attention to “CPU load” at the bottom of the window, try to keep it under 30%. Any higher than that could cause instability to the flight controller.
Accelerometer – you can disable it, this will free up some processing power, but you won’t be able to use Angle mode or Horizon mode, and the 3D model in the setup tab will also stop moving. Another reason you want it disabled is to avoid problem arming the quad when it’s tilted too much.
Just disable both Barometer and Magnetometer since we are running a acro mini quad.
Craft name – This will be displayed in the Betaflight OSD.
4 – Receiver
If you are using SBUS, IBUS or a Spektrum Satellite RX, pick “Serial-based receiver” in Receiver Mode. In Serial Receiver Provider, pick SBUS if you are using Frsky RX.
If you are connecting via PPM, use “PPM RX Input” in Receiver Mode.
5. Other Features
These are the features I normally enable in Betaflight. If you are not sure, you can just leave these at default, that will still get you in the air without any problems.
- Dynamic Filter
- Telemetry (for SmartPort)
- OSD (if Betaflight OSD is available on your FC)
Click Save & Reboot.
In this tab you can check if your receiver is working correctly.
Power on your TX and RX, and move your sticks one at a time to see if the corresponding channel is moving. You might need to change the “Channel Map” if the channels are in the wrong order.
If none of the channels are responding, toubleshoot:
- is the RX bound to the TX? (do you see solid green light on the RX?)
- is the RX soldered on the FC correctly?
- have you enabled serial RX in the correct UART?
- have you selected the correct RX protocol?
After making sure the channels are working correctly, now check the mid points and end points of the first 4 channels (Pitch, Roll, Yaw, Throttle). These channels should centre at 1500, and have end points of 1000 and 2000.
If you are not getting these please see my tutorial on how to fix mid point and end points.
Setup modes to be activated by AUX channels (switches on your TX), such as:
- Angle mode
I prefer to setup Airmode on the same switch as Arming, rather than having it enabled as a feature, but either way should work just fine.
Check motor order
- motor 1 at rear right
- motor 2 at front right
- motor 3 at rear left
- motor 4 at front left
If the order is wrong, you can fix it using resource remapping
In-depth Tutorial: Betaflight Resource Remapping
Now, check motor spin direction, if wrong, you can reverse spin direction in BLHeliSuite
Please see my tutorial on how to setup Betaflight OSD for more detail.
You don’t really have to change anything here in order to fly, but PID tuning and adjusting rates can help you fly better.
PID is basically 3 parameters you need to set for each axis, roll, pitch and yaw. PID tuning involves some understanding of what each term can do to flight performance.
Take a look at my PID tuning guide
Rate, Super Rate and Expo affect how the quad reacts to your stick movement.
Take a look at this guide on Rate / Super Rate and Expo.
That’s all to the basic setup in Betaflight.