Sensor reading consistency

Apologies, this is not really a Node-red issue except that a NR dashboard illustrates it.

I have 3 BME280s and a BME680 sitting next to each other, each connected wire-wrapped to an ESP8266 and sending sensor readings by MQTT.

As shown in the image, one of them (a 280, not the 680) has wildly different temp and humidity readings.

Do people think this is likely to be a bad sensor board, or could it be dodgy wiring to the ESP?

As the pressure is pretty consistent, I'd say a bad temp/hum sensor.

I have read that some Chinese copies can be 'a bit wayward' in their specs.

It is possible to write your own calibration (in NR) for each sensor, but you would need to use/decide on a reference.

The spec for a 'proper' device is +/- 0.5 deg C (Page 12). I also read that fixing a sensor to a hard surface can affect the calibration (Soldering process for the breakout PCB??)

EDIT: Temperature is sensed from the voltage change in a Silicon Diode.

So it's not just sensors, it's sensor boards ?

Are they commercial boards, or home made?

If commercial, is it a reputable make from a reputable supplier?

That would certainly be the first thing to check!

Untitled 3

These are the cheapest Chinese BME280 sensors, on a small board with I2C and SPI.
Not a genuine Bosch sensor.

I tried switching the BME supply from 3.3 to 5V (supposedly they can accept 5V) which made the temperature considerably higher. I took a close look at my soldering of the header, not saying anything but it's definitely going back to the soldering iron. :flushed:

Sorry, I meant the manufacture of the Breakout PCB. If the case has stress on it, the readings can change.

Personally, I would go with creating a 'Node-RED calibration'. All to do with slopes and Intercepts. I would imaging that an offset for each sensor to make then read the same temperature at some point would be a start.

To be honest, do they need to be the same calibration? Or is it just because they are next to each other and you have noticed.

I currently have four of the same type of Chinese breakout PCBs connected to ESP Wemos, they are all in different places (Lounge, Bedroom, Cloakroom and Kitchen) and as long as they are close, it is good enough for me.

Initially I noticed that the pressure, where they are consistent, is different from the local weather station's reading. That's because his reading is sea level adjusted and mine are absolute pressure.

So realising that I need to apply some sort of calibration factor, and in the absense of a reliable temperature/humidity sensor, I set them up together to give average readings.

That's when I saw that one of them has temperature readings up to 15 degrees out, which is clearly unreasonable.

I agree that accuracy is not really important, it's just sloppy not to extract the best data available from the sensor.

1 Like

Agree that particular one is really wayward, hence the big change in Humidity.

Sensors are cheap enough, I would change it. But, I bet you only have 4 and need 4!!

Murphy's Law: If n items are required, there will only be n-1 items in stock.

1 Like

Nah. Murphy's law of Aliexpress: Free 15 day postage for 4 boards.

1 Like

It doesn't look like just a calibration issue - it definitely looks like a fault somewhere!

What happens if you actually test all the sensors over a wide temperature range - say from the fridge (near zero) up to the hottest you can get?

If they're cheap, just replace.

But don't do it too often, because then they are not so cheap. :slight_smile:


I have tried repeatedly to use those sensors but ultimately I never found a supplier to provide reliable parts. The specs may be good but so many copy cats selling inferior parts I gave up. I kept trying to order BMP parts and they would send BME parts claiming they were the better part. And even the parts I got would fail in a short time. And one part had a spectacular failure. Your call but I'd look for a different sensor.
[Edit] or at least have a plan b

1 Like

After resoldering the header pins the bad sensor is actually much better but still reading 2.5° higher than the others.

I reluctantly conclude that my soldering skills are sub-optimal and the rework is still under suspicion.

Still, a worthwhile discovery that bad connections can leave the sensor working but inaccurate.

Thanks for the advice and observations.

Ah yes - the true cost of buying cheap stuff!

If it's a consistent error, then you could calibrate that out...

(the graphs in the OP don't show a consistent error)

The BME280 has problems with self heating, google for it that's the reason the temperature and humidity changes over time.
The easiest way to overcome this problem is changing your ESP8266 code so that the BME280 will be in deep sleep and only will be waked up for a measurement and after that going back in sleep again.

But why would only one of the BME280s be affected - and not the other two?

I agree that 15 deg is too much. I'd expect a degree or two variance.

The problem is that there are so many variables to account for. Just resting the sensors on a different surface can have a really large impact. Or having one closer to the microprocessor than the other. I have some sensor platofrms being reworked on my desk right now and I saw that they had different temperatures - at least one of them is affected by my 32" super-wide monitor! Another by the output from my TinyPC and another by being closer to the window. Doh!

Which sensors are you using ?

I just swapped a bmp280 in the bathroom with a SHT30 as the 280 started giving very high humidity readings.

If there's a little bit air flow over the sensor it will cool down to the surrounding temperature where you are interested in.
Most likely your other 2 sensor's have a bit airflow.
Read the Google topics about this problem with the BME280, it's not my invention.