Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Pull request Compare This branch is 1215 commits ahead, 84 commits behind kidBrazil:master.
apocolipse Merge Upstream Betaflight 3.5.4 (#246)
* Updated version for 3.5.1.

* Merge pull request betaflight#6580 from jflyper/bfdev-fix-osd-flymode-precedence

OSD GPS RESCUE has display precedence over other modes except FS

* Merge pull request betaflight#6612 from smoriarty21/copy_rate_profile

Allow copying to rate profile 6

* Merge pull request betaflight#6631 from loopur/baro_t

Add new broad -HAKRCF722

* Merge pull request betaflight#6643 from nyway/master

Change DALRCF722DUAL gyroMovementCalibrationThreshold default value

* Merge pull request betaflight#6560 from AndersHoglund/fix_6348

Fix for issue betaflight#6348. Prevent dispatcher deadlock.

* Merge pull request betaflight#6679 from jflyper/bfdev-fix-servoDevInit

Initialize timers assigned to servos appropriately

* Merge pull request betaflight#6682 from etracer65/crash_recovery_term_relax_fix

Fix iterm relax interfering with crash recovery

* Merge pull request betaflight#6686 from ctzsnooze/master-fix-dividebyzero-iterm

to prevent divide by zero possibility in pid.c

* Merge pull request betaflight#6670 from mikeller/fix_spektrum_rx

Fixed Spektrum implementation inconsistency.

* Merge pull request betaflight#6696 from etracer65/msp_usb_hid_fix

Fix USB HID parameter support in MSP_SET_RX_CONFIG msp message

* Merge pull request betaflight#6688 from mikeller/dont_skip_serial_frames

Remove skipping of frames after suspension for serial RX.

* Incremented maintenance release version to 3.5.2.

* Merge pull request betaflight#6720 from Faduf/YUPIF7_Mag_orientation

add specific orientation for mag of the YupiF7 extension board

* Merge pull request betaflight#6726 from ctzsnooze/iterm-relax-threshold-minor-fix

use the defined value in both places

* Merge pull request betaflight#6721 from betaflight/anti_windup_fix

Fix bug with antiwindup inversion

* Merge pull request betaflight#6774 from jflyper/bfdev-STM32F7X2-move-battery-meter-source-to-config

STM32F7X2 Move default battery meter source to board config

* Merge pull request betaflight#6781 from aguindehi/master

Add target UAVPNG030MINI for the UAVP-NG HW-0.30-mini board

* Merge pull request betaflight#6800 from DieHertz/bfdev-add-spracingf7dual-camera-control

Added long-standing camera control pin on the SPRF7DUAL

* Merge pull request betaflight#6794 from mikeller/fix_changed_defines

Fixed changed defines.

* Fixed changed defines in 3.5.

* Merge pull request betaflight#6798 from etracer65/3d_deadband_fix

Fix zero throttle deadband when using switched 3D modes

* Merge pull request betaflight#6790 from githubDLG/master

CrazyBee F3 target update

* Merge pull request betaflight#6806 from Smeat/fport_rssi

Fix rssi logging for fport.

* Merge pull request betaflight#6813 from etracer65/rssi_adc_pin_target_fix

Fix RSSI_ADC pin defines

* Fixed flash overflow in SPRACINGF3MINI.

* Merge pull request betaflight#6821 from jflyper/bfdev-nox-fix-esc-serial

NOX: Fix esc serial pacer timer def

* Merge pull request betaflight#6820 from jflyper/bfdev-f4disc-fix-esc-serial

STM32F4DISCOVERY: Fix esc serial pacer timer def

* Merge pull request betaflight#6819 from jflyper/bfdev-wormfc-fix-esc-serial

WORMFC: Fix esc serial pacer timer def

* Merge pull request betaflight#6824 from jflyper/bfdev-MIDELICF3-fix-esc-serial-timer

MIDELICF3: Fix esc serial pacer timer def

* Merge pull request betaflight#6764 from jflyper/bfdev-avoid-inactive-telemetry-from-registering-as-displayport-device

Avoid inactive telemetry port from being registered as a displayport …

* Merge pull request betaflight#6827 from jflyper/bfdev-fix-stale-voltage-meter-def


* Merge pull request betaflight#6779 from DieHertz/bfdev-spedix-f4-target

Added SPEDIX F4 target

* Merge pull request betaflight#6844 from etracer65/dual_gyro_fixes

Dual gyro fixes - fix non-reentrant code in gyro sensor update and hardcoded gyroSensor1 logic

* Fixed dual gyro code for 3.5.

* Fix from review.

* Merge pull request betaflight#6863 from jflyper/bfdev-conditionalize-rx_xn297

Add conditional for rx_xn297.c

* Merge pull request betaflight#6864 from etracer65/overflow_filter_order_fix

Fix ordering of gyro filtering and overflow/yaw-spin logic

* Merge pull request betaflight#6882 from jflyper/bfdev-fix-msp-from-calling-sdcard_getMetadata-when-card-is-not-present

SDCARD: Prevent msp from calling sdcard_getMetadata when card is not ready

* Merge pull request betaflight#6877 from etracer65/headfree_osd_flightmode_display

Add HEADFREE indicator to the OSD flight mode and warnings display elements

* Merge pull request betaflight#6810 from azolyoung/fix_rcsplit_t_control_bug

fix rcdevice can't work

* Fixed flash overflow of RACEBASE, SPRACINGF3NEO in 3.5.

* Merge pull request betaflight#6890 from jflyper/bfdev-omnibusf4fw-add-pc13-and-pc14-as-valid-io

OMNIBUSF4FW: Allow PC13 and PC14 for Omnibus F4 V6

* Merge pull request betaflight#6907 from jflyper/bfdev-make-reportExtendedEscSensors-conditional

Protect reportExtendedEscSensors with USE_ESC_SENSOR to avoid unused warning

* Merge pull request betaflight#6743 from AndersHoglund/fix_6722

Fix issue 6722. SRXL data collection was not triggered.

* Merge pull request betaflight#6899 from AndersHoglund/srxl_tidy

Spektrum SRXL Telemetry tidying.

* Merge pull request betaflight#6913 from jflyper/bfdev-fix-overlooked-USE_xxx-conversion-case-of-ADC

Fix overlooked USE_xxx case of ADC

* Merge pull request betaflight#6905 from jflyper/bfdev-fix-rx-conditionals

Add conditionals for receiver protocols

* Merge pull request betaflight#6918 from mikeller/fix_telemetry_defines

Fix conditionals for telemetry protocols.

* Merge pull request betaflight#6930 from mikeller/re_add_features_for_f3

Re-added removed features on F3 after rx / telemetry cleanup.

* Merge pull request betaflight#6912 from flywoo/master

modify the scl pin -PB8 flywoo405 target

* Merge pull request betaflight#6934 from etracer65/auto_disarm_timer_reset

Fix stick arming auto-disarm timer not being reset

* Fixed flash overflow on FLIP32F3OSD.

* Fixed flash overflow on SPRACINGF3MINI.

* Re-enabled the flash size reductions for FURYF3OSD, SIRINFPV.

* Updated version to 3.5.3.

* Merge pull request betaflight#6961 from AlienWiiBF/FortiniF4

FortiniF4 Camera Control and LED pin fix

* Merge pull request betaflight#6953 from mikeller/remove_led_strip_from_targets

Removed USE_LED_STRIP from individual targets.

* Merge pull request betaflight#6968 from loopur/target_hakrcf722

Update I/O and pwm define for target HAKRCF722 in production.

* Merge pull request betaflight#6971 from etracer65/osd_ah_div0

Fix OSD artificial horizon division by zero

* Merge pull request betaflight#6951 from jflyper/bfdev-fix-f4by-sdcard-dma-spec

F4BY: Fix bad SDCARD DMA channel spec

* Merge pull request betaflight#6974 from etracer65/osd_remaining_time_div0

Fix OSD time remaining division by zero

* Merge pull request betaflight#6976 from nyway/master

Add new target FOXEERF722DUAL

* Merge pull request betaflight#6979 from etracer65/gps_rescue_motor_stop_fix

Prevent MOTOR_STOP and auto-disarm for stick arming when GPS Rescue is active

* Fixed flash overflow for SPRACINGF3, RMDO, AIORACERF3.

* Removed features from SPRACINGF3MINI, FRSKYF3 as well.

* Aaand pruning features on ZCOREF3 as well.

* fix incorrect throttle offset in airmode

* Merge pull request betaflight#7007 from jflyper/bfdev-drop-crsf-cms-telem-if-no-cms

Drop USE_CRSF_CMS_TELEMETRY if USE_CMS is not defined

* Merge pull request betaflight#6972 from mikeller/added_mpu6000_to_skyzonef405

Added MPU6000 support to SKYZONEF405 target.

* Merge pull request betaflight#7025 from MATEKSYS/master

Add MATEKF722SE Target

* Fixed MATEKF722SE target in 3.5.

* Merge pull request betaflight#7023 from etracer65/cli_map_default

Fix missing string terminator for CLI map command defaults output

* Merge pull request betaflight#7051 from joelucid/smartport_timeout

Fix smartport timeout issue

* Merge pull request betaflight#7053 from loopur/target_hakrcf405

Add target HAKRCF405

* Merge pull request betaflight#7080 from jflyper/bfdev-fix-do-not-call-flashIsReady-when-no-flash

[FLASHFS] Avoid calling flashIsReady when flash chip is non-existent

* Merge pull request betaflight#7020 from conkerkh/PIRX

Add Pirx F4 target.

* Merge pull request betaflight#7086 from jflyper/bfdev-fix-dashboard-buffer-overrun2

[DASHBOARD] Fix buffer overruns

* Updated version to 3.5.4.

* merging 3.5.3 into BuF

* removing duplicate declaration

* Merge pull request betaflight#7098 from flywoo/master

Add new target FLYWOOF7DUAL

* Fixed FLYWOOF7DUAL in 3.5.

* Merge pull request betaflight#7145 from etracer65/msc_osx

Fixes to allow the MSC command with on-board flash to work on MacOS.

* Merge pull request betaflight#7175 from bnn1044/CLRACINGF7

CLRACING F7 add I2C support, and remove blackbox flash define

* Merge pull request betaflight#7182 from klutvott123/fport-sport-writeeeprom-fix

Skip smartport/fport telemetry requests after eeprom write

* Merge pull request betaflight#7200 from etracer65/fix_smartport_gps_alt

Fix smartport GPS altitude

* Merge pull request betaflight#7184 from Linjieqiang/add_target_EXF722DUAL

TARGET: Add support code for EXF722DUAL board.

* Merge pull request betaflight#7129 from Asizon/master

Add target OMNIBUSF4V6

* Merge pull request betaflight#7230 from Asizon/master

Fix OMNIBUSF4V6 Gyro2(External) align

* Fix flash for Colibri Race

* Enable MSC on F7, user Butter icon
Latest commit 3ded515 Dec 19, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
make 🦋 Sep 22, 2018
src Merge Upstream Betaflight 3.5.4 (#246) Dec 19, 2018
support extra files Jun 16, 2016
.gitattributes Added .mk as files with LF line ending. Converted a few files in the … Nov 5, 2017
.travis.yml Fix Travis Sep 26, 2018 Added code of conduct. (betaflight#5560) Mar 30, 2018 remove not needed whitespaces Aug 24, 2017
Makefile 🦋 Sep 22, 2018
Vagrantfile Update Vagrant env with libblocksruntime-dev required by unittest. Sep 27, 2017


Butterflight is flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft.

This fork differs from Baseflight and Cleanflight in that it focuses on flight performance, leading-edge feature additions, and wide target support.


Betaflight has the following features:

  • Multi-color RGB LED strip support (each LED can be a different color using variable length WS2811 Addressable RGB strips - use for Orientation Indicators, Low Battery Warning, Flight Mode Status, Initialization Troubleshooting, etc)
  • DShot (150, 300, 600 and 1200), Multishot, and Oneshot (125 and 42) motor protocol support
  • Blackbox flight recorder logging (to onboard flash or external microSD card where equipped)
  • Support for targets that use the STM32 F7, F4, F3 and F1 processors
  • PWM, PPM, and Serial (SBus, SumH, SumD, Spektrum 1024/2048, XBus, etc) RX connection with failsafe detection
  • Multiple telemetry protocols (CSRF, FrSky, HoTT smart-port, MSP, etc)
  • RSSI via ADC - Uses ADC to read PWM RSSI signals, tested with FrSky D4R-II, X8R, X4R-SB, & XSR
  • OSD support & configuration without needing third-party OSD software/firmware/comm devices
  • OLED Displays - Display information on: Battery voltage/current/mAh, profile, rate profile, mode, version, sensors, etc
  • In-flight manual PID tuning and rate adjustment
  • Rate profiles and in-flight selection of them
  • Configurable serial ports for Serial RX, Telemetry, ESC telemetry, MSP, GPS, OSD, Sonar, etc - Use most devices on any port, softserial included
  • VTX support for Unify Pro and IRC Tramp
  • and MUCH, MUCH more.

Installation & Documentation


IRC Support and Developers Channel

There's a dedicated Slack chat channel here:

Configuration Tool

To configure Butterflight you should use the Butterflight-configurator GUI tool (Windows/OSX/Linux) that can be found here:

The source for it is here:


Contributions are welcome and encouraged. You can contribute in many ways:

  • Documentation updates and corrections.
  • How-To guides - received help? Help others!
  • Bug reporting & fixes.
  • New feature ideas & suggestions.

The best place to start is the IRC channel on gitter (see above), drop in, say hi. Next place is the github issue tracker:

Before creating new issues please check to see if there is an existing one, search first otherwise you waste peoples time when they could be coding instead!

Open Source / Contributors

Betaflight is software that is open source and is available free of charge without warranty to all users.

Betaflight is forked from Cleanflight, so thanks goes to all those whom have contributed to Cleanflight and its origins.

Origins for this fork (Thanks!):

  • Alexinparis (for MultiWii),
  • timecop (for Baseflight),
  • Dominic Clifton (for Cleanflight), and
  • Sambas (for the original STM32F4 port).

The Butterflight Configurator is forked from Betaflight Configurator and its origins.

Origins for Betaflight Configurator:

  • Dominic Clifton (for Cleanflight configurator), and
  • ctn (for the original Configurator).

Big thanks to current and past contributors:

  • Budden, Martin (martinbudden)
  • Bardwell, Joshua (joshuabardwell)
  • Blackman, Jason (blckmn)
  • ctzsnooze
  • Höglund, Anders (andershoglund)
  • Ledvina, Petr (ledvinap)
  • kc10kevin
  • Keeble, Gary (MadmanK)
  • Keller, Michael (mikeller)
  • Kravcov, Albert (skaman82)
  • MJ666
  • Nathan (nathantsoi)
  • ravnav
  • sambas
  • savaga
  • Stålheim, Anton (KiteAnton)

And many many others who haven't been mentioned....

You can’t perform that action at this time.