Choosing a flight controller for a GPS drone
A flight controller is the brain of any multirotor; it is the most crucial component. When my Alien 560 quadcopter fell from the sky, I figured it happened because its flight controller malfunctioned mid-flight. Therefore, when I decided to build a new drone and started choosing the components, a flight controller was the most difficult choice to make.
Racing quadcopters are the most popular segment of the market right now, and there is no shortage of racing flight controllers to choose from. However, racers don’t care about an autopilot. But since I decided to build a drone with a full set of autopilot functions, I needed a flight controller which supported GPS, compass and barometer. Still, there were a few options to choose from. First of all, some racing controllers have a built-in barometer and support GPS and compass. With iNav, a fork of popular Cleanflight autopilot software, they can be turned into pretty capable GPS-enabled machines. iNav is supported on a wide variety of flight controller boards and extensively tested by the development team on a few. Also, there is an excellent series of videos by Project Blue Falcon on Youtube on choosing a flight controller and GPS for iNav, connecting them to each other and setting them up. iNav with a racing flight controller is probably the cheapest option to build a GPS-enabled drone. However, iNav is still pretty immature, and GPS support may be unstable.
Another popular option for GPS-enabled drones is DJI Naza. DJI is the current market leader, and their Phantom and Mavic drones are well-known to consumers. They also make Naza-M flight controllers renowned among drone hobbyists for their stability and simplicity of use.
Unfortunately, a Naza wasn’t a right choice for my project. First of all, DJI controllers are designed for larger aircraft, and I was worried that I wouldn’t be able to fit it into the frame I chose. Besides, while Naza is excellent for smooth cruising camera drones, they are not famous for their agile acrobatic flight capabilities. And that was the kind of flying I eventually wanted to get into.
After all the consideration I settled on a flight controller from a Pixhawk family. Pixhawk was a flight controller designed by PX4 open hardware project and manufactured by 3D Robotics (3DR).
Before DJI Mavic won consumer’s hearts, 3DR were the leaders of the drone market. The pinnacle of their creation, Solo smart drone, released in 2015, was the most advanced consumer drone of that time. An unrivalled (at the time) simplicity of use combined with capabilities of Pixhawk flight controller and PX4 autopilot software was a truly winning combination. Unfortunately, 3DR has got complacent. They didn’t present a successor to an ageing Solo in the next two years. And when DJI unveiled Mavic, 3DR lost their leadership. Subsequently, the company has entered financial dire straits and then realigned themselves towards corporate rather than consumer market. I don’t think we are likely to see any new drones from them.
Despite the 3DR’s demise, PX4 series of flight controllers lives on. Thanks to the open hardware architecture, there is no shortage of Pixhawk clones available on the market. Getting one is not a problem. The problem is choosing the right one. There are all kinds of unbranded cheap Chinese Pixhawk knock-offs on Banggood and Aliexpress. Most of them work… most of the time. But for me, it just wasn’t good enough.If I learned anything from my previous build, it was that if I wanted a quality result, I needed top quality components. My first quadcopter, the Alien 560, was based on Pixhawk Lite - an unexpensive PX4 clone. I managed to make it work, albeit not without an effort. For example, practically all the connectors were laid out upside down of what they should have been. It worked perfectly until it malfunctioned mid-flight, and then the copter crashed. I learned the lesson, and I wasn’t going to buy a cheap no-name flight controller ever again. As for the quality options, there aren’t that many.
There are two flight stacks available for PX4 series of flight controllers: PX4 and ArduPilot. Flight stack is an autopilot firmware which runs on a flight controller. Ardupilot is more popular among DIY drone community since it is being developed more actively and it has more features than PX4. Ardupilot documentation lists the compatible hardware options on its wiki page. Unfortunately, that page is outdated. For example, the original Pixhawk is not manufactured by 3DR any longer. To make things more complicated, I needed not just a quality PX4 flight controller but also a small one, since I was going to put it into a small size frame. Unfortunately, most of the PX4 controllers are quite large. However, there are a few that were designed with small racing drones in mind. I narrowed down my choice to 2 options which ticked both quality and size boxes: Pixracer and Pixfalcon. These two are very similar, although Pixracer has a bit more advanced hardware and better connectivity. Unfortunately, ordering a genuine Pixracer was a too expensive option for me, and I didn’t want to settle for one of its countless no-name clones. On the other hand, Hobbyking offered a reasonable price on Pixfalcon package with a quality combo GPS/compass unit and a PDB (power distribution board) with a built-in power module, which is necessary to power the flight controller. Moreover, Pixfalcon looked suspiciously similar to the official 3DR Pixhawk Mini. Therefore, I settled on Pixfalcon.
Later I found out that CUAV released a Pixhawk Nano flight controller, which could also have been a viable choice, but it was too late.