BAR depth sensors with BlueBoat

We are trying to integrate the Bar pressure sensor or the BarXT pressure sensor into the Blueboat.

The simplest way would of course to be to plug it into the Navigator. According to the Integration guide, we only need to set the BARO_PROBE_EXT. This is of course written for the BlueROV/ ArduSUB vehicles. However, the parameter BARO_PROBE_EXT exists for the BlueBoat, too.

But that’s when it stops being clear-cut: How do I now get the depth value from this? I suppose AltitudeRelative that shows up in the Telemetry panel of QGC is the inbuilt Barometer of the Blueboat?

I have found the BARO_PRIMARY paramater, where I can also select Barometer 2 or 3. But since BARO2_DEVID and BARO3_DEVID are just 0x00000000 and can’t be changed, I think that will not lead to the external barometer value being displayed in the end.

  • Is what we are trying here even possible with the Blueboat firmware?
  • Could it maybe just be as easy as reading the proper MAVlink message of which I just don’t know the name?

Hi @jobotics -

Can you share why you want to measure pressure on the BlueBoat!? Where are you installing the sensor? If you’re extending the wires, you may run into difficulties communicating with the sensor, as they are at about the maximum length I2C can support already…

You’re correct that a driver in ArduRover is not present for this sensor. Altitude should not come from the Barometer on the Navigator, because the hull flexes and internal pressure changes - default parameters use only GPS for altitude.

I believe you’d need to modify and compile a new firmware that supports the hardware in order to get this working. I’m definitely interested in why you might want to do this!

This is not yet supported in ArduRover, though there is some ongoing work to enable it in at least an initial capacity.

@tony-white that Issue lists some potentially relevant use-cases, though I’m also curious whether @jobotics has something else in mind :slight_smile:

Thanks @Eliot!

Leak sensing can be added quite easily via lua script, I could see it being useful on a crawler for sure, but that’s not a BlueBoat! I’m skeptical it could work well for sensing hull depth, as the I2C wires would need to be quite long, and drilling holes in the hull below the water-line is a bad idea… an external enclosure could host the Bar30(s), but this adds significant drag?

Dear @tony-white and @EliotBR

Glad to hear that this is being worked on.

Unfortunately I can not share our use case at this point.

I think currently the best way would be to go with an Arduino or similar for interfacing with the sensor and then let that one talk to the BlueBoat.

I2C range is indeed a concern here. Would you have a recommendation to which serial protcol I could best translate the sensor signal to for covering a few meters in distance?

Hi @jobotics

I haven’t been able to test it out myself yet, but these modules from Sparkfun seem like a cool option for extending I2C range and might be interesting to explore: SparkFun QwiicBus - EndPoint - SparkFun Electronics

Hi @jobotics -

As Zach points out (welcome to the forums!) there are ways to increase the range I2C can travel - a couple are mentioned in this guide. Lowering the I2C bus frequency can also help!