Open source projects are propelling today’s drones

In this article, I explain why it’s never been a better time to learn how to code drones.

Coders have become a hot commodity in today’s society. This skill-set has proven to be a key to opening doors in many different industries. This is occurring in parallel with an exponential societal interest in drones.

However, many coders may not see their skill-set in this light. I mean, they’re just racers and glorified picture takers with closed software, right? Wrong. The open source software community in the drone realm is much more active and deep than you may be aware of.

Johan Arthursson 55348 Unsplash
Image by Johan Arthursson from Unsplash

Just as Linux was revolutionary to the computer space, these open source projects we will be looking at are just as revolutionary to the drone space. In this article, I will also be introducing you to the open source software projects that are propelling (sorry) today’s drones.

Caution! Selfless plug alert! If you want to bootstrap your own drone education, check out the Drone Dojo.

But First, Some Context

Drone technology has been around for a while, so it would be a fair question to ask why the recent parabolic drone growth is occurring.

It could be argued that the prime mover in drone progression has been the open source model fully and benevolently infecting the drone space’s software requirements, from firmware to high-level software. This open sourcing has rapidly decreased the barrier of entry for both businesses and programmers. It has done this on two fronts: money and time.

Photo and feature photo by nazahery from Instagram

Commercial solutions for flight control software used to cost thousands of dollars. Now they are available for free.

For drone-related businesses, this means they no longer need a Ph.D. CS to write the proprietary flight control software as a prerequisite to starting the business. Today, they get to outsource a lot of their technical requirements to the open source community and focus on the core business value-add.

For programmers, this means there are no longer gatekeepers between you and the project owning oligarchs. This causes rapid acceleration of feature adding and hardware support additions into the open source projects, as anyone/anywhere can modify the source code.

This has even propagated the creation of many new hardware companies, as they target the open source projects as primary targets for their product’s adoption. 

The open source model has caused an exciting democratization of drone software for anyone wanting to get involved. Now that you’re armed with the context, let’s get into it.

Jakob Owens 221519 Unsplash
Image by Jakob Owens from Unsplash

Introduction to the Open Source FlightStack

There are three main layers in the typical open source flight stack:

1.Firmware layer. This is the low-level interface to controlling the drones hardware. Activities in this layer are numerous, but a couple of examples are auto-leveling the drone 400 times a second or automatic obstacle avoidance. This layer is written primarily in C/C++.

2. Middleware layer. This is essentially the protocol that standardizes communication between your drone/vehicle and anything wanting to communicate with it. This layer is programming language agnostic, and both layers 1 and 3 incorporate the communication protocol into their code to allow for bi-directional communication.

3. Interface/Software layer. This is a high-level layer that can be used to communicate with the drone or command certain behavior. Examples could be receiving updates from the drone on its current battery voltage levels or commanding it to land. This layer can materialize into advanced GUIs or even simple command-line program.

Photo by nazahery from Instagram

Further Learning

If you’re excited and want to start learning how to code drones, I have a comprehensive course that takes you from zero to hero in drone programming here. The course is intended for beginners without very strong technical knowledge, so don’t feel scared by any lack of skills.

Plus, readers of Drone Advice will receive a 10% discount when using the coupon code DRONEPUB. You don’t even need a drone, as we will test our code on a simulated vehicle called SITL. Also, check out the Drone Dojo youtube channel for drone-related tutorials and content here.

Sherman Yang 503440 Unsplash
Image by Sherman Yang from Unsplash

Conclusion

The merging of drone technology with open source projects makes a coder’s skill-set easily portable to the exciting drone industry. While we may only see drones currently as picture takers, future applications will see highly advanced agricultural crop sprayers, precision fire-fighting for skyscrapers, package and food delivery and many other society-changing applications.

These will all require programmers to make these applications come to fruition, so it is a perfect time to get on the bandwagon and start learning how to code drones!

How important do you think the open-source flight stack is to the future of the drone industry?

* This article was first published on LinkedIn in longer form.

Thanks for reading!

Be sure to stay up-to-date with all things in the drone space by checking out the rest of the content found on Drone Advice. In need of your first or next drone? Make sure to use our affiliate links for DJI, Yuneec, Parrot, Autel Robotics or any other brand. Thanks for keeping us going.