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.
FPV Drone Flight Controller Processors
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 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:
- GPS. A GPS antenna allows for a quadcopter to identify its rough position, height and ground speed. This provides the quadcopter with the ability to autonomously return to a set ‘home point’ if instructed to or if the transmitter disconnects from the quadcopter mid-flight. GPS data can also be displayed on an on-screen display (OSD). Whilst uncommon for racing and freestyle, this is a popular feature for long range quadcopters as the GPS can display the direction and distance to the home point on the OSD.
- Barometer. A barometer provides altitude data to the FC by measuring the air pressure. Whilst relatively without purpose for racing and freestyle quadcopters, it is also useful for long range pilots as it provides altitude readings with greater accuracy than a GPS. The barometer also allows a quadcopter to enable an altitude hold mode allowing it to maintain a constant height during flight.
- Current sensor. A current sensor is useful for all quadcopter applications as it allows the flight controller to calculate and display the instantaneous current draw and battery consumption on an OSD. This give pilots a precise indication of the ideal time to land and is a superior battery capacity measurement than battery voltage (which fluctuates under load).
As the FPV Drone Flight Controller have evolved, manufacturers have started to add additional features into flight controllers. The result of this is neater, lighter, and more simple quadcopter builds. Some of these additional features include:
- On screen display (OSD). Integration of an OSD allows telemetry data and the pilots name to be overlayed onto the FPV feed. An FC integrated OSD also allows PIDs, rates or even VTX channel changing (if using a smartaudio compatible VTX) to be controlled directly from the FPV feed using transmitter stick inputs. The OSD layout can also be simply modified using a configurator such as Betaflight. OSD’s can be seperate from a flight controller however the setup process is much more extensive.
- Video transmitter (VTX) integration. Certain all-in-one flight controllers have a video transmitter integrated. As most VTX’s do not have the ability to be controlled using smart audio, the only advantage to an integrated VTX is weight savings and reduced clutter in a build.
- Power distribution board (PDB) integration. The addition of a PDB into a flight controller allows the battery lead and ESC’s to all be wired directly onto an FC rather than wiring all power leads to a separate PDB and the signal wires to the FC. This is a recommended feature drastically simplifies quadcopter wiring.
- Battery eliminator circuit (BEC). Many flight controllers are now able to be powered directly from a battery using an inbuilt voltage regulator. The addition of regulators into an FC allows 3.3V, 5V and/or 12V power sources to be integrated into the board. The voltage regulation is known as a BEC as RC aircraft historically powered their electronics from a separate battery pack. A BEC is also recommended and allows voltage sensitive components including receivers, LED’s and cameras to all be powered from the flight controller.
- Black-box data logging. Black-box enables the flight data from the receiver, gyro, accelerometer, barometer or various other sensors to be logged onto the flight controller or an SD card (if an SD slot has been integrated onto the FC board). A black-box is useful when tuning a quadcopter as the frequency and magnitude of oscillations/vibrations can easily be observed.
- ESC integration. Certain all-in-one flight controllers have all four ESC’s integrated into the circuit board. This reduces quadcopter weight, build complexity, and improves the neatness of a quadcopter.
With this information, you should now be able to select a FPV Drone Flight Controller ideal for your application. As a final note, when wiring an FC, it is always recommended to have a printout or image of the wiring diagram on hand and to have watched a few videos on the FC setup to make sure that you will be correctly interfacing all external components to the FC.