Contributed by Amit Lal
You must have heard about drones; and if you have developed more interest in drones, then you must have come across a term 'Flight Controller'. Flight Controller is referred to as the brain of the drone. Every functionality of the drone from take off, flight, stability, landing, etc. all depends on the flight controller.
Each flight controller works on some codes that run in it and these are managed by specialized software called Flight Control Software or Flight Controller Configurator. There are loads of different flight controller software out there. Each usually focuses on some specific hardware, technology or aims. In this article, we have composed a list of top three of the flight controller firmware and software out there, along with a few comments about each of them. This will help you get a good picture of what is available so you can make up your mind about which you want to use or get involved in. We will talk about the Flight Controller Configurators that are used in professional drones for industrial uses and not on racing and freestyle software. Talking about the Top 3 we have
Ardupilot is probably the most popular drone autopilot software. It has been around since the beginning and has an active development community. The software can control just about any vehicle, both fixed-wing planes, quadcopters and everything between including hybrids, ground rovers and boats. The firmware is divided into three branches: Ardupilot for fixed-wing aircraft, Arducopter for multirotors and helicopters, and Ardurover for ground-based vehicles. Who should use ArduPilot?
If you want to have a fully featured autopilot system with 3D waypoint navigation, and a wide range of hardware and software support, the ardupilot is the best one out there. It also has the largest developer community and is used on many commercial systems.
For further details: https://ardupilot.org/
PX4 Flight Stack
The PX4 flight stack is another powerful, fully featured autopilot. This project supports multiple vehicle types, and also has an active developer community. The most famous platform that runs the PX4 flight stack is some of the drones from Yuneec.
On the surface you can consider PX4 flight stack to be similar to ardupilot as there is a lot of hardware that can run either PX4 or Ardupilot firmware. Similarly, since both systems use the same telemetry protocol (MAVlink) alot of software is also compatible with both such as Qgroundcontol. It is only when you get to very specific functions you may notice some variations between the two projects. However in terms of core autonomous functions PX4 and Ardupilot are very similar.
Who should use PX4 Flight Stack?
There are many discussions between PX4 and Ardupilot to compare which one is better. I will not discuss that here as these are all a matter of opinion. However, the key differentiation is with the software license. PX4 uses BSD while ArduPilot uses GPL. This makes PX4 more attractive for commercial use since you dont need to make your modifications open source. With ardupilot, any changes need to be shared as open source. So if you plan to develop some special function that you want to keep private or sell, PX4 is the way to go.
This is why PX4 is more attractive for business use.
For further details: https://px4.io/
iNav is essentially a fork of Betaflight that focuses on adding autonomous drone functions rather than FPV racing features. This lets the software fly your drone to waypoints, or return home all on its own. This firmware supports most of the FPV racing flight controllers (that are much cheaper to buy than ardupilot boards). iNav also supports both multi-rotors and fixed-wing aircraft.
Who should use iNav?
If you already have a FPV racing flight controller (such as the SPF3) and want to have full autonomous control with an easy to use/ familiar cleanflight style GUI, iNav is a great option.
For further details: https://github.com/inavFlight/inav/wiki
This is all about the best flight controller configurators that are most widely used.