Drone Programming Primer

Learn how to code your drone with python and open source software!

   Watch Promo

Prepare for Tomorrow’s Powerhouse Industry, Today!

We all know the drone industry is advancing with rapid pace, but where are the drone programmers to build our airborne tomorrow? College has dropped the ball for offering comprehensive and dedicated drone educations, so it's time to bootstrap your own drone learning!

This comprehensive crash course goes into every bit of software that is needed to make drones fly, from the low level firmware to high level applications in python. Once we have knowledge of the software infrastructure of any drone, we start to get our hands dirty and start programming drones with python scripts.

Open source software is changing the world, and the drone industry is not immune from this trend either. All of the software used in this course is free and open source. From ArduPilot (the firmware) to Dronekit (python applications), you’ll learn about the hot open source projects that are propelling (pun definitely intended) the drone industry to new heights.


It took me 6 months to compile the knowledge used to make this course. Now you have a shortcut to learn 6 months of content in 40 lessons!


So this sounds all cool, but what if I don't have a drone?

Great news, you don’t need a drone to take this course! This is because we will be using a simulated drone right on your computer to test our code with (Thanks ArduPilot!!). The simulated drone responds to the code just as a real drone would, so you get to debug your code in simulation land, instead of in your backyard where your drone tries to decapitate you in real land.

So who is this course for??

To be successful in this course, you do not need any previous drone knowledge. All the basic drone knowledge you’ll need to know is covered in the course.

The only prerequisite skills you will need is basic linux command line and python knowledge, so a basic coding background is the perfect fit. Coders will be surprised how the skills they already possess overlap with drone programming.

The course is NOT structured for non-technical (aka non-nerdy) people. Therefore, if terms like ‘linux command line’ or ‘python’ or ‘virtual machines’ scare you, this course is not for you, yet. Go take the prereqs (learn linux commands here and basic python here), and come back properly equipped to become a drone programmer!

**If you are non-technical but are eager to learn, you could use this course to teach yourself linux and python in tandem with drone programming as Eric Tidmore did below**



"I am so happy to have come across this course. I literally just picked up programming and thought DroneKit would make a good intro to learning how to use a command terminal and work with different scripting languages. Within a day of watching through the tutorials I am already installing Linux on a Virtual Machine and running scripts. That's pretty rad. "

--Eric Tidmore

What you'll learn

  • What autopilot firmware actually is and what it performs, specifically with ArduPilot
  • What all ArduPilot has to offer, like different flight modes and SITL (simulated drone)
  • How to test drone code on a simulated drone right from your computer
  • How to communicate with drones programmatically and remotely by using ground control stations.
  • Command line based (MAVProxy) and user interface based (QGroundControl) ground control stations.
  • What middleware is and how it is used as a programming agnostic dialect. We will be using open source MAVLink
  • How to to use python to script drone missions using the open source dronekit
  • Understand how the various software projects fit together to form a coherent system, called a flight stack
  • General knowledge of the different elemental pieces of the flight stack

Your Instructor

Caleb Bergquist
Caleb Bergquist

Caleb Bergquist feels very uncomfortable with writing about himself, but he hopes you will pretend to read the rest of this while thinking he did not write this himself, and not judge him for his self-bloviating autobiography camouflaged as a biography. He digresses. Caleb Bergquist has a BS in Chemical Engineering from the University of Tulsa, and currently works as a DevOps engineer at a software company by day. By night, he is a hobbyist/tinkerer in many areas, but has been magnetized towards all things drones, from hardware to software. The trend here is that there is no trend. I’ve.. I mean, he has spent much time binge-learning of the myriad of open source projects that are fueling the development of the drone space, and wishes to lower the barrier of entry to these subjects for those coming behind him. He wishes to do this by combining his experience as an instructor, with the democratization of the knowledge he’s accumulated on the fringes of new technologies.

Course Curriculum

Frequently Asked Questions

When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Do I need a drone to follow this course?
NO! We will be using a simulated drone on the computer to test our code. No drone is needed.


"Twenty-four before I took this course I had no interest in drones let alone drone programming. I came across this course and decided to give it a try. Now I am glad I did! After completing the course and practicing with the library functions for 4 hours, I have decide to purchase a DIY drone kit to experiment further. The instructor's presentation has a logical order that presents the drone flight stack from the bottom up. The course has a consistent pace with drone coding ideas and concepts presented by example. The instructor's voice is clear and easy to understand. I also found the pointers to the drone software development resources useful."

--James Brus

Get started now!