top of page

ArduPilot Code Fundamentals




6 Weeks

About the Course

This course is an introduction to the ArduPilot codebase, which is an open-source autopilot system for drones and other unmanned vehicles. Students will learn the basics of ArduPilot code, including its structure and syntax, and will be introduced to key concepts such as flight modes, control loops, and sensor fusion. Through hands-on exercises and projects, students will gain practical experience working with the ArduPilot code and will be well-prepared to continue their studies in this exciting and rapidly-growing field.


Week 1: Introduction to ArduPilot and its history

  • Overview of the ArduPilot project

  • Evolution of autopilot systems for drones and other unmanned vehicles

  • Key features and capabilities of the ArduPilot codebase

Week 2: Overview of the ArduPilot code structure and organization

  • Introduction to the ArduPilot code repository on GitHub

  • Understanding the directory structure and organization of the codebase

  • Overview of the main code files and their roles

Week 3: Flight modes in ArduPilot

  • Introduction to flight modes and their importance in autopilot systems

  • Understanding the different flight modes available in ArduPilot (manual, stabilize, auto, etc.)

  • Implementing flight modes in the ArduPilot code

Week 4: Control loops in ArduPilot

  • Introduction to control loops and their role in autopilot systems

  • Understanding PID control and its implementation in ArduPilot

  • Implementing attitude control and position control in the ArduPilot code

Week 5: Working with sensors in ArduPilot

  • Overview of the different types of sensors used in ArduPilot

  • Integration of sensors into the ArduPilot code

  • Best practices for working with sensors in the ArduPilot code

Week 6: Debugging and troubleshooting ArduPilot code

  • Common issues and challenges in working with the ArduPilot code

  • Debugging techniques and tools for identifying and fixing problems

  • Tips and tricks for troubleshooting the ArduPilot code

bottom of page