# Using MAVLink and BlueOS for Position Hold on a BlueROV2

By default, the DVL will send [position delta messages](https://mavlink.io/en/messages/ardupilotmega.html#VISION_POSITION_DELTA) to [mavlink2rest](https://github.com/patrickelectric/mavlink2rest), a component of [BlueOS](https://github.com/bluerobotics/BlueOS-docker).  ArduSub requires these messages to enter Position Hold mode. \
\
The address and port of mavlink2rest are assumed to be 192.168.2.2:6040, which is the default in BlueOS. The address and port will need to be configured if they are different than the default. See [DVL Setup for Mavlink Support](/c/dvl-75/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/dvl-setup-for-mavlink-support.md).\
\
**Notes:**\
· The DVL must be on the same subnet as the mavlink2rest server\
· The IMU in the DVL does not need to be working or calibrated for this position hold function to work.

Other ROV operating systems running mavlink2rest may also work, but we are not able to provide support for those systems.

{% hint style="info" %}
We recommend using BlueOS version 1.1.0-beta.16 or later. Earlier versions of BlueOS may not have the functionality to support position hold using the MAVLink interface as described here.
{% endhint %}

{% hint style="info" %}
We recommend using ArduSub version 4.1.1 Beta or later. Earlier versions of ArduSub may not have the functionality to support position hold using the MAVLink interface as described here.
{% endhint %}

{% hint style="info" %}
Cerulean DVL Master Processor Firmware dated May 18, 2023 or later is required to use the MAVLink interface described here.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ceruleansonar.com/c/dvl-75/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
