MAVLink-M
MAVLink-M is an open dialect of MAVLink 2 for coordination and situational-awareness messaging between uncrewed platforms and the command systems that work with them.
Where the common MAVLink message set covers flying the aircraft, MAVLink-M adds a shared vocabulary for what a platform observes and coordinates with others: tracks, positions, taskings, status, and structured reports. The messages are shaped so that a platform speaking this dialect can be understood by the wider force, translating cleanly, through a gateway, into the command-and-control message standards those systems already run on.
MAVLink-M is a message-schema dialect. It defines field layouts on top of open MAVLink; it is not an implementation, and it does not describe how any device works internally. See Scope and Boundaries for what the dialect deliberately does and does not carry.
Where to go next
- Message Reference: every message, enum, and command in
military.xml. - Getting Started: generate bindings for your language.
- Message ID Allocation: how the
53000-53999range is used. - Private Extensions: adding program-specific messages without touching the shared dialect.
Related projects
- mavlink-military-c_library_v2: pre-generated C headers, regenerated by CI on every change to
military.xml. - nucleo-mavlink-m-demo: a flight controller relaying MAVLink-M messages to a peripheral on real hardware.
- MAVLink Developer Guide: the underlying protocol, serialization, and microservices.