.
Best Open Source Drone Projects
ArduPilot
Ardupilot was one of the early pioneers of open source drone software. The project began on Arduino hardware (hence the “Ardu” part), and has grown into a powerhouse in the drone industry.
A random historical note, APM is also used to refer to ArduPilot software.
The ArduPilot community is really supportive, and their forum is a great tool for getting involved.
ArduPilot can work on many different types of vehicles, including: multirotors, fixed wing planes, land rovers and even submarines. Ardupilot strives to make these vehicles purely autonomous.
There is also a diverse collection of flight controller boards that ArduPilot is compatible with. The ArduPilot flight stack is pretty advanced, as it uses the popular MissionPlanner as the ground control station and MAVLink as the middleware.
The open source license that ArduPilot operates by is GPL, which essentially means that any changes that are made to the ArduPilot codebase needs to be added back to the parent project.
There is a way around this GPL requirement, as a company could create their IP outside of ArduPilot. Then they could keep their innovation private, while using ArduPilot for the basic function of drone control.
GPL could make ArduPilot less attractive for businesses wanting to protect their IP from competitors. However, this hasn’t stopped drone giants like Matternet from using the ArduPilot flight stack.
While you can use ArduPilot for some FPV quad applications, typically it is used by those wanting a drone that can fly autonomously.
.
PROS:
- Great support
- Large amount of supported flight controllers. Ardupilot supported hardware boards
- Very advanced control algorithms
- Works on many vehicle types
- GPL License means more community driven innovation to benefit all users
CONS:
- GPL license (Only a con to consider for businesses)
- Not a great choice for FPV drone racing
PX4
PX4 is a part of the Dronecode project, a non-profit organization administered by the Linux Foundation. Dronecode aims to supply the emerging drone industry with a platform of open source software.
You wouldn’t want write a whole operating system to create a solitaire app on Linux. Dronecode supplies you with the ‘operating system’ framework, freeing its users for developing innovation on top of the platform.
An interesting anecdote is that ArduPilot used to be the featured flight control software project in Dronecode, which has contributed to an ArduPilot vs PX4 semi-rivalry.
One of the founders of ArduPilot remarked on the flight control transplant by saying the “Platinum members (of the Dronecode project) staged what can only be called a coup (in supplanting ArduPilot with PX4)”
PX4 came out of the Pixhawk project, which is an open source hardware project, as they needed some open source drone software to run their boards.
One of the key distinctions between PX4 and ArduPilot is that it operates under the BSD license. This essentially means that if you add a new feature to the PX4 project in a private fork, you don’t have to push your changes back to the parent PX4 project.
This feature makes PX4 more attractive to businesses looking to protect their intellectual property. Due to this reason, and their inclusion in the Dronecode project, PX4 is getting much more funding for development work than ArduPilot.
PX4 is also supported on a large amount of flight control boards. It also isn’t the best choice for FPV quad enthusiasts, as it is more focused on autonomous drones.
All things considered, PX4 and ArduPilot are still pretty similar in terms of functionality.
PROS:
- Great support
- Industry backed project
- Supported on many flight controller boards. PX4 supported hardware boards
- Usable on many different vehicle types
- BSD License allows businesses to protect their IP
CONS:
- BSD License. The project will lose out on innovation getting pushed back to the main branch
- Not a good choice for FPV racers
BetaFlight
Now we are getting into the FPV projects and away from the autonomous drone projects.
The BetaFlight flight controller software is focused on the performance of manual flight, making it a great choice for FPV quad fanatics. It is arguably the most popular open source software project for FPV drones today.
BefaFlight is primarily used with quadcopters, but can be used on fixed wing aircraft as well. It is a highly supported flight control software project on the popular FPV autopilot boards. Basically, if the board is using at least an STM32F3 processor, then BetaFlight will probably be supported.
BetaFlight is completely open source and has a vast amount of community support behind the project. There are tons of resources available online for the inevitable problems you may run into.
BetaFlight also supports the big RC products like FrSky, FlySky and Graupner.
PROS:
- Supported on any autopilot hardware board using at least a STM32F3 processor. BetaFlight supported hardware boards
- Great community support
- Dedicated to manual flight performance and safety
CONS:
- Not applicable for autonomous drones (Not really a con, just a reminder)
CleanFlight
The CleanFlight software project is also extremely popular for FPV quad applications.
It has its roots in the now deprecated MultiWii code, but has upgraded the firmware from an 8-bit to a 32-bit project.
CleanFlight operates under the GPL license, so any changes must be pushed back to the main branch.
Much like BetaFlight, CleanFlight is also supported on a wide variety of autopilot boards, as it is available on 8 different boards.
Their documentation is excellent and online resources vast, which will aid any troubleshooting you may have.
Ultimately, CleanFlight and BetaFlight are very similar, and choosing between the two may just be a matter of preference. Much like Dr. Pepper vs Mr. Pibb.
PROS:
- Supported on any autopilot hardware board using at least a STM32F3 processor. CleanFlight supported hardware boards
- Great community support
- Dedicated to manual flight performance and safety
CONS:
- Not applicable for autonomous drones (Not really a con, just a reminder)
Honorable FPV Software Mention
LibrePilot
The pieces of the OpenPilot project turned into the LibrePilot project. While not as popular as CleanFlight and BetaFlight, it is a viable option for FPV quadcopters as well.