Butterflight is a new firmware aimed directly for racing drones. It is stripped of some superfluous or rarely used functions so it can run in F3 boards. Despite being the first iteration of Butterflight, it's version is 3.4, and I believe that the developers did that as a way to differentiate themselves from the new Betaflight 3.3. But this new firmware has been surrounded by a little controversy. First, let's see why Butterflight came to be and then, along the way, explaining why it's somewhat controversial.
To better understand things, we have to go back a little bit... There was this firmware called Raceflight that forked from Betaflight. The Raceflight guys had to keep it open source and free to the public because that's how the Betaflight license demanded it. But from a certain point, Raceflight had gone closed source and called it's firmware Raceflight One to avoid licensing issues. After some misunderstanding between the Raceflight One guys, the guy in charge for developing the firmware released it's code as Open Source and joined the Betaflight team to help, and with them he brought the code for a filter called Kalman. After introducing that filter in a development version of Betaflight 3.3, many people tried it and their race quads started to fly smoother and with less propwash. One guy nicknamed "Loose Transistor FPV" that also flies some slightly bigger quads with bi-blade props even went so far as making a video where he told us that previously, with Betaflight 3.2, those quads became almost unflyable, and now with the Kalman filter they were flying fine again! Later on, he became one of the people involved in the Butterflight development...
Everybody was pretty happy about it, then suddenly the Betaflight developers decided to take the Kalman filter out from Betaflight. The people that helped develop that filter asked the Betaflight developers to leave it on, even if it was only accessible with a CLI (Command Line Interface) option to activate it. The Betaflight developers replied telling that they already had created a mathematically similar alternative to the Kalman filter that was less CPU intensive and that, at that stage, already in the Release Candidate versions phase, they could not and would not insert the Kalman filter code. My question is, why did they take it out in the first place? Wouldn't it be better to the people choose what they want to use, just like it is now with the Biquad and PT1 filters? The Kalman guys asked for some kind of alternative and authorization to find a way to develop some kind of "hack" so people would be able do modify or compile a Betaflight 3.3 version with the Kalman filter. But why you ask? Why, if there is a mathematically similar alternative that is less CPU intensive? Because in practical testing, people found out that similar does not mean it's the same. The mathematical alternative to the Kalman filter is not behaving the same way and it's not as effective. Then, the Betaflight developers told that if the Kalman filter guys wanted a version with that filter, they would have to fork not only the firmware but also the configurator. And that's what they did! The Butterflight was born!
A lot of people, including a close friend and flying buddy of mine have already tested Butterflight 3.4 and they say that the firmware lives up to it's name. Their racing quads are buttery smooth and propwash is greatly reduced. I'm going to test this firmware also in one of my quads to see for myself if the hype is real. But why is Butterflight generating some controversy? Well, for several reasons. For starters, some people argue that 99% of the code is Betaflight. Well, duuuhhhh, of course it is! It's basically Betaflight 3,3 with the added Kalman filter, but it also has another important detail. There are some video transmitters (VTX) that were using a protocol called Smartaudio from Team Black Sheep (TBS), but due to a bug in the previous version of Betaflight, the protocol was reverse engineered with that bug included. Let me remind you that protocols are free to use, so reverse engineering in this case is actually legal... Now, in Betaflight 3.3, the protocol was actually corrected and those same VTX users can't now use Smartaudio. Butterflight 3.4 has an option where you can choose which version of the code you want to use, allowing everyone that has a Smartaudio capable VTX to use that protocol, regardless of a bug or not. Freedom of choice and alternatives is what this is all about! Let me remind you that Betaflight also started as a fork of Cleanflight, where new functionalities would be added to Cleanflight's code and tested, so later the best and most stable ones would eventually even be used in Cleanflight. Am I the only one here seeing the similarities between Betaflight when it started and Butterflight?
But some people are having some kind of "deja vu", because the Raceflight developer is involved and once again, an hardware manufacturer is also involved in this matter, and some people are afraid that this whole situation becomes Raceflight all over again, where there were suspicions of Betaflight code being used as closed source and commercialized. The Butterflight team, in a podcast with almost an hour and a half, explained all this. The hardware manufacturer in question is Helio. These guys developed a unique flight controller (FC) that uses two processors: F4 and F3. The F3 is used exclusively for filtering, leaving the F4 free to do the rest and also future proofing this FC. The Butterflight and Helio guys already knew each other. The Helio FC was in need of a firmware and thus, the synergy between them was born. Butterflight developers were very clear in that they were not a part of this company, and that their objective with Butterflight was to provide an alternative, also free, and all of them had good paying jobs and wouldn't even need to get money from Butterflight. They did it for the community. Now, while I believe in this, if for some reason things change along the way and I'm not happy about it, I can always return to Betaflight, so no worries there.
Kabab FPV's podcast with the Butterflight developers
During the course of said podcast, many other things were mentioned, including what the Butterflight developers are planing to do in the future. I assure you, that besides all of those being completely new and original code, it's absolutely revolutionary! Do you know that PIDs were invented around the 1800s? We've all been using technology that is around 200 years old! These guys are planning to eliminate PIDs entirely! Imagine a quad that you didn't need to tune. The quad would tune itself automatically, leaving you to simply tune the feel you would what from the quad. This is what the Butterflight developers are planing to do with some really advanced mathematics. I always thought that Raceflight One has an incredible wizard that let's you setup your quad pretty easily and quickly and always wondered why the Betaflight developers never did something similar. Well, the Butterflight developers are planning to do a similar wizard too. Raceflight One's wizard is amazing. You can rotate the boards anyway you want, solder the ESCs/motors, not worry with motor rotation orientation, and the wizard will figure that all out, including setting up your radio and even flashing the ESCs directly, without the need of a dedicated BL Heli GUI for that. Joshua Bardwell said, kinda like in a humorous clickbaitty way that Betaflight is dead. While it is not exactly dead yet, after listening to that podcast I got the feeling that it might die shortly, if these guys can make what they set themselves to do, just like Betaflight eventually killed Cleanflight with it's breakthroughs and like Cleanflight had killed Baseflight before too.
All of this puts a smile on my face, not only because there's now even more choice and freedom, but also because there are some new players in the scene that have some very nice ideas to help push this hobby forward that we love and care so much about. It's a really exciting time to be a part of this hobby just for the constant sheer amount of new breakthroughs that happen constantly, as this is still a relatively new hobby and there's so much still to be discovered. Anyway, whatever firmware you choose, in the end, what matters is that you fly and have fun doing so, because ultimately this is all about having fun. Cheers! ^^
Links
http://butterflight.co
https://github.com/ButterFlight/butterflight-configurator/releases
https://www.dropbox.com/sh/9i395t1pik81a0y/AAAcj4UcvvA0wLdcttGrFYRSa?dl=0