Saturday, June 22, 2019

Open Source Drone Hardware Software Competition

Semiconductor manufacturer NXP has announced a set of open competitions among drone developers called the HoverGames.  The first is to develop software to allow drones to help fire fighters and is going on right now. 

Join the first HoverGames Challenge: Fight Fire with Flyers

Fires cause billions in damage, destroy entire towns and forests and put countless lives in danger, including first responders at the front line.

Join the first HoverGames Challenge and build a robotic drone system to help firefighters in their mission of saving and protecting lives. The NXP HoverGames drone development kit includes everything you need to get started on your flying robot. The Fight Fire challenge ends Oct. 31. See official rules for details.
NXP's practical interest here is to highlight their flight management unit (FMU), based on their Kinetis K66 Arm Cortex-M4 microcontroller.  Secondarily, they might get some open source software to use out of the contests.  They offer kits but use of their kits isn't mandatory.
The NXP Flight Management Unit.

The FMU is based on PX4 open-source software. PX4 grew out of the Linux community. 
PX4 is an open source flight control software for drones and other unmanned vehicles. The project provides a flexible set of tools for drone developers to share technologies to create tailored solutions for drone applications. PX4 provides a standard to deliver drone hardware support and software stack, allowing an ecosystem to build and maintain hardware and software in a scalable way.

Historically, PX4 grew from the PIXHAWK project at ETH Zurich, which the PIXHAWK MAV was specifically designed to be a research platform for computer vision based flight control. The project now counts more than 300 global contributors and is used by some of the world’s most-innovative companies, across a wide range of drone industry applications. The open source community around the Pixhawk open autopilot hardware and the PX4 flight stack is the largest industry-backed development community in the drone space today.

Even with the PX4 open source software, anyone who has spent time integrating hardware and software will tell you that your troubles are just starting.  That's where the kits come in: one of the most painful aspects of developing the hardware/software combination, getting them to talk to each other, has been done and the drone is close to being flyable as received.   (It might be flyable - I don't think the website was very clear on that).
In particular, all of the kit’s parts have been integrated, which is a big task. Developers could spend months just getting hardware and software to the point where a drone is flying. This includes the use of the PX4 autopilot software that’s managed by, which is also part of the Linux Foundation. In addition, hosts projects like MAVLink, a communication protocol used by PX4, and a ground-station control system.

A host like an i.MX 8 or NVIDIA Jetson TX2 running the Robot Operating System (ROS) can control the PX4 system via MAVLink using MAVROS. The FMU has headroom for applications, but it lacks the horsepower to analyze video streams that one of these other hosts can easily handle.
The assembled HoverGames carbon-fiber platform can build on PX4 software, enabling developers to concentrate on the problem instead of worrying about integration. The NXP web site lists the almost ready to fly kit at $460.

A sample of some drones already flying the PX4 software.  

The open source aspects of the HoverGames aren't even slightly surprising. I'm also willing to bet there's some really good software out there that's being kept proprietary for the company that wants to sell or lease it; these companies won't be involved in the HoverGames.  Still worth keeping an eye on. 


  1. Fascinating to see how far "R/C Models" have evolved. Back in the 1980's, I remember seeing the first gyros and 'auto pilots' for the big gas powered R/C choppers.

  2. Replies
    1. Aside from the obvious stuff about running on a different processor, you've exceeded my competence.