Update 4/28/2017 – Huge overhaul of the guide to conform to Betaflight 3.1
After you’ve flashed your Flight Controller (FC) and ESCs and configured BLHeli, the last software set-up you’ll need to do before getting out and flying is Betaflight. The tricky thing about this process is that flight controller these days have almost a hundred different options that you can enable and configure. The goal of this guide is to get you started with the absolute minimum featureset needed to get out and start flying. If this is your first time flying a miniquad, this is exactly what we recommend you do. Keep it simple at first, establish a flying baseline – then add extra features.
Throughout this guide, we are making some important assumptions about your gear and set-up. These assumptions are reinforced throughout our Drone Racing Guide – so if you’ve followed us up to this point, you should be good to go.
- Aircraft is a quadcopter with motors hooked up in standard configuration.
- F3 or better flight controller – see our flight controller buyer’s guide for suggestions.
- RC RX connected via PPM or Serial RX.
- BLHeli_S ESC configured per our BLHeli set-up article. Ideally, you should have an ESC that supports DSHOT. See our ESC buyer’s guide for suggestions.
- RC TX configured properly. If you need help setting up your transmitter, you can check out our guide here.
If you are using a different set-up, certain parts of this article may not apply to you. We have linked the relevant sections from the BetaFlight documentation for this purpose. Even if you are not using a different set-up, we highly encourage you to follow these links and learn from the mouth of the developers who brought you this amazing software.
In this guide, we are configuring Betaflight version 3.1.7. Future releases should be very similar to the contents of this guide. If you see anything missing or confusing, please drop us a comment below!
Before you do anything, we recommend you make a backup. This will allow you to stash away the default settings for your quadcopter or flight controller so that you can restore them if you totally screw it up somehow by following the steps below.
Backups and restores are done in the first tab, “Setup”. Simply click “Backup” and pick a place on your computer’s hard drive to save the backup. I like to keep a folder full of backups for each drone I own on my computer.
To restore a backup, the reverse process is done. Please note that a restore can take up to a minute and there are no progress bars shown. Once you have started a restore, don’t touch your quadcopter for at least that long.
Enable Expert Mode
The “Expert Mode” checkbox was added to hide tabs that some users may never use. This is a handy feature that was added to reduce the number of visible features from first time users. However – you’re not the average user. You’ve found our site, and we’re going to walk you through how to set up your quadcopter. This includes using some of the features hidden by this checkbox. Therefore, we recommend all users just turn on and leave on “Expert Mode” by toggling the switch in the top bar:
In this tab we set-up communication with your RC RX if you are using SBUS, IBUS or Spektrum Satellite receiver.
The only thing that needs to be done is enabling the Serial Rx switch on UART2 or UART3. On F1 flight controllers like the Naze32 this will always be UART2. On F3 flight controllers like the SPRacing F3, this will generally be UART3. Don’t forget to click “Save and Reboot”.
If you are using a PPM connection to your RC RX, don’t do anything.
Read more about ports from the Betaflight Serial documentation.
In this tab, we do basic configuration of the various features you want on your quadcopter. As discussed above, we recommend you set-up the bare minimum.
- Start with the Receiver Mode. If you are using SBUS, IBUS or a Spektrum Satellite RX, pick “Serial-based receiver”. If you are connecting via PPM, use “PPM RX Input”.
- If you are using SBUS, IBUS or a Spektrum Satellite, you will need to pick your Serial Receiver Provider. Follow this table:
Read more about receiver setup from the Betaflight documentation found here.
RX Type Serial Receiver Provider DSM2 Satellite SPEKTRUM1024 DSMX Satellite SPEKTRUM2048 FrSky RX SBUS Futaba RX SBUS FlySky RX IBUS Turnigy RX IBUS
- Configure how your FC talks to your ESC/motors and configure their features. If you using an ESC and Flight Controller that supports DSHOT, use it. A few additional notes for these settings:
- If your set-up supports DSHOT, we recommend starting with DSHOT300. It is a safe setting that works with everything we’ve used and offers fantastic performance. Some guys claim to see increased performance with DSHOT600 but we are not sure this is true.
- If you are using a flight controller that does not support DSHOT, you will need to configure a few additional options:
- Minimum Throttle: Set this to a value 10 digits higher than the throttle value when your motors first begin spinning. You should determine this value in the motors tab after configuring your ESCs.
- Maximum Throttle: Set this to the maximum throttle value your ESCs can recognize. In general, 2000 is a good setting.
- Minimum Command: Set this to the minimum throttle value your ESCs can recognize. The motors must be stopped at this throttle.
- MOTOR_STOP: Controls whether or not the motors spin up when the quadcopter is armed. When turned off, the motors will spin. We recommend you always keep this option turned off.
- Disarm motors regardless of throttle value: Controls how your quadcopter behaves when you disarm it.
- If this option is turned on, a disarmed quadcopter will immediately stop the motors, causing it to fall out of the air if it is flying.
- If this option is turned off, you must bring the throttle stick to it’s lowest position to disarm the quadcopter. Until you do this, the quadcopter remains armed and flying.
- If you are confused by any of this, you should check out the Betaflight Controls documentation.
Scroll down to access more configuration settings.
- Set up your flight controller update rates and features:
- 32kHz sampling rate: We recommend leaving this feature disabled unless you specifically want it.
- Gyro update / PID update frequency refers to how fast your flight controller runs its computations. In the past, we recommended you set these to a certain values. These days these values are automatically set up by the flight controller board. We now recommend you stick with the defaults.
- Accelerometer: Enables and disables the level-sensing feature in your FC. Most beginners will want to leave this enabled so that the quadcopter can fly in self-leveling mode. Experts will want to disable it to improve the flight controller’s performance.
- Barometer: Enables and disables the altitude sensing feature in your FC. Most flight controllers do not have this feature anymore and it is only really useful if you have an OSD.
- Magnetometer: Enables and disables the magnetic direction sensing feature in your FC. Most flight controllers do not have this feature anymore and it is only really useful if you have an OSD.
- Set up the features you want to use. In general, we recommend you use the defaults and enable BLACKBOX. If you are curious about what these are, they are described below. If you lost the defaults or want to strictly follow our instructions, we make suggestions for each feature below.
- INFLIGHT_ACC_CAL: If your quadcopter flies for long periods of time (like 20+ minutes), you may want to enable this feature to allow it to continuously calibrate it’s accelerometer. For most miniquad pilots, the calibration that takes place when you plug in the battery is sufficient. We recommend OFF.
- SERVO_TILT: This feature enables the CAMSTAB mode in the modes tab. When this mode is on, servo 1 will be adjusted to correct for the tilt of the quadcopter, allowing you to automatically tilt your FPV camera while flying! Check out our article on this here. We recommend OFF.
- SOFTSERIAL: If you need some extra UARTs to connect more gadgets to your quadcopter, you can often get them by enabling the “SOFTSERIAL” feature. This exchanges CPU cycles for UARTs, which can then be configured in the ports tab. We recommend OFF.
- SONAR: Sonar chips can be used to allow your quadcopter to determine how high it is above the ground. This feature is enabled here. See the sonar wiki for more information. We recommend OFF.
- TELEMETRY: Betaflight can tell your RC Receiver about vital flight statistics like battery voltage, current draw, flight mode, etc. Checking this box enables this feature. You will need to configure a telemetry port in the ports tab. See the telemetry wiki for more information. We recommend ON.
- LED_STRIP: Betaflight is able to control LED lights that are plugged into the FC. They can be customized in all sorts of ways. This feature is enabled by checking this box. You can then configure it further in the “LED Strip” tab. See the LED strip wiki for more information. We recommend OFF.
- DISPLAY: A LED display can be attached to your quadcopter to graphically show statistics like flight mode, arm state, etc. Checking this box enables this feature. See the display wiki for more information. We recommend OFF.
- BLACKBOX: “Blackbox” is Betaflight’s in-flight data recording system. As you start to learn more about tuning and optimizing your quadcopter, it will become your best friend. We have a series of guides on using Blackbox logs here. We recommend ON.
- CHANNEL_FORWARDING: If you want to use your RC AUX channels (channels 5-16) to control servos on your quadcopter, turn this feature on. You will need to wire and configure servo outputs to use the feature. We recommend OFF.
- TRANSPONDER: If your flight controller supports a built in transponder LED, enable this feature to use it. It will turn on the transponder tab, where you can input the transponder code for your quadcopter. We recommend OFF.
- AIRMODE: Enable this feature to keep “air mode” on at all times. “Air mode” is a Betaflight feature which greatly increases the quadcopters tendency to right itself at low throttles. It is a very important feature for flying gravity-defying acro maneuvers. The other option is to turn air mode on using the “Modes” tab, as we will suggest later. We recommend OFF.
- SDCARD: SD cards can be used to write blackbox logs to on some flight controllers. If your flight controller has an SD card port, we recommend you turn this ON. If not, leave it OFF.
- OSD: Some of the newest flight controllers like the Omnibus F4 and Betaflight F3 Flight Controller have built in OSD support. For these flight controllers, you should leave this feature ON. See our guide on configuring the Betaflight OSD for more information on setting this up. Other flight controllers should leave it OFF.
- ESC_SENSOR: If you are using KISS 24A race ESCs, you can gather telemetry data from them with this feature. This will allow you to get power measurements from each motor. We recommend OFF.
Don’t forget to click “Save and Reboot” before leaving this tab.
After handling the Configuration Tab, it is best to set-up your Receiver. Let’s go to that tab next.
- For most of the pilots out there (particularly anyone flying with a Taranis, FlySky, Turnigy or Spektrum radio) – you will need to change the “Channel Map” to “JR / Spektrum / Graupner”. Do this first and click “Save”.
- Now, turn on your RC TX and start moving the sticks on the different axes from full left to right and full down to full up. Make sure that the corresponding slider in the GUI moves from 1000 to 2000 and centers on 1500. The centering part is the most important for the roll/pitch/yaw channels – if it does not center at 1500, use trim or subtrims to adjust it (consult your Radio’s user manual). The exception is throttle, which should rest at 1000 when in the fully down position – this is critical, and you should use trims and end-point adjustment to fix it if it does not.On many radios, you will notice that the values on the slider do not center directly on 1500, but quickly oscillate between a range of values close to 1500. Don’t panic! This just means your radio Gimbals are not centering perfectly – every radio I have used has this problem. Watch the sliders for a little while and note how the largest or smallest numbers you see. Now subtract those numbers from 1500 and enter them into the deadband fields in the GUI. For example, if you are seeing a range of 1497-1500, then enter a value of ‘3’. If you are seeing a range of 1500-1506, enter a value of ‘6’. I am seeing almost no error on this quadcopter so I set the deadband to ‘2’ to be safe.
Finally, before you move to the next tab, check to make sure your arming and mode switches are working properly by flipping them. You should see the AUX1, AUX2 or AUX3 sliders move in the GUI. Note which switch corresponds to which slider and let’s move on.
In the modes tab we’ll configure two things:
- Your arming switch – which enables you to turn your quadcopter on (the props will start spinning).
- Flight modes so that you can enable and disable self-leveling (called ‘angle’) mode.
Binding a mode to a switch is pretty intuitive. Here is how:
- Clicking “Add Range” on the appropriate mode.
- Picking the appropriate AUX channel for the switch you want to use for that mode.
- Flip the switch in the on position and dragging the sliders so that they fully encompass the indicated switch nub in the GUI.
- Click “Save”
- Verify that the mode is now highlighted when the switch is flipped on, and not highlighted when the switch is flipped off.
Most pilots will want to configure two switches: an arming switch and a flight mode switch:
- The arming switch should be bound to both the “ARM” and “AIR MODE” modes. “AIR MODE” is a feature which greatly increases stability at low throttle values and we recommend most pilots turn it on. Be aware that when air mode is enabled, your quadcopter will use up to 100% power to stabilize when armed even when the throttle is at zero.
- The quadcopters default mode is acro or rate mode. If no other modes (like “HORIZON” or “ANGLE”) are active, this is the mode it is in. Therefore, you only need to bind your mode switch to non-acro modes. We recommend most new pilots activate ANGLE mode to take advantage of self-leveling flight – at least starting out.
If you don’t see ANGLE or HORIZON modes in this tab – it’s probably because you have the accelerometer disabled. Look for that in the Configuration tab discussed above. You can learn more about all the different modes available to you in the Betaflight Modes Documentation.
In the failsafe tab you’ll set-up an extremely important feature which takes effect if your RC Radio ever fails or if you fly out of range. This is the feature that will prevent your quadcopter from “flying off” into someones house, a forest, or wherever the winds take it. It does this by totally disarming the quadcopter shortly after radio signal is lost.
Before you go to the failsafe tab, you’ll need to confirm that failsafe is working on your RC RX first. Go back to the Receiver tab and turn off your RC TX. Observe what happens to the throttle slider. It should instantly move from a 1000 to a low number between 850-950 when your TX turns off. This indicates your RC failsafe is working correctly. If this does not happen, consult your TX manual on how to set it up.
Note the value that throttle settles at when the TX is turned off.
The only thing you need to do in the Failsafe tab is set the “Minimum length” in the “Valid Pulse Range Settings”. This value needs to be slightly above the throttle value your RC RX reports when the TX is turned off. For me, that was “885”, so I set this value to “895”.
Don’t forget to hit “Save and Reboot” after changing anything on this page.
You can learn more about how the Failsafe works in the Betaflight Failsafe Documentation.
PID Tuning Tab
This is the tab where you will do almost all of your tweaking from here on out. It contains all of the settings which control how your quadcopter will fly – as opposed to whether it will fly. You will want to eventually learn about every field in this tab, but for your first set-up we will only need to deal with the basics:
- Set your preferred RC Rate and Rate. These values are universal across all quadcopters of equal capability – so if you have the same values in all your quadcopters theoretically all of your quadcopters should respond to the sticks in a very similar manner. If you are just starting out and don’t have a preferred value, the defaults are very reasonable. Try them out. If the quadcopter is too sensitive to you, reduce them by about 25% and go out and fly again. The same is true vice versa.
- For figuring out your stick rates, Betaflight Configurator provides a handy graph labeled ‘2’ in the above screenshot. As you adjust your rate values the graph will change to show you how the control curves look. I don’t recommend you go below a roll/pitch/yaw speed of 480 deg/s. That may sound fast but it will be lethargically slow near the center of the sticks. You want to learn to fly a racing quadcopter, right?
- Finally, there are the PID settings. For pretty much any 3S or 4S quadcopter on the market, these defaults will be undertuned and should fly just fine. We recommend you get your first flight in before touching these. If you have a buddy who has the exact same set-up as you with a “great flying” quadcopter, however, you might want to copy his PIDs. See the conclusion for some handy links on where to go to learn about making adjustments here.
Both PID Tuning and rate configuration are discussed in the Betaflight PID tuning documentation.
This tab configures the flight data recorder features of your flight controller – called “Blackbox”. As you become more proficient at flying and tuning your quadcopter, these logs will become your best friend. Logging is turned on and off in the Configuration tab discussed above. The Blackbox tab allows you to set how much data is logged and where it is logged to. It also allows you to retrieve your logs and wipe the memory on your flight controller.
For first time set-up, you just want to check the “Blackbox logging rate” and set it so that it is 1kHz or lower. Higher will consume CPU cycles and fill up your log faster while providing little to no useful data.
Before you put your props back on, we recommend you perform some checks to prevent any issues when you’re ready to fly.
First, arm your quadcopter from your transmitter. Verify that your motors are spinning in the correct direction:
With the motors still spinning, shut off your radio TX. Your quad should disarm within 5 seconds of the TX fully powering off. If not, you need to investigate your failsafe settings again.
Now, lets go to the Setup tab for the remaining tests.
- Move your quadcopter on the pitch, roll and yaw axis. Verify that the pictured quad in the setup tab moves identically to your quad. If not, investigate how you have your flight controller installed. The arrow on the board should be pointing towards the front of the quad.
- Turn your RC transmitter back on and arm your quadcopter again. Check the “CPU Load” figure as indicated by the ‘2’ in the image above. If it ever indicates 100%, you are overworking your flight controller and may have problems while flying. Lower the looptime or remove features to get this working properly.
- Finally, Backup your settings by pressing the “Backup” button. We like to save all of our FC/ESC firmware, Backups and Blackbox files in a single directory on our computer so we always know the latest software configuration of the quad.
We also put together a video guide to make the process easy to follow! This guide parallels the setup here, so you can watch it alongside your software setup. We shot this video using Betaflight 2.9 in 2016, but it is still very relevant and closely follows this guide. Check it out!
After following all of our software setup guides, you should finally be ready to go out and fly your miniquad. If it is your first time flying, make sure you have plenty of space to move around and that your “LEVEL” switch is enabled so that the quadcopter self-levels. We hope you have a blast.
Please remember that while the default Betaflight PIDs are pretty good for most quadcopters, they are not always perfect. You may experience vibrations in turns or descents or sluggish handling. If your quadcopter vibrates in a hover, land immediately – the motors will quickly overheat and break.