Flashing BetaFlight and Using BLHeli Passthrough

Beta flight, What is it?

Most people involved in this hobby of ours have heard of BetaFlight, but for those that haven’t BetaFlight is an experimental fork of CleanFlight which is optimised for acrobatics and racing.  Betaflight is rapidly changing and advancing, as a result, by flashing it to your flight controller you get a cutting edge experience and access to new and developing features.  Because it is experimental there are occasionally bugs, these are usually fixed very quickly.

BetaFlight is an experimental fork of CleanFlight

Why Betaflight is awesome

Quick summary of main flight performing features in betaflight:
– Gyro sync (always the most fresh gyro data before the loop starts with minimum delay)
– Overclocked i2c bus to speed up communication with gyro
– Gyro FIR filter preconfigured forthe cleanest gyro traces to the pid controller
– Optimized D calculations and filtering for more derivative precision
– Optimized defaults with main focus on PID1 and PID2 (reduced amount of pid controllers for better overview)
– On F1 targets no need to disable acc anymore to get same performance. Gyro readings get priority when in acro mode.
– Optimized scheduling in tasks to minimize jitter to motors
– Fast PWM support in combination with Oneshot125 (This is usefull when you want fixed refresh rate for ESC’s up to 4khz)
– Easy to no tuning. Stock settings for PID1 and PID2 should be very well flyable on most machines. The optimised filters do good job on feeding the cleanest gyro traces to the pid controller loop, which gives better flight experience and easier tuning.
– Cooler motors and ESC’s. Better for equipment due to clean filters.
– Quaternion logic for Level modes. More precision, less drift and faster performance!
– Beeper selectable for different events

More reasons why Betaflight is awesome

Aside from improvements to the control system, two recent features have made BetaFlight very popular:

Air Mode – This makes it considerably easier to do acrobatic manouvers.  Conventionally below mid throttle the effect of stick movements is gradually listened until at zero throttle they have no effect (and frequently the props are stopped anyway).  This is great for landing and slow accurate proximity flying as it prevents stick movement at low throttle causing the quad to move aggressively, however, for acrobatics such as flips and rolls, it is exactly the reverse of what is required, for these, the pilot chops the throttle when inverted so the quad is not driving its self into the ground at full throttle, however he wants the quad to manoeuvre aggressively to complete its flip or roll.  Air mode addresses this with full impact of stick movement being applied even at zero throttle (the quad should have its props spinning even at zero throttle – something not all pilots currently do and takes a little getting used to).  The net result is the quad can flip and roll quickly with the minimum loss of altitude.

ESC Pass through Flashing – BetaFlight and recent releases of CleanFight allow the pass through flashing of ESCS using the USB connection to the Flight controller, removing the requirement to use flashing tools and disassemble the quad to update the ESC firmware.

**WARNING** Betaflight is exactly as the name suggests, BETA software.  This means that it is experimental.  We do not recommend that beginners to the hobby flash Betaflight.  We recommend that newcomers stick with Baseflight or cleanflight.


How to flash the flight controller with BetaFlight (A Step by Step guide)

This is a step by step guide to flashing your flight controller with BetaFlight including the new Air mode, followed by pass through flashing of BLHeli ESCs.

Details of BetaFlight can be found at the link below, note that this is a very busy thread:


In this blog entry we will go through a step by step flash of BetaFlight followed by a BLHeli Firmware Flash.  The examples used are based on a Sparrow Racing 270mm frame with a Naze32 rev6a acro flight controller, an OSDoge, a FrSky X4Rsb and FVT Littlebee 20a ESCs, other components are irrelevant to the steps shown.

Although the configuration used has Arm and Air Mode on separate switch settings it is possible to activate air mode before take-off as Air mode will not take effect even though enabled until a short delay after the quad receives input on both the throttle and Pitch/roll.

In the interest of safety Props should be removed from the quad during the entire process.

In order to flash your flight controller with BetaFlight you will need the CleanFlight configurator application from the Google Chrome store.

Next the .hex file for your flight controller needs to be downloaded from here:


Save Betaflight Hex

Save Betaflight Hex

Scroll down to the DOWNLOADS section, right click on the .hex entry for your flight controller and select “Save Target as …”

Select a suitable location to save BetaFlight and click “save”

Once the download completes, plug the PC into the flight controller and start CleanFlight Configurator.  Go to the Firmware Flasher Tab and select “Load Firmware (local)” on the bottom right of the page.  Navigate to the location the BetaFlight .hex file was downloaded/saved and select the file, when the firmware is loaded into the configurator the green “Flash Firmware” button on the bottom right will be enabled:


Select “Flash Firmware”, the task bar will show the progress of the install.



Once completed, click “Connect”.  Depending on what was flashed on the Flight Controller the previous settings may be retained or lost, the section below shows the settings used for the Sparrow 270 with the hardware above, they should be adjusted as appropriate:

Basic Betaflight Settings


Ports Tab:image007

UART1 is used to talk to the OSDoge, it should be set to MSP.  UART2 is used to talk sbus to the X4Rsb receiver, it is set as a serial RX.  Click save


Configuration Tab:


Motor Stop should be disabled (having it enabled removes much of the benefit of Air mode).  Minimum Throttle should be set to the lowest point where the motors idle with the props on:

Board Alignment


The board alignment should be set (in this example the board is facing backwards).  The receiver settings should be set appropriate to the receiver being used (in this case sbus from the X4Rsb)

Voltage Adjustment


If the voltage sensor on the Flight controller is being used the voltage scale should be adjusted until the voltage shown on the setup tab is correct (compared to a meter on the battery) (remember to hit “Save and Reboot” if moving from the config tab to the setup tab (otherwise the change you just made to the voltage scale will be lost)

Set Failsafe


Failsafe should be enabled with an appropriate value for failsafe throttle

Additional features:

Any additional features (in this case LEDs) should be set.  Click “Save and reboot”

Receiver tab


Select the channel map appropriate to the radio being used and if RSSI is being passed in a channel, select the correct channel.  Click Save.


Modes Tab


On the modes tab set up the channels as required (it is important if Air mode is going to be used that Arming is on a switch, not by stick).

In the example picture a three position switch (AUX 2) is used for Disarm/Arm/Air mode, a second three position switch (AUX 1) is used for flight mode (Angle/Horizon/Rate) and a third (AUX 3 – not shown) has Beeper and Gtune on it.

Click Save


Motors Tab

If the FC is flashed for the first time or throttle settings have changed (eg min throttle on the config tab) the ESCs should be recalibrated



A custom mix to match the physical dimensions of the Sparrow is added as follows:

mixer CUSTOM
mmix reset
mmix 0 1.000 -1.000 0.805 -1.000
mmix 1 1.000 -1.000 -0.805 1.000
mmix 2 1.000 1.000 0.805 1.000
mmix 3 1.000 1.000 -0.805 -1.000

Type save to save the mix


Flashing BL Heli Firmware

Betaflight supports pass-through of BL Heli firmware by simply plugging in to the flight controller with a USB lead.

BLHeli suite can be found here:


Download the latest zip and extract the contents to an appropriate folder.

Without any other software connected to the flight controller, plug the USB in and then start the BLHeliSuite application.  On the “select ATMEL / SILABS Interface” menu select the appropriate interface (shown is for FVT Littlebees):


Select the correct COM port and click “Connect”:


Connect the battery to the quad and the esc section at the bottom will populate with numbers 1 through 4, “click the check” button and a window confirming the current state of the ESCs will appear:


(Notice the multi version of the ESC firmware is used on multicopters)

Click on “OK” on the dialogue box then click “Flash BLHeli”. The software will then flash each of the ESCS in turn (one after the other).  For each ESCthe same series of dialogue boxes will appear requiring confirmations.

Once the ESCS have been flashed BLHeli suite can be disconnected.  At this point it is generally not necessary but good practice to recalibrate the ESCs (it is only necessary if some of the parameters have changed)

About the Author

[author] [author_image timthumb=’on’][/author_image] [author_info]Adam is a Technical Architect IRL and Quad builder and Pilot in his spare time.[/author_info] [/author]


[et_bloom_inline optin_id=optin_4]



This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>