A FPV Drone Flight Controller, or FC, is the heart of a quadcopter and controls
most onboard electrical components with the assistance on an arduino-like microprocessor
and an array of sensors.
This article will provide information regarding the different types of FC’s and the range
of possible feature integrations so that you can choose the most suitable flight controller
for your application.
Flight controllers are continuously evolving with their processors becoming faster
to keep up with evolving flight controller softwares. Flight controllers are usually
titled to include the main microprocessor’s
(usually an STM electronics, 32-bit microprocessor) model as this gives the pilot a basic
idea of the flight controllers capabilities. The most common microprocessor models
used are the STM32 F1, F3, F4 and F7 chips. Essentially, the higher the number after
the ‘F’, the faster the microprocessor will be and the more functionality it will have.
For any pilot purchasing a flight controller, it is currently recommended to purchase one
with an F4 or F7 processor as they are easily fast enough to run the latest FC firmwares.
Unfortunately, the F1 is becoming too slow to run the latest FC firmwares and is not
recommended to purchase as it will soon become unsupported.
F3 boards can currently run the latest flight controller firmwares although the microprocessor
is consequently slower than an F4 to F7 at reading and responding to sensor inputs.
This reading and response time is respectively known as the gyro update frequency
and the PID loop frequency.
To program a FPV Drone Flight Controller, it is connected via micro USB to the computer
and flashed with firmware specific to the chosen FC configurator software.
The firmware configures the board with the program and settings required to manage and
control the quadcopter. The USB interface allows connection between the FC and its
configurator enabling the user to modify and change the the boards settings including the rates,
PID’s, receiver configuration, failsafe setup and flight modes. For all FC’s, it is recommended
to flash the latest firmware available as it will usually have improved flight characteristics and
a reduced quantity of software issues. An FC can be flashed with firmware for use with the
configurators: Betaflight, Cleanflight and occasionally, Raceflight or KISS (if compatible).
All configurators have specific benefits to them and an individual’s preferred configuration
is subjective. As a general recommendation, use Raceflight or KISS with your flight controller
if it is listed as compatible. Otherwise, use Betaflight which is the most common configurator
as its open source nature provides compatibility with most FC’s.
An FPV Drone Flight Controller is mounted to a drone frame using four equally spaced
mounting holes. Currently, 30.5mm by 30.5mm spacing between hole diameters is the
standard on a 220 sized quadcopter. 20mm by 20mm spacing is also quite common on
70-130 sized quadcopters. The mounting holes are usually 3mm in diameter.
Smaller mounting patterns also exist although they are used almost exclusively for sub 70mm
quadcopters. Many flight controllers actually use mounting holes larger than 3mm diameter
to allow insertion of rubber grommets which assists in isolating the FC from motor vibration.
In regards to connecting external components to the FPV Drone Flight Controller, they can be
purchased with solder pads, pin header holes, plugs, or a combination of the three.
Solder pads are the most useful, compact and preferred connection as it allows neat, low profile,
external componentry connections to be made. Pin header holes are also common on FC’s
although, to reduce weight and connection profiles, pilots will usually solder wires directly
to the holes rather than soldering on header pins and connecting wires using a servo plug.
Plugs are not the most prevalent FC connection method although they allow external
components to be quickly disconnected. Due to motor vibrations, thin soldered wires can
eventually fray and snap off from solder pads or pin holes. To prevent this, hot gluing solder
joints is a safe option to prevent loss of circuitry during flight. Solder pad FC’s are
recommended for most applications however the use of connectors can
also be useful for small, tight or modular setups.
A gyro is a microchip, secondary to the main processor, which senses the angular velocity
or the speed at which a quadcopter rotates in the roll, pitch and yaw axis.
Using calculus mathematics and gyro inputs, the FPV Drone Flight Controller can
estimate the distance a quadcopter has rotated and whether its rotation is accelerating
or decelerating.
This is the only sensor required for the quadcopter to fly in acro mode
(the quadcopter stays in the same position when sticks are centered) although
certain FC softwares will also use the accelerometer in acro mode to stabilize
a quadcopter in a crash, enabling quick recovery.
An accelerometer is another seperate sensor chip and can detect the acceleration of a
quadcopter in the roll, pitch or yaw axis. Because the accelerometer can also detect the
constant acceleration of gravity, the FPV Drone Flight Controller is able to use this information
to calculate the quadcopter’s precise angle from the horizon.
This is used for flying a quadcopter in horizon/self leveling mode which is the
flight mode most beginners start with.
The backbone of a FPV Drone Flight Controller is the PID control loop in the
software used to maintain quadcopter stability during flight. PID stands for ‘proportional,
integral and derivative’ which are calculus terms related to the magnitude, area,
and gradient of a curve respectively. Tuning these three P, I, and D gains properly drastically
increases the stability and responsiveness of a craft. When flying a quadcopter, a quick roll input,
as an example, could be telling telling the craft to move from a flat hover to a setpoint angle
of e.g. 45 degrees to the right. Ideally in this scenario, the quadcopter would instantaneously
roll 45 degrees to match the stick input however this is not the case.
What actually happens is the quadcopter rolls right past 45 degrees, rolls left back past
45 degrees, rolls right back past 45 degrees, and continues to follow this pattern, overshooting
the 45 degrees mark less and less each time until the mark is reached.
A PID loop analysing the gyro and/or the accelerometer data controls this process such
that a well tuned loop will appear as if the quad instantaneously rolls 45 degrees to the right
when commanded by a stick input. PID tuning is quite complex so it is recommended to
leave PIDs at their default if you are unfamiliar with them and the tuning process.
In short, PID’s can be summarised as follows.
The P gain controls the responsiveness or ‘kick’ to stick inputs. A high P gain will
result in the quadcopter quickly oscillating back and forth past the angle setpoint
when a quick stick movement is initiated. A low P gain will result in the quadcopter
sluggishly moving towards the angle setpoint when a stick input is initiated.
The I gain controls the quadcopters positioning over a moderate time interval.
If for example the quadcopter is in a hover at an angle of 0 and is blown to an
angle of 5 degrees by a gust of wind, the I gain notices the differences between the
setpoint angle of 0 and the actual angle of 5 and will slowly move the quadcopter back
to an angle of 0. A low I gain will result in increased quadcopter ‘drift’ and a high I
gain will result in reduced drift although it has the side effect of increasing
the ‘stiffness’ of the quadcopter, reducing its willingness to rotate.
The D gain essentially dampens the kick of the P gain, reducing the oscillations
back and forth past the angle setpoint. A low D gain will result in these quick back
and forth oscillations becoming highly visible. A high D gain will mask these oscillations
making the quadcopter appear as if it instantaneously rotates to its angle setpoint and stops.
An excessive D gain will result in the quadcopter feeling quite sluggish.
To learn more about PIDs and PID tuning, it is highly recommended to make yourself
a cup of tea and watch this impressive explanation by Joshua Bardwell:
FC’s can also have a variety of other sensors apart from the gyro and accelerometer to
enable more telemetry data and flight capabilities.
Some common additional sensors include: