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.
Index of Content
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.
Flight Controller Firmware
Apart from the difference in hardware, they might also use different firmware that are specialized in different applications.
Here is a list of popular FC firmware available for mini quad. If you are totally have no clue which one to choose, my recommendation would be Betaflight, Raceflight and KISS. These all have excellent flight performance and you cannot go wrong with any of them.
Modern FC firmware normally can be configured via software on a computer, smartphone, or even from your radio controller.
“Tuning” is the term we use in the multirotor hobby when we change PID, rates and other configuration settings. By tuning our quadcopters we can make them fly the way we want.
However the GUI and parameters are all different from firmware to firmware, so there is certain level of learning curve getting into each of them.
Once you have picked a flight controller firmware, you can then look at what controller boards are compatible.
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 contains both accelerometer and gyroscope, but since most FPV pilots only fly in Acro Mode, we often just 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.
We begin to see FC with the Gyro “soft mounted”, basically have the IMU sitting on a piece of foam, to reduce some of the noise coming from the motors.
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.
An OSD can overlay useful flight information on your FPV screen, such as battery voltage and timer. Anyone who has worked with MinimOSD knows what a pain it is to setup, if you like this feature, having OSD built into the FC is a must have.
More about Betaflight OSD.
It’s very common nowadays for FC to have PDB integrated, so you can connect your ESC and LiPo battery directly to the flight controller. You have just one board instead of 2 in the frame, saving space, wiring and soldering. The downside is soldering pads on the FC becomes smaller due to the limited space, which can be hard to work with.
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.
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.
It’s good to know that you can also get an external SD card reader (Open Logger) and connect it to your FC in 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 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
- AIO options – “All in one” flight controller has everything necessary built into one single board, such as FC, ESC, PDB, RX and so on. The downside is if something fails, it’s more likely that you’d have to replace the whole setup
- Infrared transponder support – allows you to use IR detectors with the FC directly to measure your lap time in some race events
Flight Controller Choices
For a more up to date list for mini quad targeted FC, check out my mini quad parts list: https://oscarliang.com/250-mini-quad-part-list-fpv/#fc
Here are my FC recommendations: https://oscarliang.com/top-5-best-fc-mini-quad/
- 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