The number of mini quad flight controllers on the market can be overwhelming for beginners. This guide explains the important factors in choosing the next flight controller for your quadcopter, FPV mini quad or racing drone.
If you are new make sure to check out our mini quad and racing drones guide for beginners.
|I compiled the specifications of all FC’s for mini quad in this spreadsheet so you can compare them more closely.|
Index of Content
- What is a flight controller
- AIO / Non-AIO
- Feature Integration
- Mounting Pattern
- Other Features
- Soft Mounting
- FC Choices
What is a Quadcopter Fight Controller
A flight controller (a.k.a FC) is the brain of the aircraft. It’s basically a circuit board with sensors that detects orientation changes of your drone. It also receives user commands, and controls the motors in order to keep the quadcopter in the air.
Nearly all flight controllers have basic sensors such as Gyro (Gyroscopes) and Acc (Accelerometer). Some FC might include more advanced sensors such as Barometer (barometric pressure sensors) and magnetometer (compass).
Flight controller is also a hub for many other peripherals, such as GPS, LED, Sonar sensor etc.
Racing drone flight controllers are rapidly evolving: smaller, using better processors and hardware and getting more and more features integrated.
Here is an example wiring diagram how components in a drone are connected to a flight controller.
Flight Controller Firmware
Apart from the different hardware, there are also different firmware you can choose from depends on the application.
Here is a list of popular FC firmware available for mini quad. If you have no clue which one to choose, my recommendation would be Betaflight.
Betaflight is open-source, developed and maintained by the community. It has the biggest user base, so you will be more likely to get help when you run into problems. It also has the widest range of flight controllers.
The other popular firmware for FPV drones are FlightOne and KISS. They are both closed source, and the hardware and firmware are controlled by private companies so you are limited to their own flight controllers.
Once you have picked a flight controller firmware, you can then look at what controller boards are compatible.
Interface and Configuration
Modern FC firmware can be configured via a computer, smartphone, or even from your radio controller. All FC firmware offers different graphic interface and different set of parameters you can change, so there is certain level of learning curve getting into each of them.
“Tuning” is the term we use in the multirotor hobby where we change PID, RC rates and other settings that affects the flight characteristics of the multirotor, in order to get them to fly the way we want.
Currently, you have 4 main types of CPU to choose from: F1, F3, F4 and F7. We recommend getting a F3 or F4 FC for now, as we have reached the limit of F1, and F7 FC are still new and needs time to be improved.
To learn more about the differences between F1, F3, F4 and F7 processors make sure to check out this article.
What is UART in Flight Controller?
UART stands for Universal Asynchronous Receiver/Transmitter.
UART is the hardware serial interface that allows you to connect external devices to the flight controller. For examples, serial radio receivers, Telemetry, Race Transponder, VTX control etc.
Each UART has two pins, TX for transmitting data and RX for receiving.
For example here are the UART3 and UART6 on a flight controller. You can assign these UART a task in the ports tab of Betaflight configurator.
The Number of UART’s on an FC
You might or might not need many UART’s, but the more you have, the more flexible it is and more future-proof.
The number of UART’s on an FC depends on design of the board, and the processor used. For example, F1 FC normally only has 2 UART’s, while F3 and F4 can have between 3 to 5 and F7 can even have 7 or more.
|2 UART’s||3-5 UART’s||3-6 UART’s||7+ UART’s|
UART and Inverted Signal
F3 and F7 can handle inverted signals natively, while F1 and F4 cannot.
Frsky SBUS and SmartPort signals are inverted at the output, the good news is F3 and F7 flight controllers can read these signals just fine. Because they are the newer generation processors, and they have built-in inverters in the chip.
However for older processors such as F1 and F4, require an external inverter to “translate” the signal before feeding it to the UART. For users’s convenience, some F4 flight controllers have dedicated inverters for SBUS and SmartPort so you can connect the RX directly to the FC. Otherwise, there are also workarounds for this, such as using soft serial, or getting uninverted signal from the RX.
If you are running out of UART ports, you can use Betaflight feature “soft-serial” to “create more UART”. It’s a way of emulating UART port using software. But the emulated UART has lower baud rate (update rate) that is not suitable for timing critical tasks such as the radio receiver. And it can also increase the load on your CPU.
Gyro Sensor – The IMU
The job of an IMU sensor is to measure the quadcopter’s movement and orientation. An IMU sensor contains both accelerometer (ACC) and gyroscope (Gyro).
Acro mode uses only the Gyro, while “self-leveled” mode uses both the ACC and Gyro. Since most FPV pilots only fly in Acro Mode, we often turn off the accelerometer. And therefore we normally refer to the IMU simply as the Gyro.
Popular gyro used on a flight controller can be found in the following list.
The Types of IMU
|IMU||Possible Communication Protocol (BUS)||Max. Effective Gyro Sampling Frequency|
* The MPU9150 is effectively the MPU6050 with integrated AK8975 magnetometer, while the MPU9250 is the MPU6500 with the same magnetometer.
You can find the IMU model number on the chip, for example this is the popular Invensense MPU-6000.
The Choice of Gyro: Sampling Rate vs. Noise
There are two main properties of IMU we need to consider in a flight controller: max sampling rate, and how susceptible to noise they are (both electrical and mechanical noise).
Currently the most widely used IMU is the MPU6000 as it supports up to 8KHz sampling rate, and is proven to be one of the most robust IMU against noise. The general consensus is to avoid MPU’s including MPU6500 and MPU9250 which are noisier despite the higher sampling speed.
Faster gyro is a double-edged sword. with clean signal and power, you can expect the ICM series perform better and smoother than MPU6000 in 32KHz. However with noisy ESC, motor and quad with oscillation, the performance of the ICM gyro will get much worse than the MPU6000.
For example, the ICM20602 on the Raceflight Revolt V2, or the ICM20689 on the Kakute F4, both can run at 32KHz. However it’s reported that these IMU are more susceptible to noise than the older MPU6000 therefore these FC’s generally require soft-mounting and filtering capacitors to reduce the amount of noise getting to the Gryo.
There is also performance difference between different ICM gyro’s. For example, the ICM20689 is one of the worst gyro for our flight controllers, noisy and with a high failure rate. If you had to pick a ICM gyro, go with 20602 instead.
Update (Oct 2019): Since Betaflight 4.1, 32KHz mode had been removed, so even when you are using an ICM gyro, you can only run up to 8KHz looptime. So Gyro choice is no longer related to looptime.
There are some FC with Gyro “soft mounted” on foam in order to reduce vibrations coming from the motors.
Gyro BUS – i2c and SPI
SPI and i2c are the types of “BUS”, or communication protocol between the IMU sensor and processor. It can have a significant impact on the effective sampling rate and therefore the maximum flight controller looptime.
The preferred BUS is SPI, which allows you to run Gyro at a much higher refresh rate than I2C which has a limit of 4KHz.
FC layout is where the pins / solder pads are located on the board, and how easy it is connect the components.
Most people only care about the chips and capability of a flight controller, but overlook the importance of the layout.
A good example would be the CLRacing F7 and the Kakute F7. Both are excellent flight controllers that I personally recommend, but purely based on the layout, the CLRacing F7 is clearly more superior, as all the pads are all located on the edges, and grouped by the functions. The pads on the Kakute are all crammed into the same area, which results in messy wiring.
It’s a personal thing, not everyone has the same taste in FC layout.
“AIO” FC (All In One)
There are two main types of FC, AIO and non-AIO.
AIO stands for All In One, it means the power distribution (PDB) is built into the FC so you can connect your LiPo and ESC power directly to simplify wiring. It is a misleading name in my opinion, because it doesn’t necessarily means it has everything.
Depends on the type of ESC you want to use, AIO FC should be used with separate ESC’s.
And Non-AIO FC should be coupled with 4in1 ESC.
Apart from PDB, there are other features that have been integrated into flight controllers over time to make them more powerful and convenient to use.
OSD is a feature that can overlay flight information to your FPV screen, such as battery voltage and flight time.
More about Betaflight OSD.
Having a current sensor has been proven invaluable: it’s a much better indicator than VBAT for when you should land and great tool for testing.
More about current sensor and calibration.
Having PDB integrated isn’t enough? There are now FC’s that have ESC’s integrated! This means you can solder the motors directly to the FC which further simplifies building.
The RacerStar Tattoo F4S FC was the first I reviewed that has such feature.
The mounting pattern is the hole distance in a flight controller. Common mounting patterns are 30.5×30.5mm, 20x20mm and 16x16mm. The mounting pattern is largely determined by the size of the board, and the size of the aircraft it’s designed for. 5″ and larger aircraft normally use 30.5×30.5mm while anything smaller use 20x20mm. 16x16mm are getting popular with micro builds under 100mm.
Other Flight Controller Features
Blackbox: Flash Memory or SD Logger?
Blackbox data is useful for tuning and troubleshooting.
There are two ways to record your blackbox data, if your flight control supports blackbox logging it normally come with either flash memory chip or a SD card reader for you to put your SD card in.
Flash memory is cheaper to use, but it’s also very limited in terms of how long you can record your flight, usually you can only record 10, 15 or maybe 20 minutes depends on your logging rate. It’s also extremely slow to download the data, it can take up to 5 mins to download an one-minute flight log.
Flight controllers with built-in SD card reader allows you to insert a SD card and you can keep recording for weeks without even worrying about running out of space. It’s also very fast to read the data, take the card out of the reader and you can access the logs immediately.
In my opinion it depends on how much you use Blackbox. If you are crazy about studying Blackbox data, you should definitely get a FC with built-in SD card reader. But for the averaged hobbyists perhaps this is not necessary.
You can also get an external SD card reader (Open Logger) and connect it to your FC with one of the UART’s (serial ports).
The three main types of connectors on a flight controller are
- Plastic JST connectors
- Solder pads
- Through holes
Plastic JST connectors are less durable although they allow you to connect/disconnect wires more easily. Solder pads are more robust, but you can run into risk of tearing them out when stressed or overheated when soldering. Through holes are flexible as it gives you the option of direct soldering or using header pins.
- Pro Tip: How to remove header pins on a FC.
- Pro Tip: With solder pads, did you know that it’s possible to fix them if they get peeled off?
BEC (Voltage Regulator)
The majority of FC’s provides regulated 5V. Some even provide 9V, 12V or some other voltages. These voltage regulators are often referred to as “BEC” (battery eliminator circuit).
Although with a lot of FPV gear (FPV camera and VTX) you can now power them directly from LiPo, I have found it produce better result to power them from a regulated power source.
Learn about how to wire FPV setup to reduce noise.
A feature that allows you to configure FPV camera settings using your radio transmitter. Learn more about camera control here.
A boot button (or bootloader button) can put FC into bootloader mode when pressed. This allows you to “force” flash firmware in case normal firmware flashing doesn’t work (why use bootloader button on FC).
Originally FC’s provide 2 solder pads for you to bridge when bootloader mode is required. With a boot button it makes it so much easier.
Other features you might find on flight controllers
- Integrated VTX – the main benefit of it is the overall weight saving and compactness, some even allows you to change VTX settings directly from your FC
- Barometer/Mag (compass) – these extra sensors are less important for racers and mini quad
- RX Support – make sure the FC support the type of radio receiver protocol you plan to use, such as PWM, PPM, SBUS, Spektrum Satellite and so on
- Infrared transponder support – allows you to use IR detectors with the FC directly to measure your lap time in some race events or practice
Soft mounting is a good practice to reduce vibrations coming from the motors transferred to the gyro. There are two main types of soft mounting when it comes to mounting flight controllers: rubber standoffs and grommets.
Learn more about FC soft mounting.
Flight Controller Choices
Here are my FC recommendations: https://oscarliang.com/top-5-best-fc-mini-quad/
For a complete list of flight controllers, here is a list I complied: https://docs.google.com/spreadsheets/d/1VuBpQVZflz5zVNUG43qKTq4Mkwt-cTssWvb1CGqskQk/edit?usp=sharing
- Dec 2014 – Article created
- Nov 2016 – Added choices of flight controller firmware, updated FC features
- Feb 2017 – Updated Processor and Gyro types
- Apr 2017 – Added “FC Evolution” infographics, Updated MPU types
- May 2018 – Updated info about FC integration
- Oct 2018 – Added info about mounting pattern
- Jan 2020 – Updated: FC Firmware, Gyro Info; Added: connection diagram/example, AIO FC explained, Feature integrations, layout, camera control