All Courses

Drone Programming Primer for Software Development – Course Site

Drone Programming Primer for Software Development – Course Site

Fly a simulated drone and learn of the open-source software projects that are empowering today’s drones!

What you’ll learn

Drone Programming Primer for Software Development – Course Site

  • Students will gain knowledge of the open-source software tools that make up the drone’s software stack

  • Know how to develop high-level drone applications in python

  • Be able to test code they write on a simulated vehicle running on their computer

  • Use this foundational introductory knowledge to investigate more advanced drone software subjects


  • Basic Linux knowledge of command-line commands (cd, mkdir, vi etc)
  • Basic python knowledge for the drone kit section. (Understanding of any other programming language should suffice)
  • The only equipment that is needed is a computer with an internet connection
  • NO DRONE IS REQUIRED. We use a simulated vehicle in this course


Welcome to the Drone Programming Primer for Software Development, where you will learn of the core open-source software projects that are fueling the progression of today’s drones!

The collection of open-source software projects empowering drones (which we will call the flight stack) is transcending its hobbyist roots and is branching out into business applications at a high rate. This is going to translate to demand drone engineers/developers who understand the open-source flight stack.

This course will serve to introduce and familiarize you with the flight stack, which includes the following:

  • Firmware (To run the drones hardware)
  • Middleware (Communication glue between projects)
  • API to Firmware (High-level commanding of the drone with Ground Control Stations and Python scripts)

Think of this course as a gateway to becoming a drone engineer/developer. We will cover all of the layers of the flight stack, with slightly more focus on the API to the Firmware layer. We will use a simulated drone as our test vehicle, so you can start drone coding right from your computer!

There are 5 main sections that contain over 3 hours of total video content.

Each topic contains:

  • A high-level introduction to the subject
  • A low-level dive into the details and application of the subject

Here are some of the topics that you will learn about in this course

  • Understanding of the importance for each component that makes up the flight stack
  • The open-source autopilot software project of ArduPilot
  • How to fly a simulated drone from your computer running the ArduPilot codebase
  • MAVLink middleware and how it is used as a communication glue in the flight stack
  • Ground Control Stations and how they use MAVLink to interact with drones
  • Python scripts that use DroneKit and model your drone as an OOP object in a python script, allowing you to command a real drone from python

This course is not appropriate non-motivated non-technical people

This course assumes that you have some prerequisite knowledge of very basic Linux command line commands (like cd, mkdir, ls, etc). There are plenty of online sources for getting up to speed if you are interested in drones but lack this knowledge. Basic python knowledge will also be useful once we get into the last section of the course (dronekit).

You must know about the basic tabbing rules and syntax in python, and knowledge of how to make functions will be a plus as well. If you have basic programming knowledge, picking up the python syntax should only take about 30 minutes for a basic understanding.

What about the required tools to follow along in this course?

All you need is a computer! The software tools we will be using and learning about are absolutely free, and we will be testing our code on a simulated drone.

Who is the target audience?

Anyone falling into the below three sections who want to obtain knowledge on the open-source drone software projects that will make them valuable assets to the drone industry.

1.       Experienced Engineers/Developers looking to pivot their skillsets into tomorrow’s high growth job market of drones

2.       Hobbyist or Coders with cool drone DIY projects in mind

3.       Motivated non-technical people who can independently learn the basic Linux and python knowledge to best follow along with this course

Who this course is for:

  • Engineers or Developers looking to retool their skills for drone software development
  • Hobbyists or Hackers with cool DIY drone projects in mind who want to learn more about open-source drone software
  • Anyone who is motivated and wants to learn how to start coding with drones

  • Learn Advanced HTML5 Course Site

Drone Programming Primer for Software Development – Course Site

If the links does not work, contact us we will fix them

Content From: