Every Naze32 FC came with Baseflight firmware, and Naze32 was once the most popular FC for mini quad. Now we have a new player called CleanFlight which is a fork of Baseflight. The creator of the firmware calls it the “clean code version of baseflight”.
Edit: This Guide was written in Jan 2015. In 2017, I wouldn’t recommend either of these firmware, my personal favorite firmware would be Betaflight, KISS and Raceflight.
Take a look at the list of FC firmware available today.
Baseflight and Cleanflight Comparison
CleanFlight is gaining popularity over Baseflight. Many Baseflight users hesitate about whether Cleanflight is worth all the trouble changing over for (including users of CC3D, Sparky boards as well). In this post we will discuss the technical differences between the two software, features, performance, pros and cons, to decide which one is better for you.
If you have decided to use Cleanflight, or is already using it, here is a setup guide for you. And this is a Baseflight Naze32 setup guide.
Differences in Performance
As users, all we care about is what benefit we get out of these firmware, in terms of performance, reliability and functionality.
Cleanflight’s Advantages
These are what Cleanflight offers on their page:
- Better coding practices and introducing tests, easier to maintain and for future development. (Dominic has software development background)
- Many bugs fixed from Baseflight.
- Supports more flight controllers, including CC3D, CJMCU and Sparky.
- Supports OneShot ESC and more than 8 RC channels.
- Additional PID controllers that uses floating point arithmetic operations. (now has 3 built-in PID Controllers)
- Many more features such as RGB LED strip support, Autotune, In-flight PID tuning with your radio, blackbox flight data logging etc.
For a full list of improvement, check out this page.
Baseflight has been slow in improving and adding new features. Cleanflight has committed to evolve much quicker, including introducing GPS features in their software in the near future. However adding/Improving GPS features was never mentioned in Baseflight (apparently Timecop once said “if you want GPS, go get yourself a Naza”)
Baseflight’s Advantages
I am currently using both Cleanflight and Baseflight. I haven’t flown long enough to notice the difference between these firmware yet in terms of performance (due to bad weather). In Cleanflight, many features are still experimental and there are still a lot to be done in Cleanflight. But I am already liking the additional features and settings in Cleanflight.
Baseflight has been around for a while now, the code is stable, mature and proven to work. What Dominic is trying to do is to make it even better. But inevitably there will be concerns about how reliable Cleanflight is since it’s ‘new’? Also it’s quite annoying as Cleanflight is being updated so frequently, with new features or change of GUI/features, and you have to learn it all.
If you are feeling unsure about CF and you are having good result with Baseflight, it’s best to just stay where you are. It will save you lots of trouble worrying about it. Also if the extra features and improvement aren’t interesting to you, there is no need to migrate either.
For beginners new in this hobby, it’s difficult to notice the performance difference. Not to mentioned the new features could be a bit overwhelming. In my opinion staying with Baseflight is a safer and easier option. You can decide whether to use Cleanflight when you are more experienced and demands more features it offers.
Story behind Baseflight and CleanFlight
The whole story behind these two firmware is a total drama from what I understand. Originally Hydra (Dominic Clifton – the creator of Cleanflight) wanted support for other FC boards, and the coding is not clean and maintainable enough. But Timecop (the creator of Baseflight) didn’t really care and not intend to do anything about it. So Dominic decided to create Cleanflight based on the open source project Baseflight. Although there are many added features, the Baseflight GUI writer (the chrome app) insists Dominic stole their work and copyrighted content.
For some more background of this, here is Baseflight’s side of story. And here is Cleanflight side of story.
It’s really a shame that these awesome developers cannot work together on this project, but I am sure it won’t be completely a bad thing either. Having Cleanflight competing with Baseflight, it will actually push both software in the positive direction in a faster pace.
29 comments
An interesting history lesson for someone new to the hobby. Keep it here for a while.
I’m having a terrible time trying to even get cleanflight to connect. I keep getting unable to open serial port. I’ve tried installing, removing, and reinstalling STM32 driver. When I try to add hardware manually, the STM Virtual Port, it tells me unable to activate (code 10).
I’d be very thankful if you’d post what I need to do to fix this. Running Win8, 64 bit. Trying to connect to Quantum 32 SciSky that’s supposedly preloaded with cleanflight.
Cleanflight (and baseflight too) use horrible coding practices. Everything is a mess. It is not reusable, not reentrant code. Basically throwaway. If you want a (slightly) better code practice go to librepilot. For an even more organized code go to px4. But in terms of code organization both cleanflight and baseflight look like a utter puke.
Hi Oscar,
I’m Brad from Bradwii. I found this page by googling bradwii. It’s stated above that I had bad things to say about someone called Dominic. I’ve never said anything about Dominic, so whoever posted this probably just made it up.
Just setting the record straight.
thanks Brad, just to clarify that it was one of the comments that stated that, it didn’t come from me
I have just entered into the realm of FPV multirotors. I have chosen to build a 270 fpv racer and am using a naze32 rev 5 full version. Now I have been having a head scratcher over the last 2 weeks since I’ve completed the build and am beginning testing. I’ve reprogrammed the board in cleanflight many many many times… I am seeing a HUGE stability issue. I get 1 inch off the ground and the whole platform goes berserk and taps the ground out of control. I’ve calibrated the escs and torn down the motors to check for issues and found none… every time I hook it up to the computer it shows perfect orientation and perfect level and everything but when I go to throttle up it goes berserk! I have a second board and I’m gonna hook that in tomorrow to check if I have a bad board but I honestly have no clue what’s going on…. PLEASE HELP ME BEFORE I RIP OUT ALL MY HAIR!!!! It would definitely be very appreciated =)
HI John, join the facebook group (link on the right hand side bar, multicopter international), upload some picture of your build, and footage of the problem and we will have a look.
Look on YouTube too at naze32 setup a vid done by flitetest, talks you through it. Josh states that a wrong setup, I can’t remember whic, will cause instability when in the ground effect zone, that’s about zero to 18 inches off the ground, much more for larger models and even full size helps have this as a potential hazard on take off and landing.
Hi Oscar I’m new to this on baseflight my naze board arrow on screen is facing backwards, so when I tilt my quad forward on screen it tilts backwards on screen can you help plz I’ve looked everywhere for solution to many hours of you tube still no help !!!
is the arrow on your Naze32 board facing backward as well? (did you install the board the other way round?)
if so, you can try typing this command in CLI: set align_board_yaw = 180
and save, see if this fixed the issue?
This is a nice article and it’s interesting how things change, I used Baseflight for quite sometime and then switched over to Cleanflight for some months, like most people in this hobby I rush to new things, it’s fun.
Cleanflight now is getting much worse, too many options, multiple PID controllers and none of them work perfectly. It’s not that clean at all and Dominic is gaining a very nasty reputation for taking everything from elsewhere. The Taulabs guys now accuse him of ripping them off also, not sure how true that is as they do that to everyone but Brad from Bradwii has some very negative things to say about Dominic also.
I bought a CC3D for a new airframe because it was a cheap option for Cleanflight, after getting tired of changing PID controllers, messing with loop time, I tried Openpilot on a whim, it’s free so why not. It’s not perfect but less bullshit and just works, flight performance is subjective I guess but for me, I find the feel far superior and zero drama bullshit and a good community as well.
Good to have choice, people should also try Multiwii too it still flies great and the same performance as base / cleanflight, just harder to use, the big deal about baseflight and what made it popular was the much better chrome gui, multiwii is veyr messy to set up.
interesting, could you point me to the pages where The taulabs guys accuse dominic clifton’s ripping off? and where Bradwii’s negative view about him as well?
I recently started using baseflight again after a stint with CC3D. Baseflight was OK but I started liking CC3D openpilot better. I just ordered a new Flip 32 and tried baseflight again after a six month hiatus and Man! What a difference six months make. timecop really stepped up his game! Baseflight flies better than CC3D now. I love it!
BTW, does anybody know what made timecop finally accept that oneshot is a valid concept? I thought that and GPS would never come to baseflight, figure he would let it melt away into obscurity rather than capitulate. I think timecop has done a great amount for this hobby but man, he can be stubborn sometimes! At least he saw the light.
It’s just reality :D developers don’t have the say what users get to use anymore, customers call the shot when you have competitions in a free market :D many people demanded oneshot, and were forced to move to cleanflight as it was the only software that supported it…
I’m new to 250 racer class, have been try naza and cc3d before I use naze/flip32 now.
At the first time, the board has preload baseflight firmware, it flew great and I can handle the QAV very well, then today I tried to migrate to cleanflight.
When I test, my first impression is not so good, perhaps there is something wrong with my setting and pid, but the quadcopter is not stable, when I made a normal circle path, and figure 8 movement, before the yaw rotate, it always looked up in the sky and wobbles, it flew sideways and similar to naze with altitude hold.
Is it possible that I have wrong setting? I still confuse to PIC Controller (0-5 multiwii, luxfloat, harakiri) because in almost every forums, almost all users said that they flew better with cleanflight.
Is there any harm is I flash the firmware from baseflight to cleanflight then now flash to baseflight again?
Hi Franky, From what you describe it sounds like PID is not set correctly. but yes you can flash baseflight again, there shouldn’t be any problem.
Some other things one should consider when deciding between BF and CF and the Naze and clones:
tc is a known racist. Proof? Look up GNAA. If you join the CF IRC channel you’ll see many of tc’s minions spamming the channel with ReadError leading the group. Look at the logo on his products as well as the naming: Afro flight………the Naze and Afro ESCs logos are obviously an Afro hairdo. If you look at evidence at tc’s tirades against his own customers you can see the hatred in him. Coincidence? I think not.
I dont think hes racist, I think he’s stubborn and hard headed but not racist. He lives in Japan, The afro thing is just for fun, so what if its a afro hairdo. After all, you have to admit a afro hairdo is a little over the top and draws attention to itself, people do laugh at it including black people.
Hes done a lot for this hobby, yes he has a “my way or the highway” attitude that can make him look like a #@!hole but brilliant people often are socially inept. On the forums I’ve noticed that if you ask him a question without trying to make some sort of obvious effort to find the problem on your own you will probably get a crappy reply back. If you do show some self help but still are stuck he will gladly help.
I really think your seeing him in the wrong light!
He lives in Japan…….what does that matter? You have to be a white caucasian living in America in order to be racist? If it were JUST the afro hairdo I could humor your reasoning. The GNAA reference along with tc not even attempting to deny these charges or affiliation with GNAA (if you have evidence to the contrary, please link it), ReadError and other Baseflight hordes coming into the Cleanflight IRC channel to spam and attack………..just like the GNAA article references their members doing, like I said, a little too coincidental to me.
I’m not seeing him in the wrong light. He’s casting too many shadows.
Massiveoverkill, Wow that GNAA thing is pretty crazy! Never knew that. At first I thought he was just one of those really smart guys that lacked social skills and didn’t help those who can’t help themselves, so I cut him some slack. Now things are starting to look a little different to me.
Thanks, just read the [R] thread and listen the video.
I don’t care and don’t need functions of cleanflight due to my noobs skills, but i will install anyway cleanflight even if i don’t need it. Just because someone which don’t understand the licences he choose to use will never had my support.
From now, baseflight will definitivly be banned from my boards.
Is Cleanflight just interest in lithening leds like Christmas tree ! I don’t see any think new or any real Progress.
Baseflight is not bad !
then you have one fewer problem to worry about :)
I have a CC3D and get progressively used to openpilot but some options on Cleanflight is appealing (LEDs for instance).
Some people said that the Openpilot software was better. What do you think ? Can I flash my CC3D with cleanflight with no regret ?
Well, both systems are proven to work, it all depends on what you want. Like I said in the post, if you want to use those unique features in Cleanflight, go for it. otherwise, stay where you are to stay away from troubles :D
Or, get a spare CC3D board, and try Cleanflight on it :) it’s only $15 !
Hi Oscar
I have been sort of forced into trying clean flight. I am technically challenged so I hate change but recently I decided to change my pin layout on the Naze I damaged the pads on the telemetry side so fitted a new board no issues I thought!! I flashed it with the new firmware Dec 6th previously using Oct 22nd and the reloaded my Custom Vtail mix which it flew awesome with before and it was un-flyable!! in fact it was like someone had turned the Pids up to the stratosphere and it was oscillating very badly I had to half them to get it to fly ! Around .2 but it was sluggish and lacked punch. No doubt I could have persevered and got it reasonable but I lost my patience after many hrs, in fact I thought I had a dodgy board so I bought another but same result.
I decided to give Clean Flight a try and loaded the custom V-tail mix and it flew awesome with the same FC So it was definitely software. So im not sure what happened but the new base Flight upgrade made my vtail go weird? I have heard others having issues and going back to the older firmware.. Im going to stick with Clean Flight Just have to work out how now to get telemetry to the quad as it was easy in Base Flight but not working with clean flight …yet.
Cool man, I haven’t updated my baseflight firmware yet so not sure if they have made any changes to it. But will definitely watch out :D
Nice article Oscar.
I’ve been flicking between bf and cf, and with the same loop time and pids on my qav250 and naze32 the flying experience Is identical.
My tipping towards using cleanflight is easier and more soft serial/UART options and config, and the custom ranges/values for channel switches such as flight modes/beeper and osd Page switches.
The led strip sounds good, but I’m not fussed on turn indicators and brake lights when I’m fpv’ing…..
Thanks Tim, yes lots of new and exciting features. When it comes to flying experience, I think the main difference would be the new PID controller. Lots of people I know are now running PD=1, and they are loving it. :D