  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.
