SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By millercommamatt
#199807
I'm trying out the Qwiic Pressure Sensor - LPS25HB. I think it has a problem with the temperature compensation.

It's hooked to a Raspberry Pi 3 via I2C. I'm reading the data registers in Python using example code from ControlEverythingCommunity. It's just a simple read and translate using a few smbus functions.

I have two other pressure sensors recording concurrently. They're all within inches of each other on the same breadboard. I'm also comparing data to a meteorological observing site less than 1 km away.

Anyway, the LPS25HB doesn't track the other sensors and all the variations match variations in temperature. This sensor is supposed to have temperature compensation built-in. There are no registers related to temperature compensation.

So the questions are: Is this a bad sensor? Is this sensor working as intended and the temperature compensation is just faulty? Or, have I somehow managed to read this thing in such a way as to undo the temperature compensation? (I'm not sure that's possible, but I'm open to suggestions.) Or, is something entirely going on.

One final question for anyone who has experience, is there any reason to suspect that the pressure readings would fluctuate with changes in voltage.
By millercommamatt
#199813
Like all good forum questions, I think I've solved the mystery before I've received any community feedback.

I had a SparkX LPS25HB and a MS5637 pressure sensor connected to a Raspberry Pi along with an Adafruit BME280. The LPS25HB was demonstrating the temperature compensation anomaly I described and the LPS25HB and the MS5637 were seeing strange noise in the data. There were pairs of dips in the data - greater in magnitude than the usual sensor noise. The pairs were occurring 9 seconds apart and the pairs would happen every 60 seconds like clockwork. I was sampling all 3 sensors at 2 Hz. I can't think of anything that occurs periodically at those frequencies.

Anyway, The SparkX sensors were running of the Pi's 3.3V pin. Since the voltage regulator on the Adafruit BME280 has an output pin for use, I moved the power connections to that output. Viola, everything is behaving normally.

I was assuming that the 3.3V pin on the Pi would produce sufficient and stable voltages for loads much higher than three pressure sensors. Maybe there is strange noise on that pin? I wish I had an oscilloscope to investigate. Anyone have further insight?

So, SparkX developers, put voltage regulators on the next versions of these sensors.