BM30 - Mistake Sensor

I purchased a BM30 sensor from blue Robotics and after putting it into production I noticed that it shows inaccurate readings related to the actual sea level.

The readings are -0.5 or -1 or 0.20 - Yes they are all close to zero.

Is there a way to perform a “Reset” when I’m actually at sea level?

Something like a “Zero Tara”?

Is it in the library?

I even know the setFluid function, I’ve tested several values ​​and nothing changes the values ​​presented.

The system works well (however), I don’t have exact accuracy.

@EliotBR and @jwalser

Do you remember anything along these lines?

Hi @allacmc,

We do not sell any “BM30” sensor - presumably you mean our Bar30 pressure/depth sensor? I will respond to the rest under that assumption.

The sensor itself does not do pressure offsetting, and our libraries currently use a hardcoded offset of mean sea level, so offsetting/taring to your actual ground/sea-level pressure currently needs to be handled in your own code.

That said, the feature would be convenient to have, so I’ve raised an issue about it in our MS5837 libraries, as a recommended enhancement for us (or someone else) to add when there is time available to do so.

I would like to know if anyone has this experience in any sense?

I put it like this: The fact of using the sensor in some equipment like the ROV for example. And do you need to change the data to get depth accuracy?

As mentioned in the issue I raised,

The autopilot firmware we use on our ROVs includes a “pressure calibration” option that allows setting the current pressure to register as 0m depth. That firmware is much more complicated than a single sensor library though, and includes abstractions for using other pressure sensor models (including on aerial vehicles), along with code for other configurations and control of the vehicle.


Since the depth is calculated as a linear scaling of the pressure, it should be quite simple to implement this feature in your own code as a settable offset that gets subtracted from the subsequent depth estimates. If you do implement it you’re welcome to submit a pull request to the library so it can be integrated and others can make use of it :slight_smile: