A Survey On Open-Source Flight Control Platforms of Unmanned Aerial Vehicle
A Survey On Open-Source Flight Control Platforms of Unmanned Aerial Vehicle
I. I NTRODUCTION
By 2022, drone market for commercial application expects
to reach as much as 22.15 billion $, growing at a Compound
Annual Growth Rate (CAGR) of 20.7% from 2015 to 2022 [1].
The usage of the drones is expected to continue to grow
for public safety use along with military applications [2]. In
that regard, several drone platforms have been developed by
industries and academia to enable its engagement in different Fig. 1. UAV flight control (autopilot) system
life aspects (e.g., agriculture, transport, energy, security, etc.).
In the past few years, several open-source UAV platforms
(Hardware, Software, or both) have been developed by com- sensor composition, analysis of attitude estimation and control
munities and research projects to test and implement various algorithms, and comparison of their additional features. In
UAV applications [3]. In contrast, there are very few research 2016, the authors in [7] have presented a general view of the
papers that cover a small and old part of such platforms. implementation of open-source quadcopter platform to develop
In 2010, the authors in [4] have presented a survey of a quadcopter research testbed. The research aims at making the
the autopilot systems for small or micro UAVs systems. proposed platform expendable to be used in any application
Their objective is to provide a summary of the available areas. In addition, the work very briefly mentioned a couple
commercial, open-source and research autopilot systems in of open-source flight controller platforms that one of them has
the market at that moment for potential small UAV users. In been used in their work.
2011, the authors in [5] have made a survey on open-source In this work, we present the basics of the UAV system
hardware and software fixed-wing UAV platforms. They have (Fig. 1 shows its components and will be explained in Sec-
shown a design of a small fixed-wing UAV based on one of tion II) that is followed by a deep survey on Open-Source
the presented systems with its first field test. In 2012, the Hardware (OSH) and Open-Source Software (OSS) UAV flight
authors in [6] presented the publicly available open-source control platforms that can be used in academic research. The
projects on quadrotor UAV system. In total, the paper has survey explores 15+ open-source UAV platforms that are pub-
presented eight quadrotors with descriptions of their avionics, licly available on the Internet. Moreover, the survey compares
397
and Linux-based Robot Operating System (ROS). The flight B. ARM-based platforms
platform supports 20+ interfaces including on-board sen- 1) PIXHAWK/PX4: It is a computer vision research based
sors, mmWave radar, Lidar, thermal camera, ultra-vision HD flight control designed by Computer Vision and Geometry
video transceiver via software defined radio, etc. In addition, Lab of ETH Zurich and Autonomous Systems Lab [17].
its hardware (FPGA) acceleration enables computer vision It is an evolution of the PX4 flight controller system (i.e.,
and Deep Neural Network algorithms applications. It runs enclosure and perhaps modified connections). It consists of a
FreeRTOS based UAV real-time operating system (PhenOS) PX4-Flight Management Unit (FMU) controller and a PX4-IO
that contains a built in multi-task scheduling, and ROS for integrated on a single board with additional IO, Memory and
intelligent algorithms and hardware resources management. other features. In addition, it works closely with the Linux
Fig. 2-a shows Phenix Pro flight controller and Fig. 2-b shows Foundation DroneCode project (see Section IV-E). Fig. 4-a
its circuit board. The schematic of this platform is closed- shows PIXHAWK flight controller and Fig. 4-b shows its main
source, however, the project’s software is open under The circuit board; PX4. The project is available under the Berkeley
GNU General Public License (GPL)v3 license. Software Distribution (BSD) license.
(a) (b)
Fig. 2. Phenix Pro flight controller. (a) Enclosure, (b) Circuit board
(a) (b)
(a) (b)
Fig. 3. OcPoC flight controller. (a) Enclosure, (b) Circuit board Fig. 5. PIXHAWK 2 flight controller: (a) Enclosure (b) Circuit board.
398
3) Paparazzi: It is the first and the oldest open-source drone
hardware and software project. It is developed in Ecole Na-
tionale de l’Aviation Civil (ENAC) UAV Lab since 2003 [18].
It encompasses autopilot systems and ground station software
for multi-copters/multi-rotors, fixed-wing, helicopters and hy-
brid aircraft [19]. In March 2017, ENAC Lab released a new (a) (b)
autopilot named Chimera that is based on the latest STM32F7
Fig. 8. ArduPilot Mega (APM) autopilot: (a) APM 2.8 unit (b) APM 2.8
Microcontroller Unit (MCU). Fig. 6 shows Paparazzi Chimera circuit board.
circuit board. The hardware and software of the project are
available under the GPL license.
2) FlyMaple: It is a Quadcopter controller board, based on
the Maple Project. The design of FlyMaple is based on the
maple, which is an Arduino style ARM processor. FlyMaple
is aimed to run on the balancing robots, mobile platform,
helicopters and quad-copters which require IMUs and high-
performance real-time controllers. Fig. 9 shows Flymaple
flight controller board. The project is under GPLv3 license.
4) CC3D & Atom: They are two flight controllers have the
same functionalities but different in size. They are developed
by OpenPilot which became LibraPilot recently. The CC3D
and Atom flight controllers have all types of stabilization Fig. 9. FlyMaple flight controller board
hardware which run the OpenPilot/LibraPilot firmware (see
Section IV-D). They can be configured to fly any airframe from
D. Raspberry Pi based platforms
fixed-wing to an octocopter using the OpenPilot/LibraPilot.
The hardware and the software of the project are available 1) Erle-Brain 3: It is Linux based open pilot for drones
under the GPLv3 license. Fig. 7-a and b show CC3D and developed by Erle Robotics, Spain. It combines an embed-
Atom circuit boards, respectively. ded Linux computer (Raspberry Pi ) and a daughter board
(PXFmini) containing several sensors, IO and power electron-
ics. The PXFmini is an open hardware autopilot shield for
making robots and drones meant for the Raspberry Pi family.
It is built on top of the Dronecode Foundation technologies
(see Section IV-E). Fig. 10-a shows Erle-Brain 3 autopilot
and Fig. 10-b shows its parts (PXFmini + Raspberry Pi). The
PXFmini schematics are open under the Creative Commons
Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) li-
cense.
(a) (b)
Fig. 7. Flight controller board: (a) CC3D (b) Atom.
C. Atmel-based platforms
1) ArduPilot Mega (APM): It is an Arduino Mega-based
autopilot system developed by DIY Drones community as
an upgrade of ArduPilot flight control. It is able to control
autonomous multi-copters, fixed-wing aircraft, traditional he- (a) (b)
licopters, ground rovers and antenna trackers. Fig. 8-a shows Fig. 10. Erle-Brain 3 autopilot: (a) Erle-Brain 3 (b) PXFmini + Raspberry
ArduPilot Mega (APM) v2.8 unit and Fig. 8-b shows its circuit Pi.
board. The project is open under GPLv3 license.
399
E. No longer active OSH projects
This section shows the stopped open-source hardware
projects that one can avoid to search for.
1) AeroQuad: It was Arduino-based platform developed for
quadrotor autopilot. The project has stopped in 2015 however,
its software is online available [20]. Fig. 11 shows its flight
controller.
Fig. 13. UAV Development board v3 from Sparkfun used by the MatrixPilot.
A. ArduPilot
It is widely used, full-featured and reliable autopilot soft-
ware. It is capable of controlling any vehicle system imagin-
able, from conventional airplanes, multirotors, and helicopters,
to boats and even submarines [24]. The software was originally
developed for 8-bit ARM-based MCUs to run on its own board
ArduPilot that was replaced by ArduPilot Mega (APM) (see
Section III-C1) and has evolved to be optimized for use with
32-bit ARM-based MCUs. However, it can run under Linux,
Fig. 11. AeroQuad flight controller circuit board
opening up whole new classes of electronics like Single Board
Computers, all the way up to a full PC system. The software
2) Mikrokopter: The Mikrokopter v2.5 was the latest open-
of the project is available under the GPLv3 license.
source flight controller that was based on an ATMEGA1284P-
AU MCU. Its electronic schematics are available to download B. Multiwii
in [21]. For the newer v3.0, its main focus is on the redundant It is a flight control software developed for Arduino plat-
systems, however, its electronic schematics are not open- forms and based on sensors from Nintendo Wii, but it can
source until the writing of this article. The Mikrokopter flight be ported to other sensors and platforms [25][26]. It supports
controllers v2.5 and v3.0 are shown in figure 12. from two to eight propellers (e.g., a Tricopter, a Quadcopter or
a Hexacopter). The source code is released under the GPLv3
license.
C. AutoQuad
AutoQuad is a project developing ESC based on open-
source hardware and flight controllers based on open-source
software [20]. The flight controller has been developed through
product generations for more than 6 years[27]. The firmware
is written for the STM32F4 series MCU with a CORTEX M4
processor and Floating Point Unit (FPU). It supports up to 14
(a) (b) BLDCs and is compatible with QGroundControl. The source
Fig. 12. Mikrokopeter flight controllers: (a) v2.5 (b) v3.0 code is released under the GPLv3 license.
400
TABLE I
C OMPARISON BETWEEN OPEN - SOURCE FLIGHT CONTROLLER HARDWARE PLATFORMS .
Power
Consump- Dimensions Weight
Platform Processor Sensors Interfaces URL
tion (mm) (g)
(watt)
TABLE II
C OMPARISON BETWEEN OSS FLIGHT CONTROLLER PLATFORMS .
the open-source code base includes communication, hardware, System (FCS), and Ground Control System (GCS). The FCS
software, and simulation. More than 1200 developers are software is written in C, runs on Robostix-Gumstix stack
working on code for this project and it has already been that contains ATmega128 processor, and implements the flight
applied in many commercial and open-source products. The control algorithms. The source code is available in [31].
community provides software for OSH PIXHAEK, FlyMaple, 2) OpenPilot: It was an open-software UAV project for
Erle Brain 2, etc. (for more details, see Section III). The model aircraft aimed at supporting both multi-rotor and fixed-
software is available in [29]. wing aircrafts. It stopped in 2015 and reshaped again as the
roots of LibrePilot (see section IV-D).
F. No longer active OSS projects
This section shows the stopped open-source software
V. C ONCLUSIONS
projects that one can avoid searching for.
1) JAviator: It was a research project of the Computational This paper has presented UAV basics and reviewed more
Systems Group at the Department of Computer Sciences of than 15 different open-source hardware and software flight
the University of Salzburg, Austria [30]. The project was control platforms that can be used for academic research.
running from 2006 to 2013. The goal of the project was The paper has explored the processing capabilities, sensor
to develop high-level real-time and concurrent programming composition, interfaces, and compares the different features
abstractions and test them on UAV. The project delivered of the open-source UAV platforms. In addition, the paper has
three layers of software; JAviator Plant (JAP), Flight Control highlighted the stopped open-source UAV platforms.
401
ACKNOWLEDGMENT 2013. [Online]. Available: http://dx.doi.org/10.1007/
s10846-012-9759-5
The research leading to these results has received fund-
[15] L. Meier, P. Tanskanen, F. Fraundorfer, and M. Pollefeys,
ing from Free the Drone (FreeD) project (www.sdu.
“Pixhawk: A system for autonomous flight using onboard
dk/freed) that is funded by Innovationsfonden Denmark
computer vision,” in Robotics and automation (ICRA),
(https://innovationsfonden.dk).
2011 IEEE international conference on. IEEE, 2011,
pp. 2992–2997.
R EFERENCES
[16] Free Software Foundation, “GNU Operating
[1] Statistics MRC., “UAV Drones - Global Market Outlook System,” https://gnu.org/philosophy/free-hardware-
(2016-2022) ,” 2016. designs.en.html.
[2] PwC, “Clarity from above: PwC global report on [17] L. Meier, P. Tanskanen, L. Heng, G. H. Lee, F. Fraundor-
the commercial applications of drone technology.” fer, and M. Pollefeys, “PIXHAWK: A micro aerial vehi-
[Online]. Available: http://preview.thenewsmarket.com/ cle design for autonomous flight using onboard computer
Previews/PWC/DocumentAssets/433056.pdf vision,” Autonomous Robots, vol. 33, no. 1, pp. 21–39,
[3] C. Nam and S. Danielson, “Development of a Small 2012.
UAV with real-time video surveillance,” in American [18] P. Brisset, A. Drouin, M. Gorraz, P.-S. Huard, and
Society for Engineering Education. American Society J. Tyler, “The paparazzi solution,” in MAV 2006, 2nd
for Engineering Education, 2011. US-European Competition and Workshop on Micro Air
[4] H. Chao, Y. Cao, and Y. Chen, “Autopilots for small Vehicles, 2006.
unmanned aerial vehicles: A survey,” International [19] E. Baskaya, G. Manfredi, M. Bronz, and D. Delahaye,
Journal of Control, Automation and Systems, vol. 8, “Flexible open architecture for UASs integration into the
no. 1, pp. 36–44, 2010. [Online]. Available: http: airspace: Paparazzi autopilot system,” in 2016 IEEE/A-
//dx.doi.org/10.1007/s12555-010-0105-z IAA 35th Digital Avionics Systems Conference (DASC),
[5] J. Mészarós, “Aerial surveying UAV based on open- Sept 2016, pp. 1–7.
source hardware and software,” International Archives [20] AutoQuad, “AutoQuad code base.” [Online]. Available:
of the Photogrammetry, Remote Sensing and Spatial https://github.com/mpaperno/aq flight control
Information Sciences, vol. 37, p. 1, 2011. [21] HiSystems GmbH , “MikroKopter.” [Online]. Available:
[6] H. Lim, J. Park, D. Lee, and H. J. Kim, “Build your own http://wiki.mikrokopter.de/en/FlightCtrl
quadrotor: Open-source projects on unmanned aerial ve- [22] MatrixPilot , “MatrixPilot: An OpenSource Autopilot .”
hicles,” IEEE Robotics & Automation Magazine, vol. 19, [Online]. Available: www.github.com/MatrixPilot
no. 3, pp. 33–45, 2012. [23] A. M. S. Laurent, Understanding Open Source and Free
[7] S. Sabikan and S. W. Nawawi, “Akademia Baru Open- Software Licensing. O’Reilly Media, Inc., 2004.
Source Project ( OSPs ) Platform for Outdoor Quadcopter [24] ArduPilot Dev Team, “ArduPilot,”
,” Akademia Baru, vol. 24, no. 1, pp. 13–27, 2016. http://ardupilot.org/about/.
[8] X. Chengqi, Q. Cen, and Z. Yan, “Design and research of [25] MultiWii, “MultiWii flight controller source code.”
human-computer interaction interface in autopilot system [Online]. Available: https://code.google.com/archive/p/
of aircrafts,” in 2009 IEEE 10th International Confer- multiwii/
ence on Computer-Aided Industrial Design Conceptual [26] ——, “MultiWii web page.” [Online]. Available: http:
Design, Nov 2009, pp. 1498–1501. //www.multiwii.com/
[9] Z. Yang, F. Lin, and B. M. Chen, “Survey of autopilot [27] AutoQuad, “AutoQuad homepage.” [Online]. Available:
for multi-rotor unmanned aerial vehicles,” in IECON http://autoquad.org/
2016 - 42nd Annual Conference of the IEEE Industrial [28] LibrePilot Team, “LibrePilot Project,”
Electronics Society, Oct 2016, pp. 6122–6127. http://librepilot.org/.
[10] D. L. Gabriel, J. Meyer, and F. du Plessis, “Brushless [29] Dronecode, “Dronecode project.” [Online]. Available:
DC motor characterisation and selection for a fixed wing https://www.dronecode.org/
UAV,” in AFRICON, 2011, Sept 2011, pp. 1–6. [30] S. Craciunas, C. Kirsch, H. Röck, and R. Trummer,
[11] Festo, “SmartBird.” [Online]. Available: https://www. “The JAviator: A high-payload quadrotor UAV with high-
festo.com/smartbird en level programming capabilities,” in Proc. of the AIAA
[12] Clear Flight Solutions, “Robirds.” [Online]. Available: Guidance, Navigation, and Control Conference (GNC),
https://clearflightsolutions.com/methods/robirds Honolulu, HI, USA, August 2008.
[13] P. D. Groves, Principles of GNSS, inertial, and multisen- [31] University of Salzburg, “JAviator Project.” [Online].
sor integrated navigation systems. Artech house, 2013. Available: https://github.com/cksystemsgroup/JAviator/
[14] D. Perez, I. Maza, F. Caballero, D. Scarlatti, E. Casado,
and A. Ollero, “A Ground Control Station for a
Multi-UAV Surveillance System,” Journal of Intelligent
& Robotic Systems, vol. 69, no. 1, pp. 119–130,
402