Flight Controller Explained: Understanding FPV Drone Control Systems

by Oscar

A flight controller is one of the most important components in a FPV drone. It’s responsible for stabilizing the aircraft, ensuring precise flight manoeuvres, and providing data to the pilot. In this article, we’ll explain in detail what a flight controller is, how it works, and why it’s such a critical part of any drone. Whether you’re a beginner or a seasoned pilot, understanding the basics of flight controllers is crucial for getting the most out of your flying experience.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

If you are new to the hobby, check out our FPV drones beginners guide to learn more.

Looking for which flight controller to buy? Here are my FC recommendations: https://oscarliang.com/top-5-best-fc-mini-quad/

Flight Controller: What it is and How it Works

flight controller sizes, MCU and features

A flight controller, or “FC”, is like the brain of an FPV drone. It’s a circuit board equipped with sensors that detect the drone’s movements and user commands. With this information, the FC adjusts the speed of the motors to move the drone in the desired direction.

All flight controllers have basic sensors like gyroscopes (gyro) and accelerometers (acc), while others may include other sensors such as barometric pressure sensors (barometer) and compasses (magnetometer).

The FC can also serve as a hub for other drone peripherals like ESC, GPS, LED, servos, radio receiver FPV camera and VTX.

As technology advances, flight controllers are getting smaller, more feature-packed, and using better processors and hardware.

FC Connection

Here is an example wiring diagram how components in a FPV drone are connected to the flight controller.

How To Build Fpv Drone 2023 Wiring Diagram Analog

Flight Controller Firmware

Flight Controller Firmware

When it comes to flight controllers, you have a choice not only in hardware but also in firmware. Different firmware options offer different features and specializations for various applications. For example, iNav is designed with GPS utilization in mind, while Betaflight is more focused on flight performance.

Here are a list of popular FC firmware options for FPV drones:

  • Betaflight: This open-source firmware has the biggest user base, making it easy to get help when you run into problems. It also has the widest range of flight controllers available.
  • KISS: It’s a closed-source firmware, with the hardware and firmware controlled by a private company. This means you are limited to using their own flight controllers.
  • iNav: If you are more interested in automated flying and GPS waypoint mission, iNav is the way to go.

If you are new to FPV, I’d recommend Betaflight as it’s one of the most versatile and popular firmware. I have a tutorial explaining how to setup Betaflight from scratch for your first flight.

Once you’ve chosen your firmware, you can then look for a compatible flight controller board.

Configuration and Tuning

Betaflight Configurator 10.9.0 Receiver Serial Crsf Telemetry

Flight controller firmware can be configured using a computer, smartphone, or radio controller. Each firmware has its own user interface (UI) and parameters that can be changed. However, even similar-looking UIs can produce different flight characteristics depending on the firmware, so it takes time to learn and adjust to a new one.

Tuning” is the term we use in the hobby to describe the process of adjusting settings like PID, RC rates, and others to achieve desired flight characteristics. This is an important step in optimizing your FPV drone’s performance and getting the most out of your flight controller. I have a tutorial on how to tune your FPV drone in a few simple steps.


FC Processors: from left to right: STM32 F1, F3, F4

FC Processors: from left to right: STM32 F1, F3, F4

A flight controller uses microcontroller units (MCUs) to store firmware codes and perform complex calculations.

There are a few types of MCUs used for FCs, including F1, F3, F4, F7, and H7. The main differences between them are the calculation speed and memory size.

Update: F1 and F3 are no longer used in Betaflight FC due to the lack of memory.

  F1 F3 F4 F7 H7
Speed 72MHz 72MHz 168MHz 216MHz 480MHz
Memory 128KB 256KB 512KB-1MB 512KB-1MB 2MB

This article provides a more detailed explanation of the differences between all the MCU for a better understanding of FC processors..

F4, F7 and H7 are the all great processors while F1 and F3 are no longer supported in the latest versions of Betaflight due to insufficient storage for the expanding firmware.

What is UART in Flight Controller?

UART, or Universal Asynchronous Receiver/Transmitter, is a hardware serial interface that allows external devices to be connected to the flight controller. Examples include serial radio receivers, telemetry, race transponders, and VTX control.

Each UART has two pins, one for transmitting data (TX) and one for receiving data (RX). It’s important to remember that the TX on the peripheral device connects to the RX on the FC, and vice versa.

In the below example, UART3 (R3 and T3 pins) and UART6 (R6 and T6 pins) on a flight controller can be assigned to different tasks in the ports tab of Betaflight configurator.

Understanding UART and its pins is crucial in setting up your FPV drone for various applications.

Flight controllers might have different number of UART’s, make sure you check if they have enough for your build before purchasing.

If you need more UART ports, Betaflight has a feature called SoftSerial that allows you to create up to two additional UART ports through software. Keep in mind that SoftSerial increase the CPU load, it’s not suitable for slower processors, and you might have to lower PID Loop Frequency. Also softserial has a much lower update rate, which means it’s not suitable for time critical applications such as receiver signal and GPS.

UART Inversion

You only need to worry about UART inversion if you use Frsky receivers, because their output signals are inverted.

F3, F7 and H7 can handle inverted signals without any extra hardware, however, F1 and F4 require an external inverter to properly read the signal. To work around this, some F4 flight controllers have dedicated pads for SBUS connections (labelled SBUS). Alternatively, you can get the uninverted signal from the RX.


The job of an IMU sensor is to measure the quadcopter’s movement and orientation. An IMU sensor contains both an accelerometer (ACC) and a gyroscope (Gyro).

The Flight Controller (FC) on a drone uses a range of sensors to detect movement and orientation. The main sensor used for this purpose is called an Inertial Measurement Unit (IMU). An IMU contains both an accelerometer and a gyroscope.

The gyro is used to measure angular velocity while the accelerometer measures linear acceleration. The most popular flight mode in Betaflight, Acro Mode, only uses the Gyro, while many other flight modes such as Angle Mode, Horizon Mode and Rescue mode all requires both the Gyro and Accelerometer to work.

IMU types overview

The most popular types of gyro for FPV drone FCs are made by two manufacturers: InvenSense (now part of TDK) and Bosch Sensortec. Here’s a list of common gyro models, along with the communication protocols they support and their maximum effective sampling frequency:

IMU Possible Communication Protocol (BUS) Max. Effective Gyro Sampling Frequency
MPU6000 SPI, i2c 8KHz
MPU6050 i2c 4KHz
MPU6500 SPI, i2c 32KHz
MPU9150* i2c 4KHz
MPU9250* SPI, i2c 32KHz
ICM20602 SPI, i2c 32KHz
ICM20608 SPI, i2c 32KHz
ICM20689 SPI, i2c 32KHz
ICM42688P SPI, i2c 32KHz
BMI270 SPI, i2c 6.4KHz

* MPU9150 is effectively MPU6050 with an integrated AK8975 magnetometer, while MPU9250 is MPU6500 with the same magnetometer

To find out which gyro your FC has you can find the IMU model number printed on the chip, for example this is the popular Invensense MPU-6000.

MPU6000 - IMU Gyro Sensor

Gyro and Accelerometer on a flight controller

Or you can enter the “status” command in the Betaflight Configurator CLI and look for the name of the IMU under Gyro/ACC. Some FC may have more than one Gyro onboard, and you can choose which one to use in the CLI with the command “set gyro_to_use=0 or 1”.

How To Check Which Gyro On Flight Controller Betaflight Cli Status

How to choose Gyro

The choice of gyro depends on its max sampling rate and susceptibility to electrical and mechanical noise.

Before 2022, the most widely used gyro was MPU6000 because of its robustness against noise.

The general consensus is to avoid MPU6500 and MPU9250 despite their higher sampling speed.

The ICM20689 is also a decent gyro in terms of performance but allegedly has a higher failure rate. The ICM20602 is another popular choice, however it’s more susceptible to noise and harder to tune. Since Betaflight 4.1 (Oct 2019), 32KHz gyro sampling rate has been removed from Betaflight, so there is no advantage using gyro with 32KHz sampling rate.

BMI270 Gyro

In 2022, FC manufacturers shifted from MPU6000 towards BMI270 due to cost and availability. While its max sampling frequency is only 6.4KHz, Betaflight forces it to go into OSR4 mode (with a cutoff frequency of 300Hz), resulting in an even lower sampling rate of 3.2KHz. That might sound suboptimal, but as I have tested it myself personally, the actual performance of BMI270 is comparable to MPU6000 (in Betaflight 4.3/4.4). The main downside is probably the extra filtering that is sometimes required as the cut-off frequency is higher in the built-in low pass filter with the BMI270 gyro.

ICM42688P Gyro

In 2023, more and more manufacturers are again shifting from BMI270 to ICM42688P due to availability and cost. The ICM-42688P Gyro has been the subject of debate due to perceived noise and tuning issues. However, investigations reveal that the gyro itself is not the problem; rather, it’s the design of the flight controllers it’s integrated into. Specifically, the gyro requires a clean power supply for optimal performance, which was overlooked by some early FC designs in 2022 and early 2023, leading to poor performance. For users considering purchasing a flight controller featuring this gyro, thorough research into product reviews focusing on noise performance is crucial.

Gyro BUS

There are two types of communication between the gyro and processor: SPI and i2c.

SPI is the preferred communication protocol between the IMU and processor because it allows for a much higher gyro refresh rate than I2C (which has a limit of 4KHz). Almost all modern FCs today use SPI connection for the gyro.

We want to avoid MPU6050 and 9150 because they only support i2c and not SPI.


FC layout refers to the arrangement of pins and solder pads on a flight controller board, which can greatly affect how easy it is to connect various components.

Many people only care about the capability of a flight controller, and can overlook the importance of the layout.

Despite its importance, many people tend to focus solely on the capabilities of the flight controller, overlooking the layout. For instance, the CLRacing F7 and Kakute F7 are both excellent flight controllers, but in my opinion, the CLRacing F7 has a superior layout with all the pads grouped by function and located all the edges.

Personal preferences may differ, but the layout is an essential consideration in selecting a flight controller.

CL Racing F7 FC

Kakute F7 FC

ESC Compatibility

4in1 ESC’s are often sold together with flight controllers nowadays as a stack, and they are designed to be plug and play.

However, for ESC and FC from different brands, the plugs and connections between these boards might be incompatible, so it’s important to double check before connecting or you could fry your FC.

If you wish to use single ESC (individual ESC mounted on the arms), I recommend using “AIO (all in one) FC”. These are FC with integrated PDB (power distribution board). But this is outdated, the latest trend is using 4in1 ESC. As a matter of act, it’s getting increasingly hard to find single ESC nowadays.

Mounting Pattern

The mounting pattern refers to the distance between the adjacent mounting holes on a flight controller. Common patterns include 30.5×30.5mm, 25.5×25.5mm, 20×20mm, and 16×16mm. The pattern is mostly determined by the size of the board and the aircraft it’s intended for. For drones larger than 5″, 30.5×30.5mm is often used, while smaller drones generally use25.5×25.5mm and 20×20mm. The 16×16mm pattern is becoming popular for micro builds under 100mm.

Other Features

Flight controllers come with a range of features that can enhance your flying experience. Let’s take a look at some of them.


Blackbox is useful for tuning and troubleshooting. You can record your flight data in two ways – using integrated flash memory or storing it on an SD card if there’s an onboard SD card logger.

I have a tutorial explaining how to use Blackbox.

Flash memory is cheaper but has limited storage capacity, typically 5 to 10 minutes of flight data. Downloading data from it can also be slow. Using an SD card reader on your flight controller, you can keep recording all year long without emptying the storage, and it gives you access to the logs instantly by inserting the SD card in a card reader.

Blackbox logs is a must-have for experienced pilots. It gives you the ability to squeeze every bit of performance out of the drone and diagnose issues in detail. If your flight controller doesn’t have an SD card slot or flash memory, you can also connect an external SD card reader to the FC via UART.

Connector Types

The three main types of connectors on a flight controller are

  • Plastic JST connectors
  • Solder pads
  • Through holes

Plastic connectors are less durable but convenient to use, while solder pads are more robust but requires soldering. Through holes give you the option of direct soldering or using header pins.



BEC (battery eliminator circuit) is just what we call voltage regulators on a flight controller.

Almost all flight controllers have a 5V BEC for powering radio receiver, GPS etc, while some also offer 9V or 12V BEC dedicated for powering the video transmitter. Although you can power FPV gear directly from the LiPo battery, powering them from a regulated power source can produce better results.

Learn about how to wire analogue FPV setup for best result.

It’s important to choose the right voltage source based on the device you’re powering. Some devices can be powered directly from the LiPo battery e.g. the video transmitter. However the power source from LiPo tends to be noisy, voltage spikes can even damage your devices if there isn’t enough filtering. A BEC acts as a power filter and is usually a better power source, but you need to check if it meets the voltage and current requirements of your device.


Having a barometer built into your flight controller can make GPS-assisted flight more accurate (such as GPS Rescue Mode), but it’s not mandatory.

OSD Chip

For analog FPV system, make sure your flight controller has an OSD chip (AT7456E) available, or Betaflight OSD won’t work. However, it’s not necessary for digital FPV systems such as DJI, HDZero and Avatar, all they need for OSD to work is just a spare UART .

Soft Mounting

Soft mounting the flight controller is crucial for optimal performance, it reduces the noise/vibration from the frame getting to the gyro.

Almost all FC these days have M4 holes, which allow you to insert rubber gummies (grommets) so you can use M3 hardware to secure the board in a frame.

Speedybee F405 Mini Stack Flight Controller Esc Grommets Gummies

There are FC with the Gyro “soft mounted” on a piece of foam for reducing vibrations getting to the gyro. This is not a very popular approach, as it’s been proven unnecessary as long as the flight controller itself is adequately soft-mounted. Here are some tips on soft-mounting and filtering capacitors to reduce noise.

Soft mounted Gyro – Kakute F4

A Little History

The history of FPV drone flight controller can be traced back to 2009, when a maker used the Wii Motion Plus Accessory with an Arduino board to control a drone. This led to the development of the Multiwii project, which eventually created its own flight controller board that worked on an 8-bit Atmel processor.

In 2013, another developer named “timecop” created a flight controller board with an ARM 32-bit processor, Naze32,  and ported the Multiwii source code to it, called “Baseflight.” This board established the 35x35mm form factor (with 30x30mm mounting) and is still relevant till this day.

In 2014, “Hydra” modified Baseflight and created Cleanflight, leading to an explosion in the 32-bit flight controller market, with manufacturers developing their own FC variants.

Betaflight was created in 2015 by “BorisB”, using Cleanflight’s source code and making significant modifications to it. When Betaflight was first released, it was mainly focused on improving the performance of Cleanflight, while also adding new features and capabilities. Over time, Betaflight has diverged significantly from Cleanflight, and is now considered a separate and distinct firmware. Betaflight is currently the most popular flight controller firmware for FPV drones, and is still being frequent updated.

Edit History

  • 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
  • Feb 2020 – URL Changed; Updated: FC Firmware, Gyro Info; Added: connection diagram/example, AIO FC & Feature integrations explained, layout, camera control
  • Aug 2022 – Added info about BMI270 gyro
  • Feb 2023 – Tutorial revised
  • Sep 2023 – Added info about ICM42688P Gyro

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.


Justin 8th October 2023 - 10:13 am

Hello ,I’m new on this and verry interessted to make my own drones,but I have one Question if possible to have an answer.What means :bn880 gps module is suitable for Open source flight controller, not for flight control with SCM. I don’t really understand what is : SCM and his fonction or description.Thanks you in advance.Justin

Oscar 8th October 2023 - 3:03 pm

I guess it means signal coupler module – a hardware component that facilitates the transfer of signals between different parts of the system. But it’s really not common in FPV drone flight controllers. If you are choosing an FC for FPV drone you shouldn’t need to worry about it.

John 17th June 2023 - 11:19 pm

Hi, my name is John. I have a question about tuning and hover abilities. I have a 30 amp aio racestar like new with nothing attached and I also have a revoltfc that I am flying hooked up to a spectrum receiver and a random pdb… Is it possible to get hover abilities without a GPS? If so what settings do I tune? I want to be able to let off of the controls and it maintains it’s place.. I know without gps it might drift a little but currently if I let off of the controls it will maintain last command so if I am tilted forward and let off, it keeps going forward like I never let off the controls ..

Vamsi 8th June 2023 - 8:12 am

Nice information about drones

Jay Wang 14th April 2023 - 11:44 am

Very clear

PER BACKMAN 2nd September 2022 - 7:26 pm

What is the best controller for a Y drone, 3 motors and 1 servo

Craig 30th March 2022 - 10:16 pm

Oscar. You are a wonderful person and I hope your life is filled with happiness :-)
An FPV Newbie

Jorge 13th January 2022 - 7:59 am

If I understand this, does it mean that you need at least 6 UARTs for a hexacopter, and at least 8 for an octocopter? Based on your description even the F7 boards only have 7 UARTs. What options are there for 8+ UART boards?
Also, sometimes I see UARTs with only 2 pin slots and sometimes 3 pin slots (like your diagram above). What is the role of the 3rd pin and what happens if you have an FC that only has 2 pins per UART? Thank you.

Oscar 13th January 2022 - 1:00 pm

no, motor outputs and UART are two different things. For a hexacopter you need 6 motor outputs, and 8 for an octocopter. These have nothing to do with UART.

Ryan 14th October 2021 - 1:58 am

I’ve got a novice lll witch has a built in receiver and I’d like to change the controller. Can i add a different receiver to the board an where do you solder it in ?

Hamid 28th May 2021 - 2:11 pm

I wanna to replace my Cheerson CX-20 FC with a new and open source one with minimum changes to the drone (it has an APM 2.5 FC, gps mudule and seperated magnameter, and has ArduCopter software on it).
Also I want to keep the Radio.
What’s your recommendation?

Jack 12th August 2020 - 5:30 pm

Regarding the spreadsheet and looking at my Omnibus F4 v6 FC, it states it has “built-in PDB” and “built-in ESC”. Not true! I am unclear as to the spreadsheet definition, but I am using my definition of “built-in PDB” to mean you can power the ESCs with it.

jim 14th May 2020 - 8:19 pm

Newbie question.. Let’s say I buy a fairly high end radio. I know Crossfire needs a separate EXPENSIVE module attached to the radio itself. What protocols can I fly with this radio without some sort of attachment? There is whole alphabet out there: rxsr- xm- xm+- pdq- rsvp- bbq. Hope I am asking the right question. Thank you.

Oscar 3rd June 2020 - 12:35 am

Depends on the radio, some radio comes with multi-protocol module that allows you to use many different protocols.
Check out the new TX16S i just reviewed.

Rey David Aponte 13th May 2020 - 2:52 am

hello good night i have a question with my flight controller,i buy a furious fpv flight controller dshot600 version and i want to installer in a racestar 4in1 esc and i dont have the map to combined the cables

tchthsky 20th March 2020 - 11:00 am

And thanks for the vast amounts of info u put out there. yours was one of the first sites i explored, in the very beginning and greatly helped me with this amazing journey.

tchthsky 20th March 2020 - 10:55 am

if it hasnt been mentioned, openlager is a better choice to openlog for external blackbox recording. Openlog is too slow for modern loop times. i’ve started using it and its great for that awesome FC that has everything but integrated blackbox.

For those who r interested, theres a github site. wiring is simple; 5 v, g, rx from openlager to free tx on FC. Set the ports peripheral to Blackbox logging under Ports tab (betaflight) for the port u wired to on the FC, and change baud to 2000000. On first run, openlager will create a config file on the sd card: edit it and change baud to 2000000. dont forget to set blackbox device to serial, under Blackbox tab, and set your debug mode if needed (gyro scaled for noise analysis).

Walter Szempruch 20th February 2019 - 7:57 pm

If I send you a board picture of a Flight Controller, would you be able to recognize the manufacturer?

Ultimately I’d like to be able to connect to the controller safely and read it’s settings, but I don’t know the software to use.

I thought I could contact the OEM and see if they would recommend how to “safely” change controller values myself.

Julian 18th September 2018 - 3:22 pm

Thanks so much Oscar!!!!
This article really helped me understand a lot about how to build my own drone.

Greetings from Argentina.

Ioannis Moutsatsos 25th August 2018 - 2:57 pm

This is a really fine article! Thank your for your in depth research and attention to detail!
I found this article while searching for references to an idea that I have. I would like to take a ‘stock drone’ with some descent specs like brushless motors, good batteries, long range Tx, and refined frame (I have an Altair Aerial Blackhawk for example) and upgrade to a programmable FC that I can add sensors, FPV, OSD and GPS.

What FC would you recommend for this? Would I be able to bind it to a stock Tx that comes with these drones? Even if I needed to add a dedicated FlySky or similar Tx/Rx would it be possible? Thanks for any feedback.

Juan 23rd May 2018 - 10:22 am


I would like to have a DJI Mavic or Robotics EVO drone, but they are way too expensive for me.

I’m looking for something smaller than a Phantom or a Xiaomi Mi, but with obstacle avoidance and followme option and around 30min range.

Instead of buying an expensive branded model I could try to build one myself with a DIY kit if it has the same specs but it’s cheaper.

What set kit or spare pieces would you suggest to build it?

Desired specs:
30min flying time.
5km range.
Max Altitude at least 300m.
Foldable or small size. (like Mavic or less).
Optical stabilizated camera or gimbal.
Sensor avoidance.
Followme option.
I prefer smoothness to speed.

Patrick 22nd June 2018 - 5:45 pm

It never cheaper to build your own. There is no way to get those features for less money than a mavic.

iMeMyself 13th March 2018 - 2:45 am

Oscar Liang,

I have read pages of information like this and tried to understand it, but with no luck. You put all your knowledge in the perspective of a newbie asking all kinds of stupid questions and your orderly and very sorted-out narrative is helping a lot. I bet you dont get too much nice feedback and what you do is free and come with no ties attached, on behalf on the community I am deeply grateful for your work and others who are contributing as best they can.

Gotham 17th May 2018 - 6:37 am

Great read,

I have query.
Can i use a Any flight controller for any size drone.
Example: The same Flight controller on a 2.4 Kg drone and a 24 Kg drone ?
I’m asking this because the ESC, Motor power rating will go up, so will the same Flight controller be able to function.

Sai pothan 16th December 2017 - 9:03 am

Sir ! I am building my first Quadrotor. I built the custom flight controller using Arduino Uno and MPU-9250. I have written PID Algorithm for single axis stabilisation of Quadrotor. But, the Quadcopter is not at all balancing. and it is oscillating always. Can you please help me regarding my issue. Can you please say the meaning of Max. Effective Gyro Sampling Frequency. Can I attain stability if I switch to MPU-6050 instead of MPU-9250 ?.

Please help me, sir
Thank You.

Alex Wagner-Jauregg 12th September 2017 - 4:36 pm

This is great information on the differences in flight controllers. I have the DYS F4 pro for my MCQ Fusion, and really like it. I’m trying to help a friend resurrect his hex-copter and would like to find an F4 FC that will support a six motors, and has a betaflight OSD. Any recommendations?

Oscar 18th September 2017 - 4:12 am

The XSRF4O we just reviewed recently can do what you ask :)

Brolin 3rd September 2017 - 5:46 pm

Please advise me,
I have built my first quad and I have a little problem with the KK 2.1.5 board that I am using. When load increases i.e, when I increase the throttle the KK board restart. When I checked for the voltage the it restarts when the voltage drops to 6.1 volt. Is there a particular voltage for the KK board to restart ?

MT5000 31st July 2017 - 8:49 pm

I have a KK board, but I’m having second thoughts. Anyone suggest a simple FC for basic flying, not racing…yet. Just something that connects to Comp for settings, can hook up FPV and an HD cam. I have a 450mm frame. I don’t know if this makes a difference, but I’d like to connect a gimbal at some point. Maybe by then I would just get an upgraded FC.

Thank you.

Asher Flynt 7th July 2017 - 5:26 pm

What is the name of the controller in the grid at the top of this page that is in the top left corner? I have one and I cannot find documentation on it because it was given to me without it!! Please help.

Oscar 10th July 2017 - 6:00 pm

that’s the KK2
A very old FC.

Charles 1st July 2017 - 9:58 pm

Who designed/created the first flight controller board for multrotors for hobbyists?

Oscar 4th July 2017 - 6:34 pm

It’s a mystery :)

himanshu 12th June 2017 - 7:06 am

hii i am looking to build a drone for real time mapping would you be able to tell be which flight controller should i use?

Ddrt 7th March 2017 - 9:36 am

What about kk v5.5

Keenflyer 7th March 2017 - 8:20 am

Hello and thanks for the great post. I am wanting to create a drone to do maintenance work on skyrise buildings and it will need to work in close proximity to the building without hitting it (1 or 2 meter range). Do you have any advice for flight controllers for the following;
a) Human operated with collision avoidance so it doesnt hit the building, or
b) Computer operated with collision avoidance

Many thanks in advance.

kukumeka 1st February 2017 - 4:42 am

Which FC is more suitable to lift payload of 5lb even though they are not placed in balanced positions and lift platform 4 feet off ground

Debo 15th January 2017 - 7:43 am

Hi oscar,
Great post as usual. so oscar, i would like to know whats the difference between apm and pixhawk? are they just like the naze32 and flip32(flip being a naze clone)?
thanks in advance

Oscar 21st January 2017 - 6:11 pm Reply
JuanesM 1st April 2016 - 9:34 pm

Hi guys…. Question: Do you think that Jiyi P2 is bad alternative ?

Dr Colin Lloyd 17th March 2016 - 6:07 pm

Hi Oscar,
This explanation has been both instructive and confusing for me when trying to choose an FC. I am currently building an ImmersionRC Xugong V2 Pro folding quadcopter. I want this as a backpackable hobby (i.e. not professional) video/photo “follow-me” quadcopter when I am walking in hills/mountains etc.
I seem to have two options – either a normal RC Tx control or (my preference) a Tablet control. I don’t need FPV, racing or acrobatic capability. Either way my FC board has to have GPS capability – either internal or external. But I’m not sure which is the best route. I’m capable of hardware/software setups within the Raspberry Pi/Arduino arena – but with all the other possibilities of things going wrong when assembling a quadcopter from scratch – I probably would like to start with a known quantity as far as the FC is concerned. At this stage I’d rather start with a budget board -see what happens and then go up the ladder as I become more knowledgeable as far as capability/ease of use etc is concerned.

Oscar 18th March 2016 - 9:53 am

it sounds like you should be looking at the APM / Pixhawk route, however I am not familiar with that area yet, currently i fly mostly acro boards :)

Nivash 29th February 2016 - 8:25 pm

Hi Oscar

Please advise me
I have a flip32 and need to connect to a X8R receiver. The receiver connects with Sbus as well
Can I use a Sbus to cppm decoder to complete my setup. Or what can I do


Oscar 7th March 2016 - 4:35 pm

yes a SBUS to CPPM decoder is probably the simplest solution for you, and should work fine.

suhaas 26th February 2016 - 4:49 pm

Hi Oscar,
I want to build my first quadcopter i hav got all my materials but struck wit the fc ..my only specification regarding my quadcopter is that it must be completely flexible for me to control it in any manner .like for ex: it must not just fly and land but also perform all acrobatics like flip ,inverted flight ..I hope u got me …. i was suggested a KK v5.5 FC ,,wil this work or should I use some other …mail me if any suggestions ..
Kindly help

gust 16th February 2016 - 5:05 pm

Is this a good FC? http://www.banggood.com/Naze32-Flight-Controller-With-32-bit-STM32-for-Multicopter-10Dof-p-953849.html?p=OY2106728901201408U4
I will make my own quadcopter but ik don’t know which stuff I need, I am a novic. Can you help me?

Oscar 22nd February 2016 - 10:56 am

HI Gust,

yes it should work fine with Cleanflight firmware :)

by the way, I recommend joining this forum, it’s very useful and there are lots of helpful people there. I am a daily user too :) http://intoFPV.com

gaurav 9th February 2016 - 7:01 pm

hi oscar, i want to make a quadcopter with gps and camera so which flight controller i can use?

ZukenJ 13th January 2016 - 9:29 pm

Hi Oscar,

I know this article is some how old, but I am building a quad 450 and I am thinking on the APM 2.6, AM 2.8 or the OpenPilot CC3D Revolution Revo 10DOF STM32F4.

Wandering if you can recommend one, links to vendors:
APM 2.8:amazon.com/Hobby-Ace-Apm2-8-Controller-Absorber-Multicopter/dp/B015CPDD4W/ref=sr_1_2?s=toys-and-games&ie=UTF8&qid=1452720299&sr=1-2&keywords=APM+2.8

AMP 2.6: amazon.com/Andoer-Flight-Controller-Multicopter-Quadcopter/dp/B00Q496EOM/ref=sr_1_1?s=toys-and-games&ie=UTF8&qid=1452720493&sr=1-1&keywords=APM+2.6

CC3D Revo: banggood.com/OpenPilot-CC3D-Revolution-Revo-10DOF-STM32F4-Flight-Controller-Staight-Pin-p-1000068.html

I really appreciated your help.

macfly1202 9th January 2016 - 11:27 am

Hi Oscar,
Perhaps you could has the Pixfalcon and Pixracer ? They are Stm32f4 series.
Thanks for your great and outstanding blog.

Pablo 24th November 2015 - 9:42 am

Hi Oscar,

I’m building a F550 hexacopter and I have the motors,ESC,propellers,frame and battery, but I don’t know how to choose a good and cheap flight controller.I’ve seen the APM 2.8 and Flip32. Which do you recommend?Or another model?.I’d like to include a GPS or telemetry in the future to have the option to return home.


Oscar 24th November 2015 - 6:26 pm

if you want GPS and return to home, APM or Naza is your friends.

Pablo 25th November 2015 - 8:50 am

So I’ll buy APM 2.8, will be ok a transmitter and receiver with 6 channels?


Pablo 26th November 2015 - 8:00 am

Hi Oscar,
Will be possible with Apm 2.8 with gps M8N to have return home and fail safe with 6 channels transmitter and receiver.I read that is also possible the option of follow you, What is necessary for this?


Giorgio Di Lella 21st October 2015 - 9:41 pm

Hi Oscar,

I am presently building a DJI 550mm Hexacopter. I presently have a quad that I picked up used. It came with 1000Kv motors, 30 Amp ESC a KKK2.0 Flight Controller board.

I would like a FPV Setup with all the options available from the start…GPS, Compass and the “Return To Home” feature, and so on. Most suggest the Naza system. I see others also but don`t know were to begin.

All I want to do is fly over trees and record the video.


Oscar 26th October 2015 - 11:38 am

yea… both Naza and APM are good choice for GPS…

Oscar Jr. 3rd October 2015 - 2:08 pm

Hi Oscar, here is Oscar too!

Thanks for sharing those valuable informations. I just wanna know about SLT protocol and those FC, is there anyone compatible with ? I have this Tactic TTX650 with TR625 Rx and I’m intending to use a MultiWiiPro or a Naze32 Full in a RoboCat 275. What do you think, will it work?


Oscar 6th October 2015 - 4:27 pm

Hey Oscar ;-p
sorry i know nothing about SLT!

Ray Tillman 23rd September 2015 - 2:53 pm

Hi Oscar,
I think its wrong to bad mouth someone you have never dealt with on the word of people who might have alterior motives. I am of course talking about your timecop comments. I had a defective naze32 when he first started producing them and he sent me a replacement , no arguments, only asked if i would mind sending him the bad board back so he could see what went wrong. Recently i bought four afromini’s and he sent me a free acro naze32. You have to remember that his forum was never meant for people like me(hobbyist) but as a base for stm32 development types. I agree he doesnt suffer fools gladly but as long as you read the manual first and try to solve your problem yourself first, he is fine. He has always treated me with respect and courtesy and most people he is short with ask him stupid questions that normal people would google first. When he first developed the naze32 it was a clone/reworking of a Chinese 32 bit board called FreeFlight and he really didnt want to go into production full time as he was just a hobby flyer who saw the limitations of 8 bit technology and wanted to move on to a 32 bit FC’s but within the multiwii community. He developed Baseflight from scratch and the naze32 grew from the FreeFlight board. Its a hobby to him, he never wanted the naze32 to get so big and take up so much of his time . If you check back to his break with rcgroups (who treated him abysmally) he makes it clear he doesn’t need the money or the hassle involved , its just a hobby project that grew out of hand. In the beginning there was Open Pilot with 32 bit boards that cost £100 there was no choice then. Now because of the naze32 and its derivatives i can get a board for less than £15 And its better, and mainly because of timecop. So dont knock what you dont know !

Oscar 23rd September 2015 - 3:08 pm

Hi Ray, thanks for your comment, and sorry if I hurt your feeling. I was totally just describing what I have observed, none of my words about Timecop are personal. You are right, he did some amazing work about Naze32. Please see Baseflgith VS Cleanflight for more information.

MrSatoV 31st August 2015 - 1:32 pm

Hi Oscar, been a while since we chatted. XD
Nice article. I know it’s old, so it’s probably expected to be a little out of date.
There are also some very valid DIY boards for those who are not afraid of such things. FlyingF3, DiscoveryF3 and DiscoveryF4… several. Of course, the Sparky series are actually opensource, same as CC3D was, and you can even have the boards made on oshpark.com, buy all the bits and pieces, solder them on yourself and VOILA, a homemade Spark v1 or v2. XD Except, when I checked, it costs pretty much the same if you’re doing 1-3 boards anyway, so may as well just buy a ready made one.

My advice to newcomers is to watch aliexpress.com for sales on the Sparky v1.1. They can be had for about $26 – $28 if you wait and watch. I’ve bought two this way. You could pay half for a CC3D clone, and that will get you flying, but it won’t do GPS return to home, or anything like that. Naze32/Flip32 10dof will, but there are features that already are not supported on them, and most are crappy clones anyway. True that what I got off aliexpress are clones, but I can vouch for the fact that the quality is good, and performance is noticeably better than any F1 board. Can’t beat that value.

Oscar 1st September 2015 - 11:14 am

Great info, thanks so much :)
I need to update this post, but just haven’t got the time yet :) soon, my friend, soon…

Pratik 11th August 2015 - 7:03 pm

Hi Oscar,

I want to build a quadcopter with the following specification : FPV, Sensor and Tracking( gps system).. which FC should i use to make the quad witht he above mentioned specs.
Plz reply ,or email me… any help or suggesion would help me.

NOTE : A quadcopter that has GPS + FPV + Tracking sytem! .. All in One bro ;)

Oscar 12th August 2015 - 4:53 pm

APM? Crius AIO Pro?

Pratik 12th August 2015 - 7:39 pm

What do u suggest according! …

the FC should help in Tracking as well as sensing part.. FPV is an ad on.
It should help me stabilize my quad..!!

This will be my Final Year project,,,so plz suggest ur expert ideas :)

Gustavo A Gonalez 1st August 2015 - 3:10 pm

Hi Oscar,

I am currently in a Senior Design group and our project revolves around a quadcopter. In our design report we need to describe and outline some possible decisions between Flight Controllers, and your post has helped immensly in that regard. I would like to ask if we could use your chart/list (with credit of course) in our report?

Oscar 6th August 2015 - 12:27 am

sure that’s fine :)
if you could credit back that would be great !

Rafak 29th June 2015 - 2:06 am

bro… awesome review, comparison charts just help SO MUCH, my mind was already kinda made up about the Naze32 Full, your post was just the missing OK TO GO! … lol …… im newbie to all this quadcopters thing and looking to build my first 250mm FPV and i have a very newbie question …. what should i look for,, vertical or horizontal pins on the FC? (considering im going for a 250mm quad frame) …. ty so much bro…your blog is AWESOME!!!

Epasko 26th May 2015 - 11:10 am

need a TX for all of these
I hope this what I got will work
please say yes I will donate!

I canhttps://www.banggood.com/index.php?com=account&t=ordersDetail&ordersId=6447656 get them separate
any recommend?
Steerix x4 quad I Have
My 250 build I want as per your recommend
Syma X5c 2.4g Naze Acro
Flip32 ?

Oscar 28th May 2015 - 9:14 am

i can’t see your link, it’s your order and only you can see it.
send me the product page or product name please.
for Flight controller, get the Naze32 acro :)

alessandro 10th March 2015 - 4:55 pm

is good the CC3D from Banggood for a 450 quad?

Oscar 10th March 2015 - 8:17 pm

yes, the cc3d is good for 450 quad too!

APMFriend 25th December 2014 - 1:15 pm

Please also note, that APM/ArduCopter has a much improved Acro Mode since 3.1 – when comparing it to Multiwii it feels nearly identical. You are right though – on earlier implementations before 3.1, Acro Mode on APM was not so good! :)

Oscar 28th December 2014 - 7:55 pm

cheers, thanks! :D

CrazyCoder 24th December 2014 - 11:39 pm

The Brain FPV has integrated OSD hardware which is handy, butvery little market share for some reason.

It was released last week. Of course it has little market share.

CrazyCoder 24th December 2014 - 2:15 pm

“Sparky, Quanton and Brain FPV Flight controllers were all based on OpenPilot’s project.”

This is not correct. Naze32 is based on MultiWii, being a 32-bit port of MultiWii. Sparky, Quanton and Brain FPV are using Tau Labs firmware which is a fork of OpenPilot.