WaterLinked DVL A50 integration not working

The change we did stopped and removed the old container, pulled @williangalvani’s current work in progress image, and started it as a container. Willian’s image is expected to work, but will be getting some internal cleanup and minor robustness improvements before we release it officially.

If you’re wanting to install Willian’s version on multiple systems that already have a previous dvl extension installed you’ll need to follow that process on each system, but for new systems it should be fine to just do the first and last commands (e.g. red-pill and then

docker run -d --net=host -v /root/.config/blueos:/root/.config --name=BlueOS-Water-Linked-DVL --restart=unless-stopped williangalvani/blueos-dvl:latest

). Note the williangalvani/blueos-dvl:latest at the end, which tells you which image it’s using.

You shouldn’t need to pull a new image until either Willian adds changes to his to fix an issue, or we release a new stable one from the main bluerobotics/BlueOS-Water-Linked-DVL repository (which should be this week or next). The container should automatically restart itself when you turn on your vehicle, so you shouldn’t need to run code via the terminal unless you’re changing something.

1 Like

Hi guys!

Thank you for the update @williangalvani, @EliotBR !

So as you can see from the screenshot it is - “Running”

But I am not able to set a "Set a current location ". In the QGC it shows me the location 0 0 and keeps mentioning that EKF is updating.

At the sensor tab it is saying few errors:

I think that I am missing something if you can prompt something about it i would highly appreciate. Thanks.

Hi @valeri2a,

One of the intended improvements with the updated extension is being able to specify the GPS position multiple times. I spoke with @williangalvani and we’re not certain what’s going wrong in this case, but we’ve got a couple of ideas that Willian’s planning to look into next week.

Out of interest,

  1. Is the issue occurring consistently, or just sometimes?
  2. Does it help to set the position as the first thing you do when you turn on the vehicle, before it gets put in the water / moved around?
  3. If you try to arm the vehicle, do you get any additional information about the pre-arm check error?


The issue occurred only once at the second reboot after driver installation. Firstly the GPS position was not tracked.

At the moment it is working and I am able to check the orientation and movements in the QGC.

I believe that the problem occurs as DVL gets heated in the air environment.

FYI - I was able to set the position for multiple times and it was showed in QGC.

Once the current location is changed in the driver page, QGC starts to talk about updating of EKF parameters.

Thanks for the extra information!

Hmm, was that just an autopilot reboot, or a whole vehicle power cycle?

I’m thinking if only the autopilot gets restarted then the DVL service may have issues with persistent information from the previous autopilot connection that could carry over into the new one and make it think it’s already been configured.

Glad to hear it! :slight_smile:

Please note that the A50 and A125 software version should be rolled back to 2.1.0 when using Companion and for the time-being you also need to roll it back to 2.1.0 when using BlueOS.

BlueOS will be updated shortly to work with the latest DVL software (currently 2.2.1) however Companion will not be updated and you will always have to revert ot 2.1.0 when using Companion.

Refer to the manual software update process as detailed here;

To manually download 2.1.0 for your DVL enter your DVLs CHIPID into this link;

1 Like


I just want to notify you that DVL A50 software v. 2.2.1 is working with BlueOS 1.0.1 and shoved in the QGC as well. There might be some difficulties while initializing the current location, but the data is showed correctly, at least in the QGC.

Anyway, we will wait for the update. Thanks.

Hey Elliot! Does the DVL-A50 works with stable 4.1.0 ArduSub? Or do I have to use Beta? Thank you!

Hi @fhmrocha,

I’ve moved your comment here, because it’s more relevant to this topic than the original thread :slight_smile:

ArduSub 4.1.0 stable should work fine (it’s actually the same as 4.1.0 beta at the moment). Note that as per Scotty’s comment above our old Companion software only supports the previous DVL firmware version. If you want to use the new one you’ll need to install BlueOS and its Water Linked DVL extension.

Ok, thank you very much!!
I would like to know if it is possible to do waypoint navigation with DVL.
And also, I activated the option to use the DVL as rangefinder, but I couldnt find what I must choose on QGroundControl to show the distance. How can I do it? Thanks

As far as I’m aware that should work, but for long term positioning accuracy it may be necessary to have occasional corrections from an absolute positioning system (like a GPS at the surface).

I believe it should show up in QGC’s telemetry widget via the DistanceSensor / RotationPitch270 option. It may also work via the ApmSubInfo / RangefinderDistance option, but I’m not certain.

1 Like

Worked as supposed, but the “Set initial position” does not work. Any tip on how to get it working?

It didn’t work for me, I added both parameters, but none showed any distance. Is there any way to test if the message is being sent? Or any parameter to set for the distance sensor get it from the DVL?
Thank you

Hi @fhmrocha . Can you share your RNGFND1_ params in QGC? A picture is enough.
RNGFND1_TYPE should be set to MAVLink, and RNGFND1_ORIENT should be DOWN

Is the Water Linked driver status “Running”?

A post was merged into an existing topic: Unable to connect to DVL A50

Hi @williangalvani ! The RNGFND1_TYPE was set to 0, I set it to 10 (MavLink) and now it works.

Would it be enough to install a GPS (like ublox m8n) on the GPS connector of the Pixhawk? What kind of parameters would I need to set to get the position from the GPS on surface, and from the DVL when the ROV is underwater? Does de EKF already works like this?

Thank you!

That will likely require some tinkering to get working, and is in my to-do list. The final solution will probably be having a Lua script that switches ekf sources depending on depth/gps signal quality. Unfortunately I’m pretty busy with BlueOS and my development ROV has no spare penetrators right now to get the GPS in there.

Great to hear :slight_smile:

Adding to Willian’s response, if you’re interested there’s some previous discussion about the current behaviour and the potential for surface GPS in this thread.

A post was merged into an existing topic: Vehicle doesn’t switch to guided mode for the purpose of mission planning

Hi !
After running “docker run -d --net=host -v /root/.config/blueos:/root/.config --name=BlueOS-Water-Linked-DVL --restart=unless-stopped williangalvani/blueos-dvl:latest”, the rov location can be found in QGC when rov location is fed through dvl-a50 gui. But when I try to run a waypoint mission, the QGC throws a warning: BAD NAV ALT 100.0 and the mission does not start!

Please suggest what is wrong with my approach to run the system with A50DVL!

Hi @Jogiraju, welcome to the forum :slight_smile:

I would recommend installing the DVL-A50 extension through the BlueOS extensions manager now, in recent stable versions of BlueOS. The command-line instructions were intended for before the extension manager existed.

I assume that’s a warning that you’ve tried to specify an altitude of 100.0 m for one or more of your mission waypoints, which an ROV or boat is unable to achieve (since boats are constrained to close to 0.0m of altitude, at the water surface, and ROVs go downwards from 0.0m into negative numbers representing the depth below the surface).