Profile
Back to NewsBack
GitHub Trending 8 min
Reader Mode
betaflight/betaflight-configurator: Cross platform configuration and management application for the Betaflight firmware

betaflight/betaflight-configurator: Cross platform configuration and management application for the Betaflight firmware

17 hours ago

!Betaflight !Betaflight

Betaflight App

Latest version</a> Build</a> Crowdin</a> Quality Gate Status</a> License: GPL v3</a> Join us on Discord!</a>

Betaflight App is a crossplatform configuration and management application for the Betaflight flight control system.

The Betaflight App is a Progressive Web Application (PWA). The most recent release of the Betaflight App is available at app.betaflight.com

NOTE: If you are considering testing the latest unstable release then it is at master.app.betaflight.com

Various types of aircraft are supported by the tool and by Betaflight, e.g. quadcopters, hexacopters, octocopters and fixed-wing aircraft.

Historical Releases

These are still available under different operating systems and allows you to configure the Betaflight software running on any supported Betaflight target. Downloads are available in Releases.

Installation

Standalone

We provide a standalone program for Windows, Linux, Mac and Android.

Download the installer from Releases.

Notes

Windows users

The minimum required version of windows is Windows 8.

MacOS X users

Changes to the security model used in the latest versions of MacOS X 10.14 (Mojave) and 10.15 (Catalina) mean that the operating system will show an error message ('"Betaflight Configurator.app" is damaged and can’t be opened. You should move it to the Trash.') when trying to install the application. To work around this, run the following command in a terminal after installing: sudo xattr -rd com.apple.quarantine /Applications/Betaflight\ App.app.

Linux users

First step is to download the installer and keep it in your working directory, which can be done with the following command:

wget https://github.com/betaflight/betaflight-configurator/releases/download/10.10.0/betaflight-configurator_10.10.0_amd64.deb

In most Linux distributions your user won't have access to serial interfaces by default. To add this access right type the following command in a terminal, log out your user and log in again:

sudo usermod -aG dialout ${USER}

Post-installation errors can be prevented by making sure the directory /usr/share/desktop-directories exists. To make sure it exists, run the following command before installing the package:

sudo mkdir /usr/share/desktop-directories/

The libatomic library must also be installed before installing Betaflight App. (If the library is missing, the installation will succeed but Betaflight App will not start.) Some Linux distributions (e.g. Fedora) will install it automatically. On Debian or Ubuntu you can install it as follows:

sudo apt install libatomic1

On Ubuntu 23.10 please follow these alternative steps for installation:

sudo echo "deb http://archive.ubuntu.com/ubuntu/ lunar universe" > /etc/apt/sources.list.d/lunar-repos-old.list
sudo apt update
sudo dpkg -i betaflight-configurator_10.10.0_amd64.deb
sudo apt-get -f install

On Ubuntu 24.10 and above, please follow these steps, as some deprecated modules are no longer available through apt on this distro:

sudo apt update
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gconf/libgconf-2-4_3.2.6-4ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gconf/gconf2-common_3.2.6-4ubuntu1_all.deb
sudo dpkg -i gconf2-common_3.2.6-4ubuntu1_all.deb
sudo dpkg -i libgconf-2-4_3.2.6-4ubuntu1_amd64.deb
sudo dpkg -i betaflight-configurator_10.10.0_amd64.deb
sudo apt-get -f install

Graphics Issues

If you experience graphics display problems or smudged/dithered fonts display issues in Betaflight App, try invoking the betaflight-configurator executable file with the --disable-gpu command line switch. This will switch off hardware graphics acceleration. Likewise, setting your graphics card antialiasing option to OFF (e.g. FXAA parameter on NVidia graphics cards) might be a remedy as well.

Unstable Testing Versions

The future of the Betaflight App is moving to a PWA (Progressive Web Application). In this way it will be easier to maintain specially to support different devices like phones, tablets. etc. Is a work in progress but you can have access to the latest snapshot in PWA way without installing anything (take into account that some things don't work and are in development).

Be aware that this version is intended for testing / feedback only, and may be buggy or broken, and can cause flight controller settings to be corrupted. Caution is advised when using this version.

Languages

Please do not submit pull requests for translation changes, but read and follow the instructions below!

Betaflight App has been translated into several languages. The application will try to detect and use your system language if a translation into this language is available. You can help translating the application into your language;

If you prefer to have the application in English or any other language, you can select your desired language in the first screen of the application.

Build and Development

Technical details

The next versions of the App will be a modern tool that based on PWA (Progressive Web Application) and uses principally Node, npm, Vite, Vue and TypeScript for development and building. For Android we use Capacitor as wrapper over the PWA. To build and develop over it, follow the instructions below.

Prepare your environment

  1. Install node.js — use the exact version in .nvmrc
(nvm use if you have nvm). The bundled npm must be 11.6.1 or newer: npm 11.6.0 and older write package-lock.json in a different shape, so an older npm makes every commit rewrite the whole lockfile. npm install warns with EBADENGINE if your toolchain is too old, and CI fails the Lockfile in sync check.

PWA version

Run development version

  1. Change to project folder and run npm install.
  2. Run npm run dev.
The web app will be available at http://localhost:8080 with full HMR.

On the Modes tab, use the search field above the list to filter mode names as you type. Search starts at two characters, matches any part of the displayed name, and ignores case and surrounding whitespace. Results keep the existing mode order and respect Hide unused modes. Clear the field or reduce it to one character to remove the text filter; mode ranges and links are preserved while hidden. The no-matches message appears only after mode data has loaded successfully.

Run production version

  1. Change to project folder and run npm install.
  2. Run npm run build.
  3. Run npm run preview after build has finished.
Alternatively you can run npm run review to build and preview in one step.

The web app should behave directly as in production, available at http://localhost:8080.

Android version

The Android version uses Capacitor as the native wrapper with custom plugins to bridge the PWA to native capabilities.

Prerequisites

You need to install Android Studio as Capacitor apps are configured and managed through it.

Run development version

  1. Change to project folder and run npm install.
  2. Run npm run android:run.
The command will ask for the device to run the app. You need to have some Android virtual machine created or some Android phone connected using ADB.

As alternative to the step 2, you can execute a npm run android:open to open de project into Android Studio and run or debug the app from there.

Run development version with live reload

  1. Change to project folder and run npm install.
  2. Run npm run dev -- --host. It will start the vite server and will show you the IP address where the server is listening.
  3. Run npm run android:dev
This will ask for the IP where the server is running (if there are more than one network interfaces). You need to have some Android virtual machine created or some Android phone connected using ADB. Any change make in the code will reload the app in the Android device.

Running tests

npm test

Linting and type checking

npm run lint runs ESLint and the TypeScript checker (vue-tsc); CI runs the same checks. npm run lint:fix and npm run format fix what they can.

The App is written in TypeScript (#5542):

  • New files are .ts, and components use Chat with me