How to Choose Flight Controller for Quadcopter

The number of mini quad flight controllers on the market can be overwhelming for beginners. This guide aims to explain the important factors in choosing the next flight controller for your quadcopter, FPV mini quad or racing drone.

If you are new make sure to check out our mini quad and racing drones guide for beginners.

Index of Content

What is a Quadcopter Fight Controller

A flight controller (a.k.a FC) is the brain of the aircraft, which is basically a circuit board that has built-in sensors that detects orientation changes. It also receives user commands, and controls the motors in order to keep the quadcopter in the air.

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

Flight controller is also a hub for many other peripherals, such as GPS, LED, Sonar sensor etc.

Flight controllers for quadcopters are rapidly evolving: smaller, using better processors and hardware and getting more and more features integrated.

FC Firmware

Apart from the difference in hardware, they might also use different firmware that are specialized in different applications.

Modern FC firmware normally can be configured via software on a computer or smartphone. “Tuning” is the term we use in the multirotor hobby when we change PID, rates and other configuration settings, and it changes how the multirotor performs. The GUI and parameters are different from firmware to firmware, so there is certain level of learning curve getting into each of them.

Here is a list of popular FC firmware available for mini quad. If you are totally have no clue which one to choose, my recommendation would be Betaflight, Raceflight and KISS. These all have excellent flight performance and you cannot go wrong with any of them.

Once you have picked a flight controller firmware, you can then look at what controller boards are compatible.

How To Choose a Flight Controller for Mini Quad

Here are a list of considerations when picking up a mini quad FC.


Currently, you have 4 main types of CPU to choose from: F1, F3, F4 and F7. We recommend getting a F3 or F4 FC for now, as we have reached the limit of F1, and F7 FC are still new and needs time to be improved.

F1 F3 F4 F7
72MHz 72MHz 168MHz 216MHz

To learn more about the differences between F1, F3, F4 and F7 processors make sure to check out this article.

From left to right: STM32 F1, F3, F4

Number of UART’s and Inverters

UART is the hardware serial port that allows you to connect external devices such as digital receiver (SBUS and Spektrum), OSD, SmartPort Telemetry, Race Transponder, VTX control etc. Each UART has 2 pins, TX is for transmitting data and RX for receiving data.

The UART count depends on the type of processor and the board design, for example, F1 FC normally has 2 UART’s, while F3 and F4 can have between 3 to 5 and F7 can have 8 or more.

UART stands for Universal Asynchronous Receiver/Transmitter.

F1 F3 F4 F7
2 UART’s 3-5 UART’s 3-5 UART’s 8+ UART’s

Because for some reason, Frsky SBUS and SmartPort signals are inverted, and therefore it requires an inverter in the UART’s to read these signals.

F1 and F4 FC normally have none or very limited number of built-in inverters, and Frsky radio users could run into problems with these boards. There are workaround for this, e.g. using external inverter, or getting uninverted signal from the RX. F3 and F7 do not have this problem and all of their UART’s have built-in inverters, so they work out of the box.

However in the case of running out of hardware serial ports, you can use the feature “soft-serial” which is a way of emulating UART port using software. The downside of this is the lower baud rate (update rate), and putting more load on your CPU. Therefore this is not recommended for timing critical tasks such as your receiver.

Gyro: the type of IMU and BUS

The IMU sensor used on a flight controller can be found in the following list. The job of an IMU sensor is to measure the quadcopter’s movement and orientation.

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

The MPU chip model number can be found on the flight controller, for example this is the Invensense MPU-6000.


IMU Gyro Sensor on a flight controller

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

Currently the most widely used IMU is the MPU6000 as it supports up to 8KHz sampling rate, and proven to be one of the most rubust IMU against noise. The general consensus is to avoid MPU’s including MPU6500 and MPU9250 which are noisier despite the higher sampling speed.

Faster gyro is a double-edged sword. with clean signal and power, you can expect the ICM series perform better and smoother than MPU6000 in 32KHz. However with noisy ESC, motor and quad with oscillation, the performance of the ICM gyro will get much worse than the MPU6000.

Soft mounting your FC and adding low ESR capacitor to your flight controller might help reduce noise getting to Gyro.

SPI and i2c are the types of “BUS”, or communication protocol used to connect the IMU sensor to the processor. It can have a significant impact on the effective sampling rate and therefore 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.

Note that MPU9150 is effectively the MPU6050 with integrated AK8975 magnetometer, while the MPU9250 is the MPU6500 with the same magnetometer.

More and more FC now starting to use the ICM20602, for example the Raceflight Revolt V2, as well as the ICM20689 on the Kakute F4. They can both run at 32KHz, however it’s reported that these IMU are more susceptible to noise than the older MPU6000 therefore these FC’s generally require more soft-mounting and filtering capacitors.

We begin to see FC with the Gyro “soft mounted”, basically have the IMU sitting on a piece of foam, to reduce some of the noise coming from the motors.

Soft mounted Gyro – Kakute F4

Blackbox: Flash Memory or SD Logger?

Blackbox data is useful for tuning and troubleshooting.

There are two ways to record your blackbox data, if your flight control supports blackbox logging it normally come with either flash memory chip or a SD card reader for you to put your SD card in.

Flash memory is cheaper to use, but it’s also very limited in terms of how long you can record your flight, usually you can only record 10, 15 or maybe 20 minutes depends on your logging rate. It’s also extremely slow to download the data, it can take up to 5 mins to download an one-minute flight log.

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

In my opinion it depends on how much you use Blackbox. If you are crazy about studying Blackbox data, you should definitely get a FC with built-in SD card reader.

It’s good to know that you can also get an external SD card reader (Open Logger) and connect it to your FC in one of the UART’s (serial ports).

Connector Types

I personally would avoid plastic JST connectors as they are less durable although they allow you to connect/disconnect more easily. I like solder pads, but sometimes with low quality boards, they tend to tear out when stressed or overheated with solder iron. I also like “through-holes” which gives you the option of direct soldering or using header pins.

Integrated Voltage Regulator

With voltage regulator integrated in the flight controller, it can be powered directly from LiPo battery, or even provide 5V even 12V voltage outputs for other gear. It also means the FC can monitor your battery voltage too without extra VBAT wiring.

Integrated PDB

When PDB is integrated into the FC as one board, your ESC and LiPo battery can be connected directly to the FC and no additional PDB or wire harness is required (one board vs 2 boards). But the downside is usually the tiny soldering pads on the FC that is extremely hard to work with given the tight space.

Integrated Current Sensor

Having a current sensor has been proven invaluable: it’s a much better indicator than VBAT for when you should land and great tool for testing.

More about current sensor and calibration.

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

Left: Boot Button; Right: Boot Pads

Other features you might find on flight controllers

  • Integrated OSD – anyone who has worked with MinimOSD knows what a PITA it is to setup, if you like OSD this feature is a must have
  • Integrated VTX – the main benefit of it is the overall weight saving and compactness, some even allows you to change VTX settings directly from your FC
  • Barometer/Mag (compass) – these extra sensors are less important for racers and mini quad
  • RX Support – make sure the FC support the type of radio receiver protocol you plan to use, such as PWM, PPM, SBUS, Spektrum Satellite and so on
  • AIO options – “All in one” flight controller has everything necessary built into one single board, such as FC, ESC, PDB, RX and so on. The downside is if something fails, it’s more likely that you’d have to replace the whole setup
  • Infrared transponder support – allows you to use IR detectors with the FC directly to measure your lap time in some race events

Flight Controller Choices

For a more up to date list for mini quad targeted FC, check out my mini quad parts list:

For recommendation here are a list of top 5 FC that were voted by our community:

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

53 thoughts on “How to Choose Flight Controller for Quadcopter

  1. iMeMyself

    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.

  2. Sai pothan

    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.

  3. Alex Wagner-Jauregg

    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?

  4. Brolin

    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 ?

  5. MT5000

    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.

  6. Asher Flynt

    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.

  7. himanshu

    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?

  8. Keenflyer

    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.

  9. kukumeka

    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

  10. Debo

    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

  11. Dr Colin Lloyd

    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.

    1. Oscar Post author

      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 :)

  12. Nivash

    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


  13. suhaas

    Hi Oscar,
    I want to build my first quadcopter i hav got all my materials but struck wit the fc 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

    1. Oscar Post author

      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 :)

  14. ZukenJ

    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:

    AMP 2.6:

    CC3D Revo:

    I really appreciated your help.

  15. macfly1202

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

  16. Pablo

    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.


      1. Pablo

        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?


  17. Giorgio Di Lella

    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.


  18. Oscar Jr.

    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?


  19. Ray Tillman

    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 !

    1. Oscar Post author

      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.

  20. MrSatoV

    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, 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 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.

    1. Oscar Post author

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

  21. Pratik

    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 ;)

      1. Pratik

        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 :)

  22. Gustavo A Gonalez

    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?

  23. Rafak

    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!!!

  24. Epasko

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

    I can 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 ?

    1. Oscar Post author

      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 :)

  25. APMFriend

    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! :)

  26. CrazyCoder

    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.

  27. CrazyCoder

    “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.


Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum You might get a faster response from me there (multirotor related only).