FC (Flight Controller) is the brain of the aircraft. It is a small circuit board of varying complexity.
It combines data from sensors that make the drone aware of its surroundings, also it receives user commands and controls the ESC & Motors that allows it to keep the drone in the air.
Like different OS, firmware configures the board with the program and settings required to manage and control the quadcopter.
Flashed with firmware specific to the chosen FC configurator software.
Popular firmware for FPV drones are
-
Betaflight is open-source, easy to get help when you run into problems. It also has the widest range of flight controllers.
-
FlightOne and KISS. Both are closed source, and controlled by private companies so you are limited to their own flight controllers.
Firmware
Based on the mounting hole, often designed as a “stack” for use with 4-in-1 ESC.
-
30.5 x 30.5mm
-
20 x 20mm
-
26.5 × 26.5mm (AIO)
AIO Options : The flight controller “All in one” It has everything you need integrated into a single board, come FC, ESC, PDB, RX etc.. The downside is that if something fails, it is more likely that you should replace the entire configuration
Size
Wiring Diagram
How components are connected to FC
Layout
Where the pins / solder pads are located on the board, and how easy it is to connect the components.
If all crammed into the same area, which often results in messy wiring.
Sensor
Some basic sensors such as
-
Gyro (Gyroscopes): measure the rate of rotation, allowing a drone to remain stable when hovering or when in flight.
-
Acc (Accelerometer): These sensors measure the rate of rotation and determine the drone’s orientation by determining the tilt and angular velocity.
-
Magnetometers (Compass): These sensors help a drone orient itself in relation to the magnetic north.
* Flight modes in Betaflight
Acro mode uses only the Gyro
Angle mode uses both the ACC and Gyro.
Gyro Types
An IMU contains both the accelerometer / gyroscope, but since most of the FPV pilots fly only in Acro mode, often we turn off the accelerometer. And therefore normally we refer IMU there simply as a Gyro.
Sampling Rate (Gyro) - how frequently the processor reads gyro sensor information.
Looptime - how frequently the PID loop processes the sampled data from the gyro to execute corrections.
-
1khz = 1 milliseconds (ms) = 1,000 times per second
-
4khz = 0.250 milliseconds (ms) = 4,000 times per second
-
8khz = 0.125 milliseconds (ms) = 8,000 times per second
Two main gyro manufacturers for IMU
-
InvenSense (bought by TDK)
-
Bosch
For example, 4K/2K means the processor is sampling gyro data at a rate of 4,000 data points per second. The second number indicates that the PID loop runs 2,000 complete control loops per second. It’s important to note that it’s a waste if the PID looptime is faster than the gyro sample rate.
Sampling Rate
8kHz
4kHz
32kHz
4kHz
32kHz
32kHz
32kHz
32kHz
6.4kHz
MPU6000
MPU6050
MPU6500
MPU9150
MPU9250
ICM20602
ICM20608
ICM20689
BMI270
Manufacturer
TDK
TDK
TDK
TDK
TDK
TDK
TDK
TDK
Bosch
BUS
I2C, SPI
I2C
I2C, SPI
I2C
I2C, SPI
I2C, SPI
I2C, SPI
I2C, SPI
I2C, SPI
From Betaflight 4.0, it will no longer support 32KHz.
32k is very sensitive to electrical noise, in order to reduce noise we’d have to use additional filtering, which introduce latency back. So the devs think 32KHz is not worth.
* Gyro BUS
SPI and i2c are the types of “BUS”, or communication protocol between the IMU sensor and processor.
MPU6000 / MPU6050 are the same hardware. They both have 3 axis gyro, acc and allows max 8kHz. MPU6000 allows for both I2C and SPI, while MPU6050 has only I2C is too slow to handle 8kHz.
MPU6500, 32kHz and has much wider gyro signal bandwidth. Is also smaller and consumes less energy.
MPU9150 is a MPU6050 with integrated AK8975 magnetometer
MPU9250 is a MPU6500 with integrated AK8963 magnetometer
ICM20602, 32kHz, 1KB of FIFO memory, SPI up to 10Mhz. It has a digital programmable filter and temperature sensor.
ICM20608, 32kHz, 512 bytes of FIFO memory, SPI up to 8Mhz. It has a digital programmable filter and temperature sensor.
ICM20689, 32kHz, 4KB of FIFO memory, SPI up to 8Mhz. It has a digital programmable filter and temperature sensor.
BMI270, due to silicon shortage raise to high price, replacement of MPU6000.
BMI270 Gyro shows excellent performance in most cases in the sub 100hz frequencies. But it's more sensitive especially above 350hz and will require more software filters.
Max sampling frequency is 6.4KHz, but Betaflight forces it to go into OSR4 mode (internal low pass filter with cutoff frequency of 300Hz) which results in only 3.2KHz.
And the filtering, MPU6000 has an internal 250hz Lowpass, the BMI270 around 800hz.
Betaflight 4.3 Configurator Presets especially offer a BMI270 filter setup to address the higher hardware Lowpass filter.
Betaflight 4.2.x, you should set a BIQUAD Lowpass2 filter at 250hz or above to get similar results than with a MPU6000.
Vibration Damping
Soft rubber designed to isolate vibration generated by motor and propellers.
Boot button can put FC into bootloader mode when pressed.
Processor
F3, F4, F7, H7 are types of STM32 Processors, which are Microcontroller Unit (MCU). It does all the calculations on your FC to run the drone’s firmware.
H7 is the first series of STM32 microcontrollers in 40 nm process technology which is able to run up to 480 MHz.
F3
F4
F7
H7
Launched
2012
2011
2014
2017
Speed
72 MHz
168 MHz
216 MHz
480 MHz
Flash Memory
256kB
1MB
1MB
128kB
F3
F4
F7
UART
UART (Universal Asynchronous Receiver/Transmitter) is essentially a port, or an extension to your FC which allows for external devices such as Receiver or VTX to extend it’s features.
Each UART has two pins, TX for transmitting data and RX for receiving. Remember the TX on your peripheral connects to the RX on the FC, and vice versa. You might not need many UART’s, but having more is always handy.
Carmera Control
A feature that allows you to configure FPV camera settings using your radio transmitter and Betaflight OSD.
Pit Switch
Similar to Pit Mode, some FC has a feature "Pitch Switch" that is switching voltage ON or OFF, allow you to totally depower a VTX from your radio. This is used in team racing as well as in hot climates to keep the VTX cool why sitting on the start blocks, or stuck in a tree!
BEC
BEC (Voltage Regulator), provide a regulated 5V, 9V, 12V pad or some other voltages.