📦betaflight / betaflight-configurator
← 返回首页
Cross platform configuration and management application for the Betaflight firmware
⚖️ GPL-3.0#betaflight#hacktoberfest📅 创建于 2016-06-08🔄 更新于 2026-10-28
🔗 GitHub JavaScript

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

Betaflight Betaflight

Betaflight App

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

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 <script setup lang="ts">. Lint rejects a .js file under src/; the only exceptions are the dev-only src/js/msp/debug/ and the vendored src/js/utils/three/, each typed by a .d.ts.
  • strict is on and allowJs is off, so everything the App imports is type-checked.
  • A test you change for another reason converts to .test.ts in the same pull request.
  • Components never import MSP at runtime. Talking to the flight controller belongs in a Pinia store action or a composable, and lint enforces this. Type-only imports (import type) are allowed.
  • Colours come from the theme tokens in src/css/theme.css; lint rejects a hex colour in a component's styles.

AGENTS.md has the full coding conventions and architecture rules.

Support and Developers Channel

There's a dedicated Discord server here:

https://discord.gg/n4E6ak4u3c

We also have a Facebook Group. Join us to get a place to talk about Betaflight, ask configuration questions, or just hang out with fellow pilots.

https://www.facebook.com/groups/betaflightgroup/

Etiquette: Don't ask to ask and please wait around long enough for a reply - sometimes people are out flying, asleep or at work and can't answer immediately.

Issue trackers

For Betaflight App issues raise them here

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

For Betaflight Firmware issues raise them here

https://github.com/betaflight/betaflight/issues

Developers

We accept clean and reasonable patches, submit them!

Credits

For the full details of the contributions made to the Betaflight App (and its predecessors) please check out the Github contributors page.

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR