Betaflight

Betaflight is an open-source flight controller firmware which is used to fly multirotor and fixed wing aircraft. Betaflight supports a wide variety of flight controllers and is focused on flight performance and addition of cutting-edge features.

To flash and configure Betaflight firmware, an app called Betaflight Configurator is used.

As of 2021, Betaflight is the most widely used flight software in FPV.

History
Betaflight was started in 2015 by Boris B as a fork of Cleanflight, which in turn was started as a fork of Baseflight, which was itself derived from MultiWii.

While Dominic Clifton, the maintainer of Cleanflight, was inactive for some time, Boris published binaries of Cleanflight with new features on RCGroups.com. Most notably, Boris added a gyroscope data filtering algorithm, which made very noticeable improvements for smaller 5-inch quads, which were becoming increasingly popular at the time. Some people suggested to create a new fork of Cleanflight.

Because Boris was concentrated on the pilots’ feelings during the flight, his development approach was to release experimental (“beta”) firmware and collect feedback from pilots. Thus the name Betaflight was born, which stood for “beta version of Cleanflight”. Betaflight was geared towards trying new algorithms and experimenting with new features, whereas Cleanflight was more conservative.

Boris B was very actively involved in maintaining and developing Betaflight in 2016, but abandoned the project in 2017, giving administrator rights to other developers.

Features

 * The Betaflight can communicate to receivers in such popular protocols as CRSF, DSM2, DSMX, IBUS, PPM, SBUS, SUMD as well as plain PWM.
 * Betaflight can control ESCs using PWM, OneShot, MultiShot, DShot or ProShot protocols (Dshot600 being the most popular option as of 2021).
 * Betaflight also allows to control video transmitters (e.g., Tramp HV and Unify Pro) and camera settings through the flight controller.
 * Betaflight OSD allows you to see telemetry (such as used energy and battery voltage) in your FPV video feed.
 * Betaflight supports multiple telemetry protocols (such as CSRF, FrSky, HoTT smart-port and MSP)
 * Betaflight implements several safety features, such as preventing arming when the drone is not levelled and cutting the power off when wrong motor or flight controller orientation is detected.
 * Flight data can be logged into a blackbox for later analysis.

A flight controller with STM32F4 microcontroller or better is preferred.