Butterflight – a Better flight firmware?
Butterflight is a new flight firmware that was forked from the widespread Betaflight firmware. A few enthusiasts decided to fork and make their own version of flight firmware with a focus on flight characteristics and ease of configuration. Its OpenSource repository can be found here.
What is Butterflight?
Butterflight is a fork of Betaflight that aims to bring a renewed focus on Mini Quad Flight Performance. Developers want to push the envelope of what is possible in terms of raw flight characteristics keeping freestyle and racing pilots desires on the forefront. Clean flight performance and ease of use and that is what they plan to deliver.
Why Butterflight?
Betaflight is currently on a feature freeze and many people have been left without access to the fast kalman filters they were once testing before. Butterflight repository will be a stop-gap until this all gets sorted so folks can continue to test and fly what they like.
Support for incorrect Smart Audio protocol
Butterflight has a compatibility mode for AKK VTX’es with incorrectly implemented Smart Audio protocol that was removed in the previous Betaflight updates (Betaflight 3.3). You can now select this mode via CLI and make your old AKK VTX’s compatible and fully operational via OSD.
set vtx_akk_hack = on | off
Enabling FAST KALMAN filter
If you want to test the Fast Kalman Filters you will have to change a couple of settings via CLI. Process is quite simple, open Butterflight Configurator (10.2.0) and enter these commands:
Make sure to set Dterm Lowpass filter to PT1
Enable Dynamic Filters | Airmode | Anti-Gravity (8k8k on a non 32k board)
Disable all Notch filters
set gyro_use_32khz = ON (32Khz IMU Only)
set cpu_overclock = 192MHZ (F4 Only | 32 Khz IMU)
set gyro_stage2_filter_type = FAST_KALMAN
save
set gyro_filter_q = 400
set gyro_filter_r = 88
save
And you should be good to go. First a quick hover test for hot motors then it’s too the sky!
Main website: http://butterflight.co/
You can get Butterflight firmware from here: https://github.com/ButterFlight/butterflight/releases Or you can upload the firmware straight from the Configurator.
You can get Butterflight Configurator from here: https://github.com/ButterFlight/butterflight-configurator/releases
EDIT 2018-03-01: If your quad refuses to arm, try this command:
set moron_threshold=120
also wait a little with the quad still before arming, the filter needs a little time to get it’s head in order.
Edit 2019-01-21: This graph shows the number of commits of Butterflight vs Betaflight. Not much movement seen lately on Butterflight.
I tested Butterflight this weekend so early that the stand-alone GUI wasnt released so my video needs to be updated with their own GUI again a big shout-out to RS2K for bring us the needed update to BF… my experience is here…
https://youtu.be/ly15lnLToZ8
enjoy!
BDW the quad in fact was troubleshooted here ! and you can see what i tried before Butterflight here : http://www.multirotorguide.com/news/lumenier-alpha-aio-flight-controller-f4-fc-with-osd-and-30a-blheli_32-esc/
Thanks for comment and for early tests. Watched your Tube video and enjoyed. Looks like this Butterflight is real butter.
Montis Thank You!
Kindly
Alex S.
so if our FC gyro doesn’t support 32Khz, can we still test the benefits of the kalman filters?
Citation from RCG and FB:
“In most cases Kalman will not give better results on a mpu-6000 or any 8K gyro: those have internal built in filtering (and delay) and you can already use minimal filtering in BF for them. Reported cases show adding Kalman (or BF biquad fir2) will give worse results.
On the 32K gyros the kalman enables us to get read of all the extra filtering needed due to the higher noise coming from the gyro.”
“…You can still use the fast kalman filter on 8k8k with the mpu6000…”
I dont understand. Is Butterflight the Same Code as Betaflight but the Kalmanfilter is a different code or what?
Butterflight is a fork from Betaflight so it inherits the same code from Betaflight. Yes the filters part is now different between Beta and Butter flights. Don’t know the exact details, but the Betaflight was actually testing the real Kalman filters in the early 3.3 versions. Then later somehow Betaflight team had moved to a different type of filter (so called “Biquad + FIR”). While they also perform very good, they are not the real Kalman filters that users were so excited for.
The decision to move from Kalman filters to Biquad filters was probably one of the reasons why the Butterflight was born.
What is the best esc protocol to go with this? Multishot or dshot.. i have blheli32 escs which can go to dshot 1200.. and should i use this and update the pmw frequency to the max (48khz)?
FC: FuriousFPV fortini osd (32khz f4)
Esc: Aikon ak32 4in1
Butterflight v3.4.2
DYS F4 FC V2
Blheli_s ESC’s (supports D-Shot)
Bug Report – with reversed motors set, turtle mode doesn’t spin the motors opposite of the normal direction. they spin the same direction. Anyway you can work this out? I’d be happy to test for you if needed.
Thanks
It would be great if you could add the issue report to the Butterflight repo here: https://github.com/ButterFlight/butterflight/issues
Thanks for contributing!
Why do we turn off all the notch filters? I’m new to understanding how these filters work.
If I wanted to adapt this to a 7″ cruiser that I want to get as smooth flight as possible, which settings should be changed (to suit the size)
Thanks