MAVLink Interface¶
ArduPilot supports the MAVLink protocol for communication with Ground Stations and Companion Computers. These pages explain the details of this interface and commonly used commands:
- MAVLink Basics
- Request Data From The AutoPilot
- Get and Set Parameters
- Copter Commands (Guided Mode)
- Plane Commands (Guided Mode)
- Rover Commands (Guided Mode)
- Get and Set Home and/or EKF origin
- Arm and Disarm
- Get and Set FlightMode
- Camera Commands
- Gimbal / Camera Mount
- MAVFTP
- Mission Upload/Download
- Move a Servo
- Non-GPS Position Estimation
- Precision Landing
- RC Input (aka Pilot Input)
- Winch Commands
- MAVLink Routing
- Other Commands
Complete lists of Messages¶
MAVLink not only has command messages but also incoming messages. A complete list of all MAVLink messages in ArduPilot by vehicle type, as of November 2024, are shown below:
External References¶
- MAVLink Common Message Set (HTML) and XML (Protocol Definition) 
- MAVLink Tutorial for Absolute Dummies (Part–1) by Shyam Balasubramanian 
Autonomous Mission Commands¶
Mission commands are stored on the flight controller in eeprom and executed one-by-one when the vehicle is switched into Auto mode. Although not directly related to the real-time MAVLink interface linked above, the available commands are a subset of the MAVLink MAV_CMD list
See also: Copter Mission Command List
Vehicle Parameter References¶
Software Integration Tools¶
- Pymavlink python script <https://github.com/ArduPilot/pymavlink>