Home        Store        Learn        Blog

Variance in BAR30 sensors

Has anyone done a variance check on multiple BAR30 sensors? We are using two on one system and one on another, so we have a bunch in stock. We noticed a significant offset between the two sensors when installed on a single system and tried to reproduce in a controlled environment in the lab.

Here are two sets of results, using four different BAR30 pressure sensors.

This test uses full oversampling and was performed in a pressure case. The yellow line is the pressure sensor in the Pixhawk (a ModalAI Flight Core). Our calibrated off the shelf pressure sensor (a home weather station) measured the same pressure as the Pixhawk.

This test uses reduced oversampling and was done in my home office.

A graph of the second test pressure, including the Pixhawk. I did not have a COTS reference sensor for comparison.

I have similar graphs from two other sensors, the initial ones we had tested, but those had been in the field numerous times. These four sensors shown in the graphs were new out of the package.

Is this behavior expected?

1 Like

The code we are using is based on the Arduino library, modified to run on a PIC processor. We then send the data via UART to a Pixhawk and publish to the datalog. I can attach it, if I get permission from my client.

Hi Andrew:

I can’t say I’ve ever measured two Bar30 sensors side-by-side, but this behavior doesn’t look unusual to me. A 30 bar sensor is just inherently going to have more absolute drift than a barometer (in essence a 1-bar sensor). The numbers you’re seeing are well within the spec values for a MS5837-30BA sensor. There’s a link to the actual sensor on the product page for the Bar30, if you haven’t see it already.

Note that these kinds of sensors use a polynomial curve fit for calibration, which can lead to unusual-looking curves for drift and variation with temperature. That’s probably why the curves you see for the two sensors have completely different shapes to them. The polynomial fit guarantees that the sensor output will be within spec, but nothing more.

If you’re working in very shallow water, you should probably check out the Bar02; if you need something that goes deeper than the Bar02 but need better accuracy than the Bar30, you might have to roll your own sensor. Measurement Specialties makes a number of different I2C pressure sensors and they’re not that hard to work with, if you’ve got some maker-y skills.


P.S. I made this initial post after looking at the bottom graphs. But the first graph does show drift that’s more extreme- I didn’t look at the scale carefully. Any guesses as to why the results seem so different between the two test environments? It would be interesting to see if that difference is repeatable.

Hi Andrew:
We have a lot of such sensors, and they do have such problems. They output different data in the same environment. We have compared more than 10 sensors for testing, and the biggest difference between them is 5mbar-8mbar. This is related to the way of use. Our solution is to first perform a zero adjustment operation before starting the measurement, use the initial value measured by the sensor as a reference (this is usually in the air or the top of the water), and then start with us The pressure value obtained during the dive is subtracted from the reference value on the water surface and then the dive depth is calculated.
For example, the pressure value we get on the surface is 1000mbar, we continue to dive and get a reading of 2500mbar, then 2500mbar-1000mbar=1500mbar, and then we use 1500mbar to calculate the diving depth.