Flight Controller Explained: How to Choose the Best FC for FPV Drone

by Oscar
How To Build Fpv Drone 2023 Fc Stack Nuts

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.

The Best FC Recommendations

Speedybee F405 V4

Speedybee F405 V4 Fc Esc Stack

The Speedybee F405 V4 is currently one of the best value flight controller stacks available, offering decent quality and performance. It includes nearly all the modern features you’d want in a flight controller. It supports an analog FPV system with an onboard Betaflight OSD chip and is “plug n play” compatible with digital FPV systems. See my full review here: https://oscarliang.com/speedybee-f405-v4/.

I’ve been almost exclusively using this stack for my 5″ and 7″ builds in the past year because it is affordable and suitable for freestyle, racing, long-range, and cinematic flying. While there are other budget FC stacks on the market, they typically use the F722 chip, which has only half the memory of the F405 in the Speedybee. Less memory restricts the number of features you can use in Betaflight and makes the system less future-proof.

Get your Speedybee F405 V4 Stack from:

Speedybee: https://oscarliang.com/product-wncw
RDQ: https://oscarliang.com/product-6ro8
NBD: https://oscarliang.com/product-tscf
AliExpress: https://s.click.aliexpress.com/e/_DFU9NkF
Amazon: https://amzn.to/46EzYZi

Speedybee F405 Mini

Speedybee F405 Mini Stack Flight Controller Esc

If you need a 20x20mm stack, this is a great choice for any ultra-light 5″, 4″ long-range, 3″ cinewhoops, or smaller builds. The 35A rating is sufficient even for most 5″ builds unless you intend to use large, powerful motors; in that case, you should probably consider the 30x30mm version.

With a price point under $60 for the Speedybee F405 Mini stack, this product offers excellent value. If you’re in the market for a feature-packed flight controller and ESC without breaking the bank, the SpeedyBee F4 Mini Stack is worth considering. See my review for more info: https://oscarliang.com/speedybee-f405-mini-fc-stack/

Purchase the SpeedyBee F405 Mini Stack Here:

AliExpress: https://s.click.aliexpress.com/e/_DnStZiP
SpeedyBee: https://oscarliang.com/product-fne8
Amazon: https://amzn.to/4aY6Ezd
GetFPV: https://oscarliang.com/product-ya4n
RDQ: https://oscarliang.com/product-v0bw

iFlight Beast F7 AIO 55A

Iflight Beast F7 Aio 55a Fc

For lightweight builds with a low profile, such as ultra-light 5″, 4″, and 3.5″ drones, the iFlight Beast with a 25.5×25.5mm mounting is a solid choice. It is particularly suitable for racing due to its lightweight and compact design. Although the 55A ESC rating might sound “bulletproof”, it’s important to remember that this is still an AIO board and not as robust as ESC on a separate board. However, it is more than sufficient for any drone smaller than 5″. This flight controller offers all the connections and functionality you could want in a Betaflight flight controller.

Get the iFlight Beast 55A FC from:

AliExpress: https://s.click.aliexpress.com/e/_DlhSn6R
GetFPV: https://oscarliang.com/product-e7xk
RDQ: https://oscarliang.com/product-pdc0

Flywoo GOKU GN745 AIO V3

Flywoo Goku Gn745 45a Aio V3 Fc Flight Controller

The GOKU GN745 is an great alternative to the iFlight Beast. It also features a 25.5×25.5mm form factor, making it ideal for lightweight 3″, 4″, and 5″ toothpick and cinewhoop builds. Equipped with an F7 processor and BLHeli32 ESC, it supports bidirectional DSHOT and RPM filtering right out of the box, along with other advanced BLHeli32 features.

It’s arguably one of the most feature-rich whoop/toothpick style flight controllers available. Although there are many solder pads located on the edge of the board, they are quite small and can be challenging to solder. However, the board does offer 7 full UARTs, and its set of features is unmatched. It includes a barometer and even boasts 8MB of blackbox memory on board! Check out my review for more: https://oscarliang.com/flywoo-goku-gn745-aio-v3-fc/

Product Page:

Flywoo: https://oscarliang.com/product-yf44
AliExpress: https://s.click.aliexpress.com/e/_DEqAWcX

HappyModel X12 AIO

Happymodel X12 Aio 1s 2s 12a Fc

For ultra-lightweight builds such as 1S to 2S 2″ and 3″ toothpicks, the HappyModel X12AIO is a great option. It features both an ExpressLRS receiver and a 400mW VTX built-in.

Product Pages:

AliExpress: https://s.click.aliexpress.com/e/_DDujH0F
Amazon: https://amzn.to/4a2iSFI
GetFPV: https://oscarliang.com/product-16z7
RDQ: https://oscarliang.com/product-t5ry

Flywoo GOKU F405 HD 1-2S 12A AIO V2 FC

Flywoo Goku F405 Hd 1 2s 12a Aio V2 Fc Front

If you’re building an ultralight micro quad with digital FPV systems like Walksnail, DJI O3, or HDZero, you should seriously consider the Flywoo GOKU F405 12A AIO V2 FC. It’s one of the most powerful flight controllers in this class. It supports both 1S and 2S, making it a versatile choice for micro builds. However, note that it’s not designed for analog FPV systems due to the lack of an OSD chip. For more information, see my review: https://oscarliang.com/flywoo-goku-f405-2s-aio-fc-v2-3inch-toothpick-build/

Product Page:

Flywoo: https://oscarliang.com/product-cbch
AliExpress: https://s.click.aliexpress.com/e/_DkJRC2R

Flight Controller: What it is and How it Works

flight controller sizes, MCU and features

A flight controller, or “FC”, is 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 gyroscope and accelerometer, while some even include optional sensors such as barometric pressure sensors (barometer) and compasses (magnetometer) to aid in autonomous flights.

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

FC Types

There are two main types of flight controllers: one is more plane-oriented, while the other is more multirotor-oriented. This doesn’t mean you can’t use a plane FC on a multirotor or vice versa, but you will likely face more challenges. It’s best to choose the correct type of FC for a smoother experience.

Plane/Wing Oriented FC Multirotor Oriented FC/ESC Stack
Matek F411 Wte Flight Controller Wing Fc Boards Top Bottom Rushfpv Blade F722 Digital Analog Flight Controller V2 Fc Extreme 60a 4in1 Esc

Within the multirotor FC, you will find regular FC and AIO (All-in-One) FC.

An AIO FC integrates the ESC onto the same board, which makes for a compact setup. However, they aren’t as robust as ESCs on separate boards, as found in regular FC/ESC stacks (two separate boards), because they have to use smaller FET’s and there’s less heat dissipation due to space limitation. Learn more about ESC in this guide: https://oscarliang.com/esc/

The choice depends on your requirements—if space and weight are priorities, you probably want to go with an AIO FC. Otherwise, a regular FC/ESC stack is normally preferred for its reliability.

Regular FC/ESC Stack (2 boards) AIO FC (1 board)
Tmotor Velox F7 Flight Controller Fc Fpv Drone Build Flyfish Volador Iflight Mach R5 Hd Bnf Racing Drone Fc Stack Vista Remove Top Plate

FC Connection

Here is an example wiring diagram how components in a FPV drone are connected to the flight controller. Each FC has a different wiring diagram due to variations in solder pad layouts, but the concept remains the same—you just need to identify the appropriate pads on your FC.

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 and autonomous flight in mind, while Betaflight is more focused on flight performance.

Here are a list of popular FC firmware options for FPV drones: https://oscarliang.com/fc-firmware/

However, I would personally recommend choosing between these two:

  • Betaflight: This open-source firmware focuses on flight performance. It has the largest user base, which makes starting out easier due to the abundance of tutorials. It also means support is readily available when you encounter issues. Additionally, Betaflight supports the widest range of flight controllers. Here’s a tutorial to get you started: https://oscarliang.com/betaflight-firmware-setup/
  • iNav: If you are more interested in automated flying and GPS waypoint mission, iNav is the way to go.

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

Configuration and Tuning

Betaflight 4.3 Pid Tuning Sliders

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 parameters like PID, rates/expo, 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.

Currently, STM32 MCUs such as F4, F7, and H7 are supported by Betaflight, while F1 and F3 are no longer supported due to insufficient memory for the expanding firmware requirements. Therefore, it’s important to pay attention to the memory available on different processors – it’s just as important as speed, if not more. For instance, although the latest Betaflight allows you to select which features to use and keep the code size small for processors with less memory, in the long run, the slower F405 might actually have an advantage over the faster F722 due to its larger memory capacity.

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

This article provides a more detailed explanation of the differences between all the MCU for a better understanding of FC processors: https://oscarliang.com/f1-f3-f4-flight-controller/

Historically, STM32 chips have dominated the FPV drone flight controller market. However, in recent years, AT32 is quickly becoming a viable alternative to STM32 chips due to its availability and affordability. Learn more here: https://oscarliang.com/at32-flight-controllers/


The flight controller on an FPV 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, but in the hobby, the term “gyro” is often used to refer to the IMU sensor.

The gyro can measure angular velocity while the accelerometer measures linear acceleration. When flying an FPV drone in full manual mode (aka acro mode), it uses only the Gyro, while in self level modes such as Angle mode, it requires both the Gyro and Accelerometer to work.

Gyro 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

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.

How to Find Out What Gyro FC Is Using

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

Which Gyro Is Best?

Flight controllers don’t offer Gyro options, but generally, if you choose a reputable brand that includes a gyro with a good track record, it shouldn’t pose any issues. Here’s a brief history of gyros used in flight controllers.

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.

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.

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.


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 specifications of a flight controller, and often overlook the importance of the layout.

For instance, comparing the following two flight controllers, you can see the first one has a superior layout with all the pads grouped by function and located all the edges.

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.

How To Build Fpv Drone 2023 Fc Stack Nuts 2

However, when using ESC and FC from different brands, while they should be compatible, the pinouts might be different, requiring rearrangement of the wires in the harness, which can be a huge hassle. If this is what you want to do, ensure to double-check the pinout before connecting the FC and ESC together, wrong wiring could fry your FC upon powering up.

Solder Pads Explained

Here, I will list some of the important solder pads often needed on a flight controller and explain what they mean.

Voltage Pads

VBAT, 3.3V, 5V, 9V

These pads are used to power external devices. VBAT is the direct voltage from the LiPo battery, while all other voltages are known as BEC (Battery Eliminating Circuit). Almost all FCs have VBAT, 3.3V, and 5V pads; some larger FCs offer other voltages such as 9V and 12V to power video transmitters. Note that all BECs have an amp rating, so avoid overloading them to avoid damage.


UART (Universal Asynchronous Receiver/Transmitter) is the most important connection on a flight controller. It’s a hardware serial port used to connect external components such as radio receivers, video transmitters, GPS, etc.

Each UART has two pins: one for transmitting data (TX pin) and one for receiving data (RX pin). It’s important to remember that the TX on the peripheral device connects to the RX on the FC, and vice versa. You have to connect TX and RX of the same number for a device. Some devices only require connecting either TX or RX if two-way communication isn’t needed.

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

Flight controllers have a limited number of UARTs; some have up to 6, while smaller FC’s may only have 2. It depends on the processor and space available. Ensure there are enough UARTs for the devices you plan to use before purchasing.

If you need more UART ports, Betaflight has a feature called SoftSerial, which converts certain solder pads into “digital serial ports.” These are similar to UARTs but have a much slower update rate, making them unsuitable for time-critical applications such as receivers and GPS. They can be used for analog VTX control but also increase CPU load, making them not recommended for slower processors or you might need to lower the PID Loop Frequency.

Camera Pad

Vin or Cam

If you run analog FPV system, this is where you connect the FPV camera. The flight controller will then overlay the OSD to the video feed before it outputs it to the VTX.


Vout or VTX

This is where you connect the VTX if you run an analog FPV system.

i2C Pads


For connecting devices like a GPS compass and barometer.

Buzzer Pads

BZ+ and BZ-.

For beepers.


For connecting RGB LED strips.

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.

For 5″ FPV drones or larger, FC with 30.5×30.5mm mounting pattern is often used, while smaller drones generally use 25.5×25.5mm or 20×20mm.

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: https://oscarliang.com/blackbox/.

Flash memory is cheaper but has limited storage capacity, typically 16MB which offers around 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. I have a tutorial explaining how to tune your FPV drone: https://oscarliang.com/pid-filter-tuning-blackbox/

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

  • 2014 – Article created
  • 2016 – Added choices of flight controller firmware, updated FC features
  • 2017 – Updated Processor and Gyro types, Added “FC Evolution” infographics, Updated MPU types
  • 2018 – Updated info about FC integration, Added info about mounting pattern
  • 2020 – URL Changed; Updated: FC Firmware, Gyro Info; Added: connection diagram/example, AIO FC & Feature integrations explained, layout, camera control
  • 2022 – Added info about BMI270 gyro
  • 2023 – Tutorial revised, Added info about ICM42688P Gyro
  • Jun 2024 – Updated FC recommendations.

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.


John McNair 31st May 2024 - 1:58 pm

After three days of back-and-forth emails trying to get a build to work, SpeedyBee support finally informed me of the following:
“Additionally, please try downgrading the flight controller firmware to version 4.4.3 and test again.
In our testing, we found that the F7 flight controller, when using version 4.5.0, will not spin the motors if the bidirectional Dshot function is not enabled.

We have reported this issue to the Betaflight team, but for now, we recommend downgrading to version 4.4.3 to rule out any problems caused by the 4.5.0 firmware.”
Why hasn’t something been said about this problem? It doesn’t speak well for SpeedyBee!

Brad 1st May 2024 - 9:20 pm

Any ideas on a flight controller that allow you to have individual escs? I like having the escs on the arms vs an integrated esc that if it breaks i have to replace the entire esc.

Oscar 7th May 2024 - 4:34 pm

Holybro’s Kakute F7 was the one that I’d recommend, but I am not sure they make it anymore. In fact I think this type of FC has been phased out and mostly replaced by 4in1 ESC/FC stack.

Val 23rd February 2024 - 5:01 pm

Hi! Which port and settings for connection Raspberry to this FC?

joel joseph 22nd December 2023 - 8:52 am

love the content !

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.