The number of flight controllers on the market can be overwhelming for beginners. This guide aims to explain some of the considerations in choosing the best flight controller for your quadcopter. I will also introduce you to some iconic and popular FC boards.
Article first created in Dec 2014, last updated in Nov 2016.
A flight controller (a.k.a FC) is the brain of your aircraft. It is basically a circuit board that takes sensors data and user commands, and controls the motors in order to keep the quadcopter in the air.
FC has basic sensors including Gyro (Gyroscopes) and Acc (Accelerometer), some more advanced ones come with Barometer (barometric pressure sensors), magnetometer (compass). Flight controller is also a hub for many other peripherals, such as GPS, LED, Sonar sensor etc.
Apart from the difference in hardware, they might also use different firmware that are specialized in different applications.
Modern FC firmware normally can be configured via software on a computer or smartphone. “Tuning” is the term we use in the multirotor hobby when we configure our quads. Because when we change PID, rates and certain settings, it changes the way the multirotor flies, so it’s kind of like tuning a car. The GUI and the parameters might be different so there is certain level of learning curve getting into each of them.
Here are some of the major software choices for quadcopters broken down by applications.
Mini Quad and Racing Drones
- Baseflight (outdated)
- Cleanflight (Based on Baseflight)
- Betaflight (fork of Cleanflight, provides cutting-edge technology and excellent performance for acro flying)
- Raceflight (fork of Cleanflight, designed for F4 boards, also excellent for acro flying)
- dRonin (fork of Taulabs)
- KISS (Based on Multiwii, closed sourced and developed by Flyduino)
GPS and Autopilot Systems
Main features: Way-point, loiter, return to home, etc.
- iNav (fork of Cleanflight)
Other Open Source Projects
- LibrePilot (previously known as OpenPilot)
- Taulabs (fork of OpenPilot)
There are also flight controllers that don’t use computer software. They might have a built-in LCD that allows you to change FC settings on the go. Or It might not even allow you to change settings at all.
In 2015, most users in the mini quad community were using Cleanflight, there are approximately 186K users to date (according Google Chrome App Store). However more and more people are switching over to Betaflight (85K) and Raceflight (12K) for better performance and features.
For GPS autonomous flying, you should probably look at either Ardupilot or Naza depends on the kind of boards you use.
Firmware Choice Affect FC Buying Decision
Normally a FC can support multiple firmware, so once you have chosen a FC firmware then you can look at what FC are compatible.
So, How To Choose a Flight Controller?
What’s The Application?
Before we start, we should know what sort of flying you want to do:
- Racing and Free Style flying
- Aerial Photography and filming
- Autonomous missions
Then you can hopefully decide on what software you want to run, and look into the range of flight controllers that support that software.
What Features Are You Looking For?
Since I mostly spend my time flying mini quads (as well as most of the readers of this blog), I will focus on drone racing/freestyle in the rest of the article.
Factors you need to consider when picking a flight controller for a mini quads are:
- Processor – You have F1, F3, F4 to choose from currently
- Sensor: Gyro Model and Bus – Some Gyro are more vulnerable to noise (both electrical and mechanical noise), the less desirable MPU being MPU6500 and MPU9250. The type of Gyro BUS can have an effect on sampling rate and how fast you can run your looptime. The preferred BUS is SPI, which allows you to run Gyro refresh rate at 8KHz+, while I2C limits you at 4KHz.
- Flash Memory for Blackbox – Some have built-in dataflash memory, some have SD card loggers. If you don’t use blackbox then this is not relevant
- Connector Types – I personally would avoid plastic JST connectors as they are less durable although they allow you to connect/disconnect easily. I like solder pads, but sometimes with low quality boards, they tend to peel off quite easily when you overheat them just slightly. I prefer through holes which gives you the option of direct soldering or using header pins
- Integrated Voltage Regulator – with this hardware you can power the board directly from your LiPo battery. Most of the time it also measures your battery level (eliminates VBAT wiring)
- Integrated PDB – This is one step further from the above, where the whole power distribution board is integrated in the FC. Your ESC can be connected directly to the FC and no additional PDB or wire harness is required
- Other extra features you might like:
- Bootloader button
- Support for IR Transponder (for recording lap time in races)
- Integrated OSD
- Integrated VTX
- Baro/Mag (these are less important in racers)
Here are some popular Flight controllers. However this is quite old (I made it back in 2015). For a more up to date list for mini quad targeted FC, check out my mini quad parts list.
|FC Name||Price||RX Modes||Baro/Compass||GPS||MicroController|
|APM 2.6||$50||PWM, PPM||External||Yes||8-bit, 16MHz|
|BrainFPV||$130||PWM, PPM, S.Bus, DSM, HoTT||Internal/External||Yes||32-bit, 168MHz|
|CC3D||$14||PWM, PPM, S.Bus, DSM||No||Limited||32-bit, 72MHz|
|Crius AIO||$48||PWM, PPM||Internal/External||Yes||8-bit, 16MHz|
|Flip32||$24||PWM, PPM, S.Bus||No||Limited||32-bit, 72MHz|
|KK2.1.5||$22||PWM, PPM||No||No||8-bit, 16MHz|
|Multiwii SE 2.5||$15||PWM, PPM||Internal||Yes||8-bit, 16MHz|
|Naza M Lite||$170||PWM, PPM, S.Bus||External||Yes||unknown|
|Naza M V2||$300||PWM, PPM, S.Bus||External||Yes||unknown|
|Naze32 Acro||$25||PWM, PPM, S.Bus||No||Limited||32-bit, 72MHz|
|Naze32 Full||$53||PWM, PPM, S.Bus||Yes||Yes||32-bit, 72MHz|
|Quanton||$66||PWM, PPM, S.Bus, DSM, HoTT||Internal/External||Yes||32-bit, 168MHz|
|Revo||$130||PWM, PPM, S.Bus, DSM||Internal/External||Yes||32-bit, 168MHz|
|Sparky||$60||PPM, S.Bus, DSM||Internal||Yes||32-bit, 72MHz|
|Sparky 2||$35||PPM, SBUS, DSM||32-bit,|
|SPRacing F3||$65||PPM, SBUS, DSM||32-bit,|
|Tornado F3||$29||PPM, SBUS, DSM||32-bit,|
|DoDo F3||$50||PPM, SBUS, DSM||32-bit,|
My First Flight Controller – KK2
The KK2 was my very first flight controller. This used to be one of the most popular boards out there, and it was relatively cheap.
However, being an 8-bit FC, it doesn’t fly as good as the 32-bit counterparts. The main advantage of the KK2 is having the on-board LCD screen and buttons. You can setup and tune your quadcopter right on the flight controller without the need of a computer. This is very user friendly and useful for beginners.
But this FC is getting outdated now and I would recommend to skip it and get a modern 32-bit FC instead.
The Pioneer of 32-bit flight controller, one of the earliest if not the first. It supports LibrePilot (used to be OpenPilot), Cleanflight/Betaflight. It’s still widely used, due to the good choice of hardware (SPI Gyro Bus), users can still squeeze some pretty decent performance out of it although being F1.
The Naze32 is a tried and tested flight controller, used to be one of the most popular board for mini quad. I talked about the Naze32 before in more detail.
The companion software, BaseFlight GUI is pretty easy to use too. You can also choose to flash CleanFlight and Betaflight on it. Here is how you can flash cleanflight.
It’s been retired by a new version Rev6 which I had pretty bad experience with because of the MPU6500, making it oscillate a lot and very hard to tune.
Anyway I cannot recommend this FC anymore, as F1 has reached its limit in terms of performance in the newest firmware. I would recommend getting a F3/F4 FC.
There are many different Multiwii boards, for example the MultiwiiPro.
Multiwii is an open source project, started many years ago. It began by utilizing the Nintendo Wii Nunchuck hardware (Gyro and accelerometer) as its sensor because they were widely available back then, that’s where the name came from. Because it was the only few open source multicopter projects at the time, the code was ported and further developed into many other projects and platforms.
One good example is the MultiWii Pro (MWP) board, which is based upon the Arduino and uses the ATmega2560 processor. This board has gyro, acc, barometer, and magnetometer. It also supports many other optional sensors, such as the GPS and sonar sensor. MultiWii is capable of flying RC plane and multicopter. The software interface might not look as good as the APM one, but it still does a good job and cost you less to start with.
The Naza was made famous by the DJI quadcopters such as the Phantom series.
One of the very few FC that offers relatively reliable GPS features. It has also released the APM Mini at a cheaper price.
Crius AIO Pro
A good alternative to the expensive APM. It’s also capable of running multiwii software on it.
The Brain FPV has integrated OSD hardware which is handy. It’s designed specifically for drone racing.
For more information, check our my review of BrainFPV flight controller.
Seriously Pro Racing F3 (aka SPRacing)
The Seriously Pro F3 is designed by the creator of Cleanflight.
It has the same processor as the Sparky v1 (STM32F3). It is an awesome FC, and one could consider it the successor to the NAZE32 full boards.
F1 has pretty much reached the limit, simply too many features and not enough memory and process power to put them all in, not to mention too few UARTS… The list goes on. OpenPilot, for example, has stopped development for the CC3D (STM32F1 based).
There’s also the Sparky 2 out now. This has the even newer STM32F4 processor, same as the OpenPilot Revo, which retails for $57 making it quite a bargain if you can get your hands on one.
RMRC Seriously DoDo F3
OpenPilot Revo (Revolution)
PDB integrated FC, for more info.
Radiance F3 FC
If you would like to discuss anything related to flight controller, feel free to join this forum.