> For the complete documentation index, see [llms.txt](https://docs.theseus.us/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.theseus.us/gcs-software/mavlink.md).

# MAVLink

[MAVLink](https://mavlink.io/en/about/overview.html) is a standardized protocol used frequently with drones. It works with many different flight controllers, programming languages, and links. Visit the mavlink docs for more info about how it works.

We also use a program called mavproxy that implements the mavlink protocol and includes lots of important features to make mav usable. The docs for mavproxy can be found [here](https://deepwiki.com/ArduPilot/MAVProxy).

Below is a diagram of a proposed mavlink system. The below setup is how we setup our drones for testing at Theseus.

<figure><img src="/files/iXTPcHIMv0XYAYxd8VBv" alt=""><figcaption></figcaption></figure>

Theseus provides two ways to connect to your system over mavlink:

1. Connect to the edge device (for debug)
   1. Devices running Theseus software route mav packets through mavproxy
   2. Mavproxy has an open udp input connection (1) that you can connect to with udpout
   3. Mavproxy on the edge device lists the flight controller (4) as the one and only master
      1. Cyclops/mvps (3) and the external mav connection (1) are listed as outputs
      2. Mav packets are only routed from an output to a master, or a master to all outputs
      3. You will not be able to see mav packets from the edge device, or send mav packets to the edge device if you connect over this link
   4. It exists solely as a pass through to allow you to connect to your flight controller through the edge device (mainly for convenience)
2. Direct connect to the flight controller
   1. Use this connection method for flying
   2. If using ardupilot, status text messages will be routed from the edge device to your ground station

### Connecting with Vozilla

<figure><img src="/files/tPUvwGfxnzJeclmi5uoF" alt=""><figcaption></figcaption></figure>

Use this dropdown menu in the top right corner of Vozilla to select a connection profile. However you connect to your flight controller normally is what you should use. You can also add output ports so you can connect on other applications like mission planner simultaneously.

### Other MAVLink info

mvps mavlink info

{% content-ref url="/pages/N1GmS41CBG7VyFgmIkDt" %}
[MAVLink](/micro-vps/autopilot-integration/mavlink.md)
{% endcontent-ref %}

cyclops mavlink info

{% content-ref url="/pages/9QMyFIrShlxm3bbAbiKb" %}
[MAVLink](/cyclops/autopilot-integration/mavlink.md)
{% endcontent-ref %}

vozilla (<2.0) mavlink page

{% content-ref url="/pages/OZzHzPKCdfyGrhjSmHo3" %}
[MAVLink](/gcs-software/legacy-software/vozilla-legacy/mavlink.md)
{% endcontent-ref %}
