FPV Drone Flight Controller Explained

by Oscar

The number of flight controllers (FC) for FPV drones can be overwhelming for beginners. This guide explains all the features and differences, and highlights important factors to consider when choosing a mini quad FC.


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

I compiled the specifications of all FC’s in this spreadsheet so you can compare them more closely

Table of Content

What is a Quadcopter Flight Controller

The flight controller (a.k.a FC) is the brain of the aircraft. It’s a circuit board with a range of sensors that detect movement of the drone, as well as user commands. Using this data, it then controls the speed of the motors to make the craft move as instructed.

Nearly all flight controllers have basic sensors such as Gyro (Gyroscopes) and Acc (Accelerometer). Some FC include more advanced sensors such as Barometer (barometric pressure sensors) and magnetometer (compass).

The FC is also a hub for other peripherals, such as GPS, LED, Sonar sensor etc.

FPV drone flight controllers are rapidly evolving: becoming smaller, with more features integrated, and using better processors and hardware.

flight controller sizes, MCU and features

Flight controller sizes, MCU and features

FC Connection

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

Flight Controller Firmware

In addition to hardware options, there is also different firmware you can choose to run on your FC, which offer different features and specializations for various applications. For example iNav is designed with GPS utilization in mind, whereas KISS is more focused on racing and ease of use.

Here is a list of popular FC firmware available for mini quad. If you have no clue which one to choose, my recommendation would be Betaflight.

Flight Controller Firmware

Flight Controller Firmware

Betaflight is open-source, developed and maintained by the community. It has the biggest user base, so you will be more likely to get help when you run into problems. It also has the widest range of flight controllers.

Other popular firmware for FPV drones are FlightOne and KISS. They are both closed source, and the hardware and firmware are controlled by private companies so you are limited to their own flight controllers.

Once you have picked your FC firmware, you can look for a compatible flight controller board.

Interface and Configuration

Modern FC firmware can be configured via a computer, smartphone, or even from your radio controller. Each firmware offers a different user interface (UI) with various parameters you can change. Some UI looks similar, but plugging the same settings into a different FW can give very different characteristics, so there is a learning curve when getting into a new firmware.

Tuning” is the term we use in the multirotor hobby when changing parameters such as PID, RC rates or other settings to achieve the flight characteristics we want.


The processors in FC are also known as micro controller units (MCU), they are used to store the firmware codes and handling all the complex calculations.

Currently, there are 5 main types of MCU used for FC’s: F1, F3, F4, F7 and H7. The main differences being the calculation speed and memory size:

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

This article explains the differences between F1, F3, F4 and F7 MCU in more detail.

We recommend getting either an F4 or F7 flight controller, because F1 and F3 are no longer supported in the latest versions of Betaflight due to the lack of storage for the expanding firmware.

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

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

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 example, serial radio receivers, Telemetry, Race Transponder, VTX control etc.

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.

For example here are the UART3 (R3 and T3 pins) and UART6 (R6 and T6 pins) on a flight controller. You can assign these UART a task in the ports tab of Betaflight configurator.

How Many UART’s on an FC

You might not need many UART’s, but having more is always handy.

The number of UART’s available largely 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 have 6 to 7.

  F1 F3 F4 F7
No. of UART 2 2-5 2-5 3-7

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 newer generation processors with integrated inverters.

However, older processors such as F1 and F4, require an external inverter to “translate” the signal before feeding it to the UART. For users convenience, almost all F4 flight controllers have dedicated pads for SBUS you can connect the RX directly to. Otherwise, you can use a workaround, such as using soft serial for SmartPort, or getting uninverted signal from the RX.

If you are running out of UART ports, you can use the Betaflight feature SoftSerial to “create” up to two extra UART. SoftSerial is a way of emulating a UART port using software, but the emulated UART has lower baud rate (update rate). This makes it unsuitable for timing critical tasks such as for the RX connection. Note that SoftSerial also increases CPU load.

Gyro Sensor – The IMU

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 most used flight modes in Betaflight are probably Acro mode (aka manual mode) and Angle mode (aka self-level mode). Acro mode uses only the Gyro, while Angle mode uses both the ACC and Gyro.

Since most FPV drone pilots only fly in Acro Mode, the accelerometer is often turned off to free up processing power. That’s why we normally refer to the IMU simply as the gyro.

The following list contains the most common IMU chips for FC.

The Types of IMU

Two main gyro manufacturers for FPV drone FC, InvenSense (bought by TDK) and Bosch. Here’s a list of gyro, mostly made by InvenSense except BMI270 which is made by Bosch Sensortec.

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
BMI270 SPI, i2c 6.4KHz

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

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

If you want to find out exactly which Gyro is on your flight controller, you can go to Betaflight Configurator, and enter “status” in the CLI. Look for the name in Gyro/ACC, that’s your Gyro sensor.

Some FC has 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

The Choice of Gyro: Sampling Rate vs. Noise

There are two main properties of an IMU to consider in a flight controller: max sampling rate, and how susceptible to noise (both electrical and mechanical).

Before 2022 the most widely used IMU is MPU6000 as it’s proven to be one of the most robust IMU against noise. The general consensus is to avoid MPU6500 and MPU9250 despite their higher sampling speed.

The ICM20689 is also pretty good but allegedly with a higher failure rate. The ICM20602 is another popular choice however it’s more susceptible to noise. Since Betaflight 4.1 (Oct 2019), 32KHz gyro sampling rate has been removed from the firmware, so even if you are using an ICM gyro that are capable of 32KHz, you will be limited to 8KHz so it’s no longer an advantage.

Since 2022, more and more FC manufacturers have been shifting toward BMI270 due to silicon shortage. 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. However the actual performance is on par with MPU6000 since the useful gyro signal (movement of the drone) is usually within 100Hz. The only downside is probably the extra filtering that might be required as the cut-off frequency is higher in the built-in low pass filter with the BMI270 gyro.

There are some FC with the Gyro “soft mounted” on foam in order to reduce calculation errors from vibrations being transferred into the system from the motors. But this is not a very popular approach, as it’s been proven this is not necessary as long as the flight controller itself is soft-mounted properly. Here are some tips on soft-mounting and filtering capacitors to reduce noise.

Soft mounted Gyro – Kakute F4

Gyro BUS – i2c and SPI

SPI and i2c are the types of “BUS”, or communication protocol between the IMU sensor and processor. The type of BUS has a significant impact on the effective sampling rate and 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. Almost all flight controllers today uses SPI.

Pretty much all modern FC use SPI connection for the Gyro today.


FC layout is where the pins / solder pads are located on the board, and how easy it is to connect the components.

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

A good example would be the CLRacing F7 and the Kakute F7. Both are excellent flight controllers that I personally recommend, but purely based on the layout, the CLRacing F7 is clearly superior, as all the pads are all located on the edges, and grouped by the function. The pads on the Kakute are all crammed into the same area, which often results in messy wiring.

CL Racing F7 FC

Kakute F7 FC

It’s a personal thing, not everyone has the same taste in FC layout.

“All In One” (AIO) FC & Integration

An “All In One” FC has in-built power distribution and will have large pads for the heavy gauge wire for input voltage directly from your LiPo. The term was originally used back when it was standard to have a PDB to regulate power to your FC, but with the variety of components found integrated with FC’s these days, it has become more misleading.

One of the first components to be integrated with the FC was On-Screen Display (OSD) – Betaflight OSD.

Other integrated circuitry that has proven invaluable is the Current Sensor: it’s a much better indicator than VBAT for when you should land and great tool for testing – More about current sensor and calibration.

Other commonly integrated components include Barometer and magnetometer (compass).

There is no “true” all-in-one solution (not yet anyway), but you can find almost any component – RX, VTX, even ESC’s – integrated with the FC.

The RacerStar Tattoo F4S FC was the first ESC integrated FC I reviewed, although it wasn’t very reliable.

4-in-1 ESC & AIO FC?

4-in-1 ESC’s are common these days, and are often designed as part of a “stack” for use with a specific FC, usually a 4-in-1 ESC acts as the PDB. The plugs and connections from a 4-in1 ESC to the FC are not standardized so ensure your parts are compatible before you purchase.

Can an AIO FC and 4-in-1 ESC be used together? Yes they can, but we don’t recommend it.

Depending on the type of ESC you want, use an AIO FC with separate ESC’s.

A Non-AIO FC should be coupled with a PDB for individual ESC’s or a 4in1 ESC.

Mounting Pattern

The mounting pattern is the hole distance in a flight controller. Common mounting patterns are 30.5×30.5mm, 20×20mm and 16×16mm. The mounting pattern is largely determined by the size of the board, and the size of the aircraft it’s designed for. 5″ and larger aircraft normally use 30.5×30.5mm while anything smaller use 20×20mm. 16×16mm are getting popular with micro builds under 100mm.

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 – storing your flight logs either on an SD card or integrated flash memory.

Flash memory is cheaper to use, but it’s also very limited in terms of how long you can record.  Depending on your logging rate and the amount of flash memory on your FC, you can usually only capture 10 to 20 maybe minutes of flight data. It’s also extremely slow to download, taking up to 5 mins to download a one-minute flight log.

Flight controllers with a built-in SD card reader allows you to insert an SD card allowing you to record for weeks without worrying about running out of space. It’s also very fast to read the data, take the card out and you can access the logs immediately.

Blackbox logs are really for more experienced pilots to diagnose almost imperceptible issues with flight characteristics, such as racers looking to squeeze out every last drop of performance. For the averaged hobbyists, perhaps this is unnecessary unless you are really into tinkering.

If your FC doesn’t have SD card slot nor flash memory for blackbox, you can get an external SD card reader (Open Logger) and connect it to your FC via UART.

Connector Types

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.

BEC (Voltage Regulator)

The majority of FC’s provide a regulated 5V pad. Some even provide 9V, 12V or some other voltages. These voltage regulators are often referred to as “BEC” (battery eliminator circuit).

Although a lot of FPV gear (FPV camera and VTX) can be powered directly from the LiPo battery, I have found it produces better results powering them from a regulated power source.

Learn about how to wire FPV setup to reduce noise.

What should I use, VBAT, 5V or 9V from the FC?

First of all it depends on the device you are trying to power, what voltage does it support?

VBAT (voltage from the battery) is more noisy due to the motor and ESC, and for video transmitters and camera it can affect your image quality. Therefore it’s almost always better to power them from a BEC which also acts like a power filter. You also need to check if the BEC can meet the voltage and current requirement for your device. But if the voltage is too low or it won’t supply enough current to your device, it’s going to be under powered and won’t work properly.

Camera Control

A feature that allows you to configure FPV camera settings using your radio transmitter and Betaflight OSD. Learn more about camera control here.

Boot Button

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, a boot button makes it much easier.

Left: Boot Button; Right: Boot Pads

Soft Mounting

Soft mounting is a good practice to reduce vibrations transferred from the motors to the gyro. There are two main types of soft mounting when it comes to mounting flight controllers: rubber standoffs and grommets.

Learn more about FC soft mounting.

Flight Controller Choices

Here are my FC recommendations: https://oscarliang.com/top-5-best-fc-mini-quad/

For a complete list of flight controllers, here is a list I complied: https://docs.google.com/spreadsheets/d/1VuBpQVZflz5zVNUG43qKTq4Mkwt-cTssWvb1CGqskQk/edit?usp=sharing

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

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.


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.