I’m wondering if anyone has had success using other depth/pressure sensors? Would any digital i2c sensor work, or do we need specific libraries, etc. for compatibility?
I was looking at sensors such as Honeywell’s MIP series (e.g. MIPAM1XX004BAAAX)
Hi @lemniscate100, welcome to the forum
I2C is a generic physical communication protocol, which means two devices that support I2C are generally at least physically capable of communicating with each other (although they may need an I2C Level Converter if they operate at different voltages), but whether they can make sense of the messages each end is sending is dependent on the software running on each device.
In the case of ArduSub (and indeed all ArduPilot vehicle firmwares), the usable pressure sensors are those that have an applicable driver in the
AP_Baro library directory. From a quick look it doesn’t seem like Honeywell’s MIP series transducers have an available driver, but ArduPilot is open source so you’re welcome to contribute one if you’d like.
If that’s of interest, the simplest reference will likely be the
AP_Baro_KellerLD files, which are the driver for our Bar100. The
AP_Baro_MS5611 files may also be a useful reference, but they’re a bit more complicated because they cover multiple sensor types (our Bar30 uses an MS5837 sensor, which is handled within those files). The relevant communication protocol information would need to come from your sensor’s datasheet.
Hi @EliotBR, thanks for the warm welcome and also the detailed answer.
Spent some more time researching different sensor options, waterproofing, and I2C communication protocols. We’re pushed for time and money (student university project), so we’ll likely use the Bar30 at this stage, and then hopefully get a chance to experiment with some other options and develop a driver if time permits.