Plan • code • fly

Drone coding for students

Learn drone coding in Blocks, Python, Lua and mission files. Read the tasks, inspect starter code and preview flights before signing in.

Begin with Simple steps or Blocks, then move to Python, mission files and Lua as the tasks require. Each mission lists its actual language options. These exercises include real Python and Lua execution in the browser, as well as block programming.

First flights

Take off and land, photograph a water tank, fly a square with Repeat, visit all three tanks and fix a classmate's buggy program — sequence, distance, angles, loops.

Loops and logic

Map a rice field with Repeat, come home when the battery is low (if), patrol a fence with a while loop and a lap counter, then write a function for survey strips.

Real code — Python

DroneKit the way real drones are flown: connect, arm and wait for the climb, simple_goto and poll, log telemetry, deliver medicine, plan a survey with trigonometry and upload a mission.

Mission files — ArduPilot AUTO

.waypoints missions flown by the flight controller in AUTO: waypoints and photos, a route around a no-fly zone, DO_JUMP laps, a camera-trigger survey, and speed and loiter.

Autonomy — Lua

ArduPilot Lua scripts on the flight controller: a geofence watcher, a GUIDED square as a state machine, battery-aware return home and typhoon damage mapping in the wind.

How teachers use the missions

Start with the public explanation and ask students to predict what will happen. Compare the preview with that prediction, then sign in to change the controls or run a program. Ask pairs to record one change and explain its effect using the science or programming concept on the page.

Run them with a class

Read the grade bands and teaching connections, choose one activity, and share its preview with students. The description is public; opening the interactive activity requires a free account.

Drone simulator for schools

Practise manual flight in the free drone simulator.