Software updates 15 April 2019

Aloha Blue Buddies! It’s your boy Jacob here to drop of another round of software updates! :fire::fire:. We have updates for the whole trifecta this time: ArduSub, Companion, and QGC. In this post, I’ll describe the updates, and all of the installation instructions will follow at the end:

ArduSub v3.5.4 (release notes)

This release carries one major update: the performance in Depth Hold mode is significantly improved, particularly when transitioning from a vertical maneuver to holding the current depth. Those who update will experience a much more stable and natural feeling depth control that is easier to operate. If you enjoy it, you can pass compliments to the wonderful chef @patrickelectric for preparing the improvement!

Pictured below, depth hold target transition in ArduSub v3.5.3. There is significant overshoot and ‘bounce back’ on the order of 20~30cm!. Fine depth control is impossible. The vertical scale is mm.

Pictured below, depth hold target transition in ArduSub v3.5.4. The overshoot has been reduced to ~2cm, and the pilot can achieve very fine centimeter-level control of the depth target. The vertical scale is mm.

We aren’t finished improving yet! We will be providing fine tuned parameter files that will provide further optimized control and performance for your BlueROV2.

QGroundControl v3.5.0 (release notes)

You might have noticed, QGC and ArduPilot were originally designed with flying vehicles in mind. Blue Robotics has developed the support for submersible vehicles like our BlueROV2 in ArduPilot that we know as ArduSub. Since then, we have been working on developing the support for ArduSub in QGC. This includes things like recording video to the hard drive, improving joystick support, and support for the Water Linked underwater GPS system. In the past, we have been providing our own builds of QGC in order to quickly address the needs of ArduSub users. Now, we have developed adequate ArduSub support in QGC, and our newest software engineer @WillianGalvani has been working heroically the last several months to bring our QGC modifications ‘upstream’ to the mainline codebase.

This update does not carry any significant feature updates for ArduSub users, it is a stability update with thousands of code changes since version 3.2.4. This update will allow us to benefit from the efforts of many other developers that are improving QGC. Refer to the release notes for details.

Companion v0.0.17 (release notes)

This update primarily addresses two matters:

  • add support for using Water Linked underwater GPS system with QGC v3.5.0
  • bugfix issue where camera settings are not saved/loaded correctly



  • Plug a fully charged battery into the ROV and connect the tether to your computer
  • Navigate to in your browser and ensure that the ROV has access to a WiFi network. If you do not see a webpage at this address, you need to perform the update according to the instructions here
  • Navigate to Click the button that says ‘Update companion’. Scroll down on the page to see the update progress appear in the text window
  • The update process will take between 10 and 20 minutes depending on the Internet connection speed. Wait for the update process to complete. When it completes, the browser will refresh
  • The companion version should now be 0.0.17
  • If the update fails (usually due to a loss of internet connectivity), you will be warned that the ROV will reboot and to leave the battery plugged in. At this point, once you are able to refresh the webpage, it is safe to either power down the ROV or attempt the update again


  • First, uninstall QGC from your computer. Then, download and install the new version of QGC:


There are a few notes to be aware of in the QGC transition:

  • Audio streaming is removed until a subsequent update
  • Your application settings will be reset to defaults, so you will need to configure the video feed and your telemetry:
    • On the Fly Page (click the paper airplane), you may click the gear icon next to the compass to select the voltage, current and other telemetry data that you would like to be presented in the main piloting interface
    • If the joystick icon at the top of the screen is red, you will need to re-calibrate and enable your joystick on the Joystick Page
  • Those ROVs equipped with Water Linked systems will need to use companion 0.0.17 or later to work with QGC 3.5.0
  • The record button has moved to the instrument panel:


  • Power on your ROV and connect it to your computer
  • Navigate to and ensure that the ROV has an internet connection
  • Navigate to Click the button under the ‘Pixhawk Firmware Update’ section that says ‘Stable’
  • Wait for the update process to complete, and you are finished!


A post was merged into an existing topic: Depth Sensor Error - When operating in Depth Hold Mode

Did you guys add an easy way to get ROV serial output for 3rd party software yet?

Hi Etienne,

We have a way to forward a serial port to the surface as a UDP port, but not a way to create a serial port at the surface. There are “virtual serial port” softwares but they are generally closed source, poorly documented, and not cross platform, so we have not tried to integrate them with Companion or QGC.


Hi Rusty,

What I mean is getting depth, heading, temperature, etc going to a UDP port directly instead of having to start one with a python script in a separate window. (Which is quite cumbersome)


Running the update with “stable” but I get this:

Downloading stable ArduSub firmware from
Stopping mavproxy
Flashing Pixhawk…
Loaded firmware for 9,0, size: 830240 bytes, waiting for the bootloader…
Timed out trying to catch bootloader!
Please try again.
Waiting to restart mavproxy…
Restarting mavproxy

There is some work in progress, will be available as a mavproxy server soon.
If you want to check the status:

Tried it again today and it worked.

Got the ping working through the ROV as a result which is good :slight_smile:

Perfect @etienne, I was coming with the advice to power cycle the system and try again. What you experienced is apparently some sort of timing issue with the autopilot bootloader.

1 Like

I’m digging the new features! Everything is working fine for me, except I get a whole cascade of about 20 errors relating to GStreamer when QGC is loading. They look like this:
I just click OK and then QGC loads and everything seems to work fine. This is on Windows, of course. Still the same after a couple of reboots.

I think I have seen this before when changing QGC versions. Try uninstalling QGC and make sure no files are left, then install it again.

1 Like

Yup, uninstall/reintstall fixed it.


9 posts were merged into an existing topic: No companion update button available

To use v3.2.4-BlueRobotics-Rev6 and Waterlinked, what Companion version is working with that?

@Boko any companion version since the initial water linked support will work with 3.2.4-r6.

1 Like


Have tried doing the software update but and after a lot of tries, I’m still getting the ‘timeout trying to catch the bootloader’ problem as described above by Etienne- have tried the reinstalling QGC, to no avail.

I get a temporary solution - when I refresh the webpage it says Ardusub version 3.5.3 - and I then get control of the ROV etc, but when I restart again it’s lost. I’ve had no luck trying to upload the saved file either.




Hi Jacob,

I am running the heavy configuration setup with all the new updates.

A few questions about QGC:

  • Each time I open QGC it tells me there is a new version available but I got the latest version v3.5.0 how do I get rid of this nag?
  • Can I display the record button where it used to be?
  • Is there a button assignment to reset pitch and roll settings? (right now I press the toggle pitch/roll button twice)
  • Is there a way to display the pitch and roll settings?
  • Depth hold seems a bit agressive even in the tank. Is this normal?