Source-linked AI summary
Micro Air Vehicle Link (MAVLink) in a Nutshell: A Survey
Anis Koubaa, Azza Allouch, Maram Alajlan, Yasir Javed, Abdelfettah Belghith, Mohamed Khalgui
TL;DR
MAVLink lacked a comprehensive technical survey and tutorial despite its use in unmanned-system communication and ground-station control. This paper provides a tutorial and literature survey covering protocol versions, tools, applications, Internet integration, and security, concluding that it serves as a technical reference for practitioners and developers.
Problem
The literature lacked comprehensive, structured coverage explaining MAVLink’s features, uses, versions, and related research.
Method
The paper combines a tutorial on MAVLink versions, messages, tools, and APIs with a categorized survey of research on extensions, security, applications, IoT, and multi-UAV systems.
Results
The paper presents a comprehensive survey of MAVLink characteristics, message formats, security requirements and threats, proposed solutions, and related research.
Takeaways & Limitations
The survey provides a technical reference for MAVLink-based-system users, practitioners, developers, and researchers.
Abstract
from arXiv · showhide
The Micro Air Vehicle Link (MAVLink in short) is a communication protocol for unmanned systems (e.g., drones, robots). It specifies a comprehensive set of messages exchanged between unmanned systems and ground stations. This protocol is used in major autopilot systems, mainly ArduPilot and PX4, and provides powerful features not only for monitoring and controlling unmanned systems missions but also for their integration into the Internet. However, there is no technical survey and/or tutorial in the literature that presents these features or explains how to make use of them. Most of the references are online tutorials and basic technical reports, and none of them presents comprehensive and systematic coverage of the protocol. In this paper, we address this gap, and we propose an overview of the MAVLink protocol, the difference between its versions, and its potential in enabling Internet connectivity to unmanned systems. We also discuss the security aspects of MAVLink. To the best of our knowledge, this is the first technical survey and tutorial on the MAVLink protocol, which represents an important reference for unmanned systems users and developers.
I. INTRODUCTION
MAVLink is a lightweight communication protocol for unmanned systems, but the literature lacked a comprehensive technical survey and tutorial. This paper addresses that gap by explaining MAVLink versions, messages, tools, applications, security, and Internet integration.
- Research gap: The literature lacked structured, comprehensive references that surveyed MAVLink concepts and recent research for users, researchers, and developers.Existing resources consisted mainly of online documentation and basic tutorials, while research contributions were not systematically classified.
- Paper scope: The paper combines a tutorial on MAVLink 1.0 and 2.0, message structures, and developer tools with a survey of research contributions.The surveyed work is organized into enhancement and extension, security, applications, IoT integration, and multi-UAV coordination and swarm categories.
- Protocol overview: MAVLink supports communication between unmanned systems and ground stations through serialized messages over multiple transport layers and media.It can use WiFi, Ethernet, TCP/IP, serial telemetry, UDP, or TCP depending on application requirements.
- Protocol versions: MAVLink 2.0 is backward compatible with MAVLink 1.0 and adds improvements, while MAVLink 1.0 limits one ground station to 254 managed drones.The MAVLink 1.0 System ID uses one byte, with 255 typically allocated to ground stations.
- Message structure: MAVLink 1.0 messages range from 8-byte acknowledgment packets to 263-byte messages with full payloads.The header contains eight important fields, including a start marker, message length, and sequence number.
2) MAVLink 2.0 Protocol Header:
MAVLink 2.0 extends the MAVLink 1.0 header with new flags, larger identifiers, and an optional signature mechanism while retaining shared fields.
- MAVLink 2.0 retains MAVLink 1.0 header fields while adding fields and changing the size of some existing fields.
- The MAVLink 2.0 start-of-text marker is 0xFD, replacing MAVLink 1.0's 0xFE marker.
- Incompatibility flags indicate structural features such as appended signatures, whereas compatibility flags can be ignored without preventing parsing.
- MAVLink 2.0 signatures contain a LinkID, timestamp, and truncated SHA-256 signature calculated with a shared 32-byte symmetric key.The 13-byte signature supports multi-channel control and timestamp-based replay-attack protection.
- Signed messages are discarded when timestamps regress, signatures mismatch, or the timestamp exceeds the permitted window.
D. MAVLink Messages Types
MAVLink messages are divided into state reports sent by unmanned systems and commands sent by ground stations, with heartbeat and status messages exposing system state.
- D. MAVLink Messages Types: MAVLink message IDs identify messages; IDs below 255 are shared across versions, while MAVLink 2.0 extends message IDs from 8 to 24 bits.
- 1) State Messages: State messages report system information such as identity, location, velocity, altitude, sensors, battery status, and communication errors.
- 1) State Messages: The HEARTBEAT message is required and is generally sent every second to tell the ground station that the vehicle is active.
- 1) State Messages: Heartbeat fields identify vehicle and autopilot types and encode base and custom modes used to parse flight modes.The base_mode is an 8-bit field with predefined flags, while custom_mode contains autopilot-specific values.
- 1) State Messages: The system_status field distinguishes states including booting, calibration, standby, active, critical, emergency, shutting down, and terminating.
- 1) State Messages: The global positioning message carries filtered GPS latitude, longitude, absolute altitude, and relative altitude referenced to the takeoff ground point.
2) Command Messages:
MAVLink command messages let ground stations request actions, missions, and waypoint navigation through command types and associated parameters.
- 2) Command Messages: MAVLink provides command messages for requesting actions or missions, including takeoff, landing, waypoint navigation, and multi-waypoint missions.
- 2) Command Messages: COMMAND LONG is a multi-purpose message with Message ID 76 and 11 fields, whose command type and parameters determine the requested action.
- 2) Command Messages: The LAND command has ID 21 and no parameter, while takeoff has ID 22 and uses param 7 for altitude.
- 2) Command Messages: Arm/disarm commands use param1 for a Boolean value indicating whether to arm or disarm the motors.
- 2) Command Messages: Mission Item messages have Message ID 39 and send sequenced waypoints whose coordinates are interpreted using a specified reference frame.The sequence starts at 0 for the home location, and the frame field identifies the coordinate reference frame.
E. Flight Modes
ArduPilot flight modes distribute control between the user and autopilot, ranging from manual stabilization to autonomous missions, guided navigation, landing, and return-to-launch behavior.
- STABILIZE: STABILIZE mode gives the user control of position, altitude, and heading while requiring compensation for system drift.
- ALTITUDE HOLD: ALTITUDE HOLD uses a PID controller to maintain altitude while the user manually controls direction and position.
- LOITER: LOITER maintains location, orientation, and altitude without user input, requiring a GPS 3D fix or optical flow.
- LAND and RTL: LAND forces the unmanned system to land, while RTL returns it to the takeoff position.These modes can be triggered by navigation-safety or geofence conditions such as low battery.
- GUIDED: GUIDED mode uses GPS to let the user send the unmanned system autonomously to a selected coordinate or waypoint.
- AUTO: AUTO mode autonomously follows a predefined mission consisting of waypoints stored in the autopilot.
III. SECURITY ISSUES OF MAVLINK
MAVLink security requires confidentiality, integrity, availability, authentication, non-repudiation, authorization, and privacy, but the protocol natively provides neither encryption nor authentication. Its unauthenticated wireless communications therefore expose UAV–GCS exchanges to interception, spoofing, traffic analysis, and unauthorized access.
- MAVLink security requirements cover confidentiality, integrity, availability, authentication, non-repudiation, authorization, and privacy.
- MAVLink natively supports neither confidentiality nor authentication, leaving UAV–GCS communications unauthenticated and unencrypted.
- An attacker with a suitable transmitter can communicate with the drone, inject commands into an existing session, and launch attacks.
- Interception attacks compromise confidentiality and privacy through eavesdropping, identity spoofing, traffic analysis, or unauthorized access.
2) Integrity attacks:
MAVLink integrity and authenticity can be undermined because attackers can intercept, replay, modify, or fabricate messages. Availability is also threatened by attacks that interrupt the UAV–GCS communication link.
- 2) Integrity attacks:: Man-in-the-middle attacks let adversaries listen to MAVLink traffic, reconstruct commands, replay packets, and modify control or telemetry data.
- 2) Integrity attacks:: Hijacking exploits successful man-in-the-middle attacks and absent authentication to inject commands while the GCS believes it retains control.
- 2) Integrity attacks:: Replay attacks reuse captured control data to produce unauthorized effects, potentially causing loss of control and a crash.
- 2) Integrity attacks:: Message modification and false location updates can make the UAV misinterpret control data or make the GCS believe false position information.
- Availability attacks interrupt UAV–GCS links through jamming, deletion, falsified signals, or denial-of-service techniques.
- Fabrication attacks replace legitimate data with malicious data, including false GCS commands that can illegitimately take over a UAV.
IV. MAVLINK SECURITY SOLUTIONS
Proposed MAVLink security solutions span hardware and software, including cryptography, packet signing, secure protocol variants, and intrusion detection. These approaches improve protection but introduce compatibility, computational, latency, energy, or deployment constraints.
- IV. MAVLINK SECURITY SOLUTIONS: Existing MAVLink security solutions are classified into hardware and software approaches, including classical, IDS-based, and blockchain-based methods.
- 1) Classical security approaches:: Cryptographic approaches address confidentiality and integrity using symmetric or asymmetric encryption, signatures, hashes, MACs, and authenticated encryption.
- 1) Classical security approaches:: Symmetric-key schemes use one shared key for encryption and decryption, offering easy implementation, fast operation, and low computation requirements for resource-limited drones.
- 1) Classical security approaches:: SMACCMPilot uses GIDL to encrypt MAVLink payload, header, and CRC, while proposed sMAVLink encrypts only the payload and had not yet been implemented.
- 1) Classical security approaches:: IBE can improve scalability and efficiency without certificates, but requires further refinement to become lightweight for resource-constrained UAVs.
- 1) Classical security approaches:: Poly1305 and GCM add authentication but increase packet size, communication latency, and autopilot energy use; GCM is the more computation-intensive mechanism.
2) Intrusion Detection System (IDS):
Intrusion detection systems monitor UAV communications or behavior to identify abnormal activity and cyberattacks. The surveyed approaches include rule-based, signature-based, anomaly-based, hybrid, and collaborative methods.
- 2) Intrusion Detection System (IDS):: IDSs monitor incoming communication and UAV behavior to identify indications of abnormal activity or cyberattacks.
- a) Rule-based specification detection:: Rule-based detection compares UAV behavior with specified expected-behavior rules constructed from defined attack models.
- b) Signature-based detection:: Signature-based detection recognizes known attacks by comparing captured events with predefined signatures, but cannot readily detect attacks without available patterns.
- c) Anomaly-based detection:: Anomaly-based detection models normal behavior from baseline features and can detect new or unknown attacks without predefined signatures.
- 2) Intrusion Detection System (IDS):: Surveyed examples apply neural networks, fuzzy learning, SVMs, belief-based threat estimation, Bayesian games, and Bayesian inference to UAV attack detection.
- d) Hybrid-based detection:: Hybrid IDSs combine rule-based, anomaly-based, and signature-based detection to identify known and unknown attack signatures and abnormal events.
3) New emerging security solutions:
The literature explores blockchain-based approaches to address MAVLink and UAV-network security concerns. These approaches target integrity, privacy, accountability, authentication, and detection of compromised or hijacked UAVs.
- Blockchain-based security: Blockchain is proposed as a distributed approach for addressing MAVLink security issues through tamper-resistant transaction storage.Transactions are collaboratively verified without a controlling authority, making data tampering extremely challenging.
- Blockchain-based security: Blockchain-based UAV systems are associated with privacy, integrity, accountability, authorization, authentication, confidentiality, identity hiding, and non-repudiation.
- Related approaches: One framework combines blockchain and cloud storage to support trusted sources, timing, data integrity, accountability, and a resilient backend.
- Related approaches: Other proposals use blockchain to secure UAV collaboration, relay drone information, and provide security and privacy in Internet-of-Drones networks.
- Related approaches: Blockchain principles can identify compromised UAVs through trust rules and detect incorrect information when a UAV is hijacked.
V. LITERATURE REVIEW
The literature extends MAVLink for multidrone cooperation, interoperability, and broader unmanned-system integration. Proposed systems include new swarm messages, MAVLink–STANAG 4586 translation, and simulation-based validation.
- Literature overview: Research contributions extend MAVLink, integrate it with cloud and IoT systems, and apply it to autonomous agents and swarms.
- Multidrone cooperation: Recent extensions specifically add MAVLink support for multidrone cooperation.
- Multidrone cooperation: One swarm extension defines formation and maintenance messages, including six enumerations, six commands, and thirty-three messages.The approach was not validated through simulation or experimental implementation.
- Multidrone cooperation: Another proposal adds messages and commands for collaboration and enables immediate replacement when a drone leaves a mission.A proof-of-concept simulation evaluated the proposed algorithm and analyzed system performance.
- Interoperability: A Raspberry Pi bridge translates MAVLink messages to STANAG 4586 so compatible ground stations can operate MAVLink-based UAVs.The system targets interoperability among UAVs associated with NATO member countries and was tested using SITL.
B. Cloud and IoT Integration
MAVLink supports cloud, IoT, simulation, verification, and application architectures for managing, controlling, and connecting multiple unmanned systems. The reviewed work spans cloud offloading, disaster response, communications, and environmental monitoring.
- Cloud and IoT systems: Cloud-based systems use MAVLink to send UAV data to the cloud, forward it to users, and relay user commands back to drones.Dronemap Planner also offloads computationally heavy tasks such as image processing from UAVs to the cloud.
- Cloud and IoT systems: A disaster-response system connects a UAV to the Internet with a 4G dongle and uses MAVLink between the UAV and ground station.It runs APM software on an EC2 cloud server and was tested with real drones on a 0.16 km area.
- Cloud and IoT systems: Other IoT architectures use MAVLink for communication between UAVs, servers, sensor devices, mobile phones, and onboard computers.
- Simulation and verification: Simulation and verification research evaluates MAVLink systems through network analysis, visual simulation, hardware-in-the-loop testbeds, and statistical or model checking.
- Applications: MAVLink is applied across agriculture, environmental monitoring, disaster management, and search-and-rescue missions.
E. Autonomous Agents
MAVLink-based systems support autonomous navigation, onboard and swarm control, and a broad software ecosystem. The reviewed tools include ground stations for mission planning, vehicle control, logging, visualization, and multi-system management.
- Autonomous agents: An autonomous architecture uses computer vision, environmental modeling, and 3D trajectory planning with a MAVLink-compatible vehicle.Its risk-aware planning process maps hazards and searches for paths that minimize risk, while MAVLink connects the autopilot and ROS.
- Autonomous agents: Other autonomous systems perform offline path planning on onboard computers and decentralized velocity control through MAVLink interfaces.Examples use Pixhawk flight controllers with Odroid XU4 or Raspberry Pi onboard computers.
- Autonomous agents: A collision-avoidance system for UAV swarms runs control algorithms on Raspberry Pi computers and communicates with Pixhawk through MAVLink.
- Software support: MAVLink software includes ground stations and simulation frameworks, with ground stations communicating through serial telemetry or network interfaces.Telemetry devices can provide communication ranges of up to 5 km.
- Ground stations: QGroundControl and Mission Planner support autonomous mission planning and vehicle control, while QGroundControl also provides mapping, GPS tracking, video, parameter, and sensor-calibration functions.
- Ground stations: APM Planner, MAVProxy, DroidPlanner, and UGCS provide platform-specific, lightweight, mobile, or multi-system ground-control alternatives.UGCS supports multiple unmanned systems and autopilots, while DroidPlanner supports serial, UDP, and TCP interfaces.
B. Unmanned Systems Simulators
The section compares simulators for unmanned systems, emphasizing that selection depends on objectives, application areas, and available functionality. It covers platforms ranging from lightweight UAV simulators to realistic, extensible environments.
- B. Unmanned Systems Simulators: Simulator choice depends on the testing objectives, application area, and functionality each platform provides.Table VII compares the unmanned systems simulators discussed in the section.
- B. Unmanned Systems Simulators: FlightGear is a free, open-source, cross-platform flight simulator whose aircraft models are defined through external 3D tools and XML.It is intended for research and academic environments and supports Windows, Mac, and Linux.
- B. Unmanned Systems Simulators: AirSim integrates with ArduPilot and PX4 through MAVLink and provides APIs for retrieving data, images, and vehicle control.Its limitations include quadrotor-only simulation, no ROS or cloud connectivity, and substantial computational requirements.
- B. Unmanned Systems Simulators: Gazebo supports ArduPilot and PX4 while simulating complex 3D worlds, multiple physical engines, and diverse sensors for robot and vehicle testing.It is an open-source tool used to test robot designs and artificial-intelligence algorithms in realistic scenarios.
- B. Unmanned Systems Simulators: jMAVSim is a lightweight PX4 simulator supporting MAVLink, SITL over UDP, HITL over serial, and ROS, but it cannot integrate additional sensors.Its main advantage is simplicity of use.