Updated 3/21/2018 – Overhauled the guide for Betaflight 3.3. Made it simpler with more links to outside guides for specific content. If you wish to view our old Betaflight 3.1 guide, you can click here.

This guide is part 2 of our Drone software setup series. 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 controllers these days have more than 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.

  1. Aircraft is a quadcopter with 4 motors hooked up in standard “X” configuration.
    motor_direction

    Standard motor configuration.

  2. RC RX connected via PPM or Serial RX — see our article on fixing common RC receiver issues if you are having problems.
  3. 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.
  4. 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.

Install Betaflight Configurator

To do any work on your quadcopter, you will need to install Betaflight Configurator. This is a desktop application that is available for Windows, Mac, Linux and Chrome. It used to be a Chrome browser application, but is now distributed independently from Github. You can read how to install it in our Betaflight Configurator installation guide. If you just want the download link, it is here:

https://github.com/betaflight/betaflight-configurator/releases

Note that Betaflight Configure is tightly bound to the Betaflight version you are running. You must update Betaflight Configurator when you update your Betaflight firmware on your flight controller! Failure to do so will often result in some very strange bugs.

Backup

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. If you don’t know how to do a back-up, checkout our article on performing a Betaflight Backup.

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 “Expert Mode” permanently by clicking the gear icon in the top right corner and checking “Permanently enable Expert Mode”.

Now hit the “Connect” button in the top right of the window. From here on out, we’re going to walk through each tab in Betaflight Configurator and show you what you need to do.

Ports

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, UART3 or UART6. On F3 flight controllers like the SPRacing F3, this will generally be UART3. On F4 flight controllers, it will often be UART4. Most flight controllers with their own firmware will have the correct box already checked. If you don’t know and have a back-up from a previously working state – restore the “serial” settings! Don’t forget to click “Save and Reboot”.

If you are using a PPM connection to your RC RX, don’t do anything in this tab.

Read more about ports from the Betaflight Serial documentation.

Configuration

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.

And if you scroll down – 

  1. 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:
    1. If your set-up supports DSHOT, we recommend starting with DSHOT600. It is a safe setting that works with everything we’ve used and offers fantastic performance.
    2. If you are using a flight controller or ESC that does not support DSHOT, you will need to configure a few additional options:

      ESC/Motor Features

      1. 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.
      2. Maximum Throttle: Set this to the maximum throttle value your ESCs can recognize. In general, 2000 is a good setting.
      3. Minimum Command: Set this to the minimum throttle value your ESCs can recognize. The motors must be stopped at this throttle.
    3. 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.
  2. Next you’ll configure the Receiver Settings:
    1. 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”.
    2. If you are using SBUS, IBUS or a Spektrum Satellite, you will need to pick your Serial Receiver Provider. Follow this table:
      RX Type Serial Receiver Provider
      DSM2 Satellite SPEKTRUM1024
      DSMX Satellite SPEKTRUM2048
      FrSky RX SBUS
      Futaba RX SBUS
      FlySky RX IBUS
      Turnigy RX IBUS
      Crossfire CRSF
      Read more about receiver setup from the Betaflight documentation found here.
  3. Set up the Other features you want to use. In general, we recommend you use the defaults and enable DYNAMIC_FILTER. Get your quadcopter flying with the bare minimum features first, then add on later. We recommend always enabling DYNAMIC_FILTER because as of Betaflight 3.3 it represents a huge performance improvement with no downside.

Don’t forget to click “Save and Reboot” before leaving this tab. The flight controller will reboot, you may need to manually re-connect Betaflight Configurator.

Power & Battery

Many flight controllers these days come with a built in PDB that automatically hooks up battery voltage (VBAT) readings and often current readings. These features are disabled by default in Betaflight and can be enabled in the “Power & Battery” tab. You’ll want to select “ONBOARD ADC” in most cases. The exception would be if you are using ESC telemetry for these readings.

power and battery tab

If you know the “Scale” values for your flight controller, then you can input them now. These can often be found on RCGroups or the manufacturers webpage. Otherwise you will need to determine them manually – but the defaults will often be close.

Don’t forget to click “Save” before leaving this tab.

Receiver Tab

After handling the Configuration Tab, it is best to set-up your Receiver. This is because most of the rest of the quadcopter configuration will require you to be able to interface with your quadcopter using your transmitter. To finish Receiver set-up, let’s go to the “Receiver” tab next. You may need to plug your battery into your quadcopter to get this tab to work properly.

  1. 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”. Once selected, this shows up as “TAER1234”. Do this first and click “Save”.
  2. 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.
    1. 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 or under 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.
    2. 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.
  3. 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.

Don’t forget to click “Save” before leaving this tab.

Modes

In the “Modes” tab you will tell your flight controller what your RC controller switches do. Most pilots will want to configure two switches: an arming switch and a flight mode switch:

  1. The arming switch should be bound to the “ARM”. This will turn your quadcopter on and off when it is flipped.
  2. The quadcopter’s default mode is acro (also called “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.

Binding a mode to a switch is pretty intuitive. Here is how:

  • Clicking “Add Range” on the appropriate mode.
  • Figure out which TX switch you want to bind to this mode. If you don’t know, go to the Receiver tab and see which AUX channels “move” when you flip the switches on your TX.
  • Pick the appropriate AUX channel for the switch you want to use for that mode using the drop down menu.
  • 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”
  • Repeat this process for each mode you want to set.

Failsafe

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. This is generally set-up by default, but you should double-check it. We will explain how below.

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 should be at or above the throttle value you see when you turn off your transmitter. For me that was 885, the default.

This is the only thing you need to adjust on this page. Betaflight comes with some extra features you may want to adjust, including failsafe “staging” and behavior. You can learn more about how the Failsafe works in the Betaflight Failsafe Documentation.

Don’t forget to hit “Save and Reboot” after changing anything on this page.

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. This tab has two settings pages, “PID Settings” and “Filter Settings”. Let’s look at “PID Settings” first:

This first tab can be ignored for beginners. Skip to the “filter’ tab, described after these next few bullet points.

  1. 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.
  2. 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?
  3. 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. The same goes for if you bought an ARF quadcopter — hopefully you did a backup of the factory settings and you should restore the factory 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.

The other settings page under “PID Tuning” is the Filter Settings page:

Filters tab

Turn off all notch filters if you are using the DYNAMIC_FILTER feature.

If you enabled the DYNAMIC_FILTER in the Configuration tab per our suggestions, you should go ahead and disable all of the notch filters in this page (they are enabled by default). The Dynamic Filter replaces all of these notch filters, meaning you will be using this page much less often then you might have done previously. The only adjustment you might make going forwards is changing the “D-Term Lowpass Filter”, which has some new options as of Betaflight 3.3. We recommend you leave it at the default for the first few flights. There is extensive documentation on these filter on the Betaflight Wiki.

Blackbox Tab

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 now turned on by default. Data will be logged to either the onboard flash memory (so-called “dataflash chip”), or an SD card if your FC is equipped with one. If you are using an SD card, I would recommend that you plug one into your FC right now and use this tab to verify that Betaflight is able to access the SD card and write to it:

SD Card Error

This is a common error with SD cards. In some cases, the only way to fix it is to buy a new SD card. The Betaflight Wiki has some suggestions you should try first, though.

Safety Checks

Before you put your props back on, we recommend you perform some checks to prevent any issues when you’re ready to fly.

Check Motor Direction

Go to the “Motors” tab and enable “Motor Test Mode”:

Motors tab

As of Betaflight 3.3, you must check this box to be able to arm the quadcopter while it is connected to your computer.

Now, arm your quadcopter from your transmitter. Verify that your motors are spinning in the correct direction:

motor_direction

Check CPU Load

While the quadcopter is armed, look at the CPU load in the bottom of Betaflight Configurator:

If it is ever over 95%, you are overworking your CPU and you will likely have some flight problems. Try turning off some features (or overclocking it if it is a F4) to bring the CPU load back down.

Verify Failsafe

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.

Go ahead and disarm your quadcopter now.

Check Gyro

Now, lets go to the Setup tab to double-check your gyro configuration:

set-up tab

Check to make sure the 3D quadcopter moves identically to the real one.

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.

Backup Your Configuration

Once you are happy with your initial configuration — back it up! This’ll save some work if it somehow gets deleted.

Video Guide

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!

 

Conclusion

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.

Read the Wiki!

The Betaflight development community maintains an excellent wiki on Github which has technical details and guides on almost every feature of Betaflight. These guides are a bit scattered, but are incredibly useful once you know what you are looking for. You can check it out here.

Once you’ve gotten your initial configuration settled out and your quadcopter is flying, you should be able to use the wiki to enable the extra features like telemetry, smartaudio, etc one at a time. The wiki is a great resource for this – as is our site!

Once you’re ready to start tuning, check out our guides in this order:
Setting up a notch filter
Easy tuning using in-flight adjustments

Show Buttons
Hide Buttons