Drone programming is the practice of writing firmware and software to control autonomous unmanned aerial vehicles (UAVs). It covers flight control (stabilization, navigation), sensors (GPS, IMU, cameras), mission planning (waypoints, behaviors), and perception (obstacle avoidance, object detection). Core components: flight controller (hardware running autopilot firmware), sensors, communication link (radio/WiFi), and ground control station (software that monitors and commands the drone).