Building a drone can be very rewarding, but choosing a flight controller for your drone can be an overwhelming task. There are seemingly limitless drone flight controller choices on the market today. While this is true, there is only a select amount of drone controllers that are right for your build. Once you have clarity of your drone build, the list of potential autopilot boards decreases drastically, making your decision less daunting.
This post will show you 7 of the best flight control boards on the market today. You will either find the flight controller that is perfect for your build, or gain the knowledge required to appropriately judge whether a board is appropriate for the drone you’re wanting to create.
If you’ve never built a drone before or would like a refresher of the drone building process, checkout my complete guide on how to build your own drone. Alternatively, enter your email address below and I’ll send you a free 20-video excerpt from the course, which will walk you through how to build a raspberry pi drone.
Autopilot Board Selecting Criteria
We analyzed 7 of the top drone controllers on the market by gathering information for factors such as:
- Open Source Firmware
- FPV Racing friendly
- Autonomous functionality
- Linux or microcontroller based environment
- Typical frame size
- Popularity (Higher popularity means more online resources and help)
If you are struggling with deciding on which board to buy, explicitly defining what you are trying to build by filling out these 8 factors will greatly help you in choosing a flight controller.
For example, if you are wanting to build a drone with a ton of online support and open source firmware, then you need to focus in on factors 2 (open source firmware) and 7 (popularity). Or perhaps you want to make an affordable FPV quad? Then you need to focus on factors 1 (affordability) and 3 (FPV racing friendly)
Checkout this post on the top open source drone software projects if you’re looking for a quick overview.
Best Flight Controller Boards
APM Flight Controller
The APM flight controller uses a puny 8-bit processor and is no longer being supported by the ArduPilot project.
It was revolutionary in its day, but that was a long time ago.
I know it can be tempting to be drawn towards a very cheap product with an ‘Ardu’ in its name, but it is cheap for a reason.
If you were looking into an APM flight controller, chances are you want to build a cool open source drone with the ArduPilot project. If that’s the case, the original Pixhawk is what you are looking for.
The Pixhawk was the padawan to the APM flight controller, and became much more powerful. The APM Flight controller has an 8-bit processor, and the original Pixhawk uses a 32-bit processor.
This was a monumental jump for open source drone controllers, and for that reason it became very popular amongst DIY drone builders.
The Pixhawk can be used with both of the main open source drone projects, ArduPilot and PX4, and also is completely open source hardware.
This means that many independent manufacturers can build and sell the boards, but the architecture is the same.
There are plenty of IO ports on the pixhawk, making it easy to communicate with an onboard computer, like a raspberry pi.
It is an easy product to find and buy. Most pixhawk kits come with all the required supplementary hardware, like GPS, magnetometer, buzzer, Lipo power module etc. You can find a kit like this on Amazon for ~$120.
- One of the most popular boards for bigger drone builds
- Supported by the big open source software projects
- Able to interface with a companion computer
- Very popular. Youtube is littered with tutorials relating to the pixhawk
- Cheap relative to the functionality it offers
- It’s an older flight control board.
Also referred to as the Pixhawk 2.1
The pixhawk open source hardware project has made many flight control boards after the original pixhawk, but the Pixhawk Cube is one of its newer designs. For this reason, open source projects like ArduPilot are more likely to cater new functionality and support to the Cube.
That being said, there are a lot of similarities between the Cube and the original pixhawk.
From this, if you are more focused on the affordability and functionality factors, the original pixhawk may be your best bet, as the cube can cost around $250.
If, on the other hand, you are wanting to future proof your drone and have a lot of online support for your flight controller, then the Pixhawk Cube is probably the right choice.
- Highly supported by ArduPilot, but works with PX4 as well
- Best pixhawk option to future proof your drone
- High amount of support for the Cube, meaning more youtube resources and forums to peruse for solutions to any problems you may encounter
- Similar in architecture to the original pixhawk
Full disclosure: This is my personal favorite board!
As noted previously, the pixhawk can be connected to a raspberry pi to act as a companion computer for things like computer vision. This can require some manual tinkering with wires and Linux config files, as you need to setup a UART bridge of communication.
With the Navio2, your flight controller is a raspberry pi! That’s because the Navio2 is a shield that simply attaches to the top of a raspberry pi 3.
The maker of the Navio2, Emlid, provides a free Debian OS image that comes pre-installed with ArduPilot as well. All you have to do is flash the image to an SD card and you’re in business.
The Navio2 has another really cool feature: the Ardupilot firmware is used in a purely Linux environment!
With the revolutionary PREEMPT-RT patch that made Linux a real time operating system, many roboticists have migrated from microcontrollers to Linux.
Navio2 is one of the first boards to make open source drone software runnable from a Linux environment. Having a Linux drone opens up the doors for many cool features that aren’t available on normal microcontroller-based boards, such as:
- SSH into your drone while it’s flying
- Compile new firmware right on the drone by
- Treat the Ardupilot firmware as any other process in Linux
I’m a big fan of Linux based drones, because I think it lowers the barrier of entry required to start flying. I think it’s great for collegiate studies and those wanting to focus more on high level innovation, like computer vision based flight.
The Navio2 is supported on both ArduPilot and PX4.
Recently, I built a drone with a Navio2 brain. If you’d like to see my creation and parts list, checkout my raspberry pi drone kit here.
- Linux based board
- Saves a ton of time
- Lowers the knowledge barrier of entry to build a drone
- Uses the advanced computing power of a Raspberry Pi 3, with its 4 CPU cores
- Relatively expensive ($205)
- Requires a Raspberry Pi to function
If you’re not familiar with BeagleBoard project, it is basically a lesser known version of an educational board like the Raspberry Pi: cheap compute power intended to educate and enlighten.
Remember all my gushing about Linux based drones in the Navio2 summary?
Well ArduPilot implemented in Linux started out on the BeagleBone platform. ArduPilot was first ported to Linux on the BeagleBone Black as a proof of concept around 2014.
With the success of the ArduPilot Linux port on the BeagleBone Black, the BeagleBone Blue was created.
It is designed specifically for robotics, and has two programmable PRUs for real-time demanding computations, making it a great choice for drones.
It does have less compute power than the Navio2+Raspberry Pi combination, as it only has 1 CPU core, but again the PRUs help to make up for this. Unlike the Navio2, the BeagleBone Blue doesn’t require any supplemental boards.
The BeagleBone Blue is supported by both ArduPilot and PX4.
- The beagleboard community is highly supportive
- Linux based board
- Saves a ton of time
- Cheap (~$90)
- Relatively less compute power compared with the Navio2+RPi
- Only really for smaller drone builds
A Naza-M V2 kit can be found on amazon for around $200, and it comes with the basic components like GPS.
The flight control software here is closed source, which means the community doesn’t have access to the code. So if you are wanting to build a drone you can tinker around on, the Naza flight controller probably isn’t for you.
If you’re wanting a dependable flight controller and aren’t as concerned with tinkering, maybe the Naza is an option for you. You can’t argue that the DJI flight control firmware isn’t pretty advanced, and considering it is closed source, this is an impressive feat.
Since the product is DJI, you get the advantage of the software suite that DJI provides, and a lot of the firmware maintenance will be handled automatically without manual work required of you.
Another reason you may want to build a drone with a Naza brain would be for the tech-savvy photographer. Having a plug-and-play flight controller that abstracts you away from having to think about firmware frees up your thought equity for things like photography.
- Plug and play type of flight controller
- Supported by the largest drone company in the world
- Popularly used by DIY drone builders who don’t want to worry about firmware
- Closed source flight control software
- Not an ideal choice for university students
The Naze32 model boards are extremely popular in the FPV quad racing world. They are lightweight and very affordable, costing around $30-40. You will find many manufacturers of the Naze32 boards, so make sure you select one that is an f3 or f4 flight controller.
The Naze32 works with open source firmware, and is popularly used with CleanFlight. Their 32 bit processors are relatively powerful, and at a total weight of ~5 grams, it is an ideal FPV quadcopter controller.
- Very popular
- Open source firmware
- Limited functionality
- Easy to mistakenly buy an older version of the Naze32 (Again, you want to make sure it is f3 or f4)
Just to provide some context: The CC3Ds originated with the OpenPilot project that has since turned into the LibrePilot project. The ‘OpenPilot’ keyword has stuck however, so you will see many CC3Ds being sold as ‘OpenPilot CC3D’, even though the project has dissolved.
The CC3D Revolution is much like the Naze32 in many ways: it is also light, affordable, popular and used for FPV drones.
Also beware that there are many different models of the CC3D, and you want to make sure you have an f3 or f4 flight controller to future proof your build. The CC3D Revolution is an f4 controller, so you’re good there.
While both the Naze32 and CC3D Revolution support open source firmware in CleanFlight, one of the key distinctions is that the CC3D Revo can be used with the very popular ArduPilot firmware. So you have more options with firmware with the CC3D Revo.
- Wide selection of supported open source firmware
- The CC3D name has become generic and is slapped on many boards, also making it difficult to choose a reputable board using f3 or f4.
- Harder to find places to buy the CC3D Revolution
Summary of Autopilot Boards
|Board||Affordability ($)||Weight (grams)||Open Source||FPV Racing||Autonomous||Linux||Typical Frame Size (mm)||Popularity||Processor|
|Naze32||30||6||CleanFlight, BetaFlight||Yes||No||No||250||High||32 Bit|
|OpenPilot CC3D Revolution||50||9||CleanFlight, BetaFlight, ArduPilot||Yes||Yes||No||250||High||32 Bit|
|Pixhawk||120||60||ArduPilot, PX4||No||Yes||No||350+||High||32 Bit|
|Pixhawk Cube||200||150||ArduPilot, PX4||No||Yes||No||350+||High||32 Bit|
|Navio2||200||80||ArduPilot, PX4||No||Yes||Yes||350+||Medium||64 Bit|
|BeagleBone Blue||100||?||ArduPilot, PX4||No||Yes||Yes||200+||Low||32 Bit|