cancel
Showing results for 
Search instead for 
Did you mean: 

LPS22HB: Vastly inaccurate pressure and temperature readings: >25KPa (not HPa) and > 20C error.

DJens
Associate II

I am using two LPS22HB on one board to measure two pressures. In about half of the boards, both sensors work wonderfully. In the other half boards, one of two sensors operates perfectly normally but the other sensor reports barometric pressure and temperature readings in the 52XXXPa and 7C ranges (for office environments at roughly 300m above sea level these normally are 97XXXPa and 25C .)

On boards with failing sensors, the sensor that works *always* works, the sensor that fails *always* fails (so if the sensors were labeled sensor A and sensor B, on some boards sensor A has failed and on other boards sensor B has failed.)

The bad sensors communicate fine but report data that seems to be scaled incorrectly. They report this data continuously (not intermittently).  If you never examine the data they return, the sensors appear to be functioning normally. This operation is consistent regardless of various configuration changes such as data rate (ODR2:0=***) or how much filtering is applied (disabled to ODR/20).

I must repeat that the sensors communicate fine but report vastly incorrect information for BOTH pressure AND temperature, so this is not a calibration thing or a software thing. It appears some sensors are just really bad at math somewhere inside.

Please help me understand how the sensor can report such a crazy value and what I can do to help. Thanks.

Supporting data:

Below is a list of the readings of one board, sensor 1 then sensor 2 pressures, taken about 1 second apart. Note that although both sensors are reporting varying data, only sensor 1 is reasonable. Temperatures for bad devices report some 20 degrees below where they should (this can be seen in the I2C event table below.)

Sens1 Sens2

97718 52534

97718 52535

97718 52535

97719 52535

---Door to lab opened

97694 52534

97695 52534

97705 52534

---Door to lab closed

97716 52535

97718 52535

97719 52536

97720 52535

97719 52534

97718 52534

97719 52534

2 hours lapse

97696 52531

97695 52531

97695 52532

97697 52531

This operation follows on hand soldered prototypes where a tiny circuit board just larger than the sensor was soldered to the sensor to connect using a tiny flex circuit. All of these hand assembled boards fail identically to the failing sensors assembled to my production level boards soldered in a high quality, high volume PCB assembly facility.

Below are scope traces showing the actual signals:

The sensor reporting good data (976xxPa at address 1011101x)  
_legacyfs_online_stmicro_images_0690X00000A9SAv.png

Sensor reporting bad data 525xxPa at address 101100x)  
_legacyfs_online_stmicro_images_0690X00000A9SAb.png

I2C transactions as decoded by the scope:


_legacyfs_online_stmicro_images_0690X00000A9SB0.png

0 REPLIES 0