Current Setup:
BlueROV2 with Navigator
ArduSub 4.1.2
Waterlinked DVL A50
External Compass BMM-150
As described above I have an external compass (a BMM150) that I have potted and attached to my vehicle externally with BlueTrail Engineering connections (highly recommend). This has been a great addition to stabilize the EMF issues that have plagued the internal compasses.
When I was testing yesterday, all of a sudden I started getting a depth sensor error. I took the vehicle apart and assumed that my connections had come loose from the depth sensor. This was not the case and after wiggling the connections, I could not get the pressure sensor to calibrate. I can see readings fluctuating and I can press my finger over the sensor opening to cause a pressure spike, but the calibration always fails. I also tried both I2C ports and no difference.
Fast forward to today, I pulled a pressure sensor off another vehicle expecting it to help and it did not. Same issue. I can run i2cdetect -y 6 and I see the sensor at 0x13 and I can still see real-time readings in QGC and BlueOS.
After some reading, I saw that the thrusters can cause interference over i2c. To test this, I plugged the raspi in via USBC, so no motor power at all, and the issue persists.
Finally, I moved towards checking my other i2c sensor (the external compass). I found that if I unplug my compass, then the depth sensor calibration immediately works. And conversely, plugging the compass back in makes it fail again.
Any help or suggestions on this would be amazing. I am completely stumped at this point. Also, note that my compass works all the time, regardless of if the pressure sensor is plugged in