MAVLink Support
R2026bThe Micro Air Vehicle Link (MAVLink) communication protocol is a message protocol for sending and receiving messages between UAVs. The protocol uses a publish-subscribe pattern for data streams with specified topics and message types. There are different sub-protocols for missions and parameters. Use the MAVLink supported functions to specify predefined or custom dialects, setup clients, and send or receive messages.
To protect UAVs from unauthorized messages, MAVLink uses message signing. Note that message signing is not the same as message encryption and MAVLink does not provide message encryption. For more information about MAVLink message signing, see MAVLink Message Signing (Authentication).
The MAVLink message definitions (dialects) and MAVLink serialization helper functions in UAV Toolbox are obtained from mavlink/message_definitions/v1.0/ and mavlink/c_library_v2 version of repositories respectively.
The message definition XML files and the C-language version of serialization helper functions are made available under the MIT license.
Objects
Functions
mavlinkmicroservice | Create MAVLink Microservice Object (Since R2026b) |
addmavlinkkeys | Add MAVLink keys from .env file (Since R2023a) |
lsmavlinkkeys | List MAVLink keys in MATLAB session (Since R2023a) |
rmmavlinkkeys | Remove MAVLink key from MATLAB session (Since R2023a) |
Blocks
![]() | MAVLink Blank Message | Create blank MAVLink message bus by specifying payload information and MAVLink message type |
![]() | MAVLink Deserializer | Convert serialized uint8 MAVLink data stream to Simulink
nonvirtual bus |
![]() | MAVLink Serializer | Serialize MAVLink packet messages by converting a Simulink nonvirtual bus to a
uint8 data stream |




