DVL integration (BETA)

The DVL integration with ArduSub is in a BETA stage and is currently unsupported for normal use. This document is provided to instruct beta testers and developers how to test the BETA stage integration. There is no guarantee that the DVL integration will work for any particular application.

Supported DVLs

The Waterlinked A50 DVL is the only supported DVL at the moment in the beta integration.

A50 DVL configuration

The DVL must be configured with a static IP address of Follow Water Linked's instructions here.

Companion Software

A beta version of the companion software is required to use the DVL integration.

Installing beta Companion software

There are two ways to get the DVL support.

Option 1

Flash the Custom build of Companion with DVL support.

Option 2

Follow these instructions to set it up from an existing Companion installation:

  • Make sure the ROV is connected to the internet
  • Navigate to
  • Click "origin" -> "branches" -> "dvl"
  • Click "update"
  • Wait until the update is over and the companion reboots
  • Refresh the page and "Water Linked" should show up in the navbar

DVL configuration in Companion

The DVL driver introduces a new interface to the page.

Driver Enable:

Enables or disables the DVL Driver

DVL IP Adress:

Inital IP where the driver will try to find the DVL. The driver always attempts to find Waterlinked-dvl.local (mDNS hostname) in the local network, if that fails, it falls back to the IP address in this field.


Orientation of the DVL: Down is the suggested use, where the DVL points to the ocean floor, Forward is an untested mode where the dvl is mounted forward to lock position to a vertical surface in front of it.

Use as Rangefinder:

Allows the DVL to be used as a rangefinder (shown in QGC).

Restart DVL Service:

Restarts the DVL service.

Set New Origin:

Used for dead reckoning; this makes the ROV show up in QGC at the selected location. The position displayed in QGC is calculated by the autopilot independently of the position showed in the Water Linked DVL web interface, which is calculated by the DVL itself.


Shows the current Driver status, useful for troubleshooting.

ArduSub Firmware

The DVL data is sent by the VISION_POSITION_DELTA mavlink message. This message is supported in ArduSub 4.1-beta and onward. The ArduSub 4.1-beta firmware is recommended for testing with DVL.

Installing the ArduSub beta firmware

Click beta under the update pixhawk section in the System Page.

PIDs and Other Important Parameters

These parameters must be configured to the recommended values for DVL integration to perform correctly:

Use mavlink2:


Use EKF3 for the odometry support


Enable odometry support


Disable external gps in ekf3


Suggested gains



Position Hold

After setup, reboot the ROV. The Status field in the Waterlinked page should read Running.... The QGC will announce "EKF3 IMU0 STARTED RELATIVE AIDING" and then "EKF3 IMU0 FUSING ODOMETRY". This means the DVL input is being fused and you can switch to POSHOLD mode to use it.

Tracking on map

To track the ROV position in the QGC map view, go to the Waterlinked page, place the pin in the starting position, and click "Set New Origin".

results matching ""

    No results matching ""