TMP102 and BME280 Temperature Reading

Hi,

I am trying to get temperature data from the Environmental Combo Breakout - ENS160/BME280 sensor but I am getting a weird temperature from my room. The BME280 says the temp is 79F but the TMP102 (accurate with my A/C thermostat) says 70F.

Am I doing something wrong? Do I have a bad sensor?

Where is the breakout? Is it near something warm?

Do the readings normalize if you leave it alone for 20 to 30 minutes?

Both sensors are at the same place for hours. So, no, it is not normalizing and there is nothing warm around them :frowning:

That’s odd.

It looks like the ENS160 has a heater inside, maybe shut down that chip for 5 to 10 minutes then take a temp reading?

How can I do that?

I think you need to set the sensor to sleep or deep sleep mode and let it cool off first.

The line below in the example mode would need to be modified.

// Set to standard operation
	// Others include SFE_ENS160_DEEP_SLEEP and SFE_ENS160_IDLE
	myENS.setOperatingMode(SFE_ENS160_STANDARD);

Of course to use the gas sensor again you’d need to go back to standard mode and let it warm up again.

I’ll check that first thing tomorrow but, as I need both readings - temp and environment, I guess this solution will not work for me. Thanks anyway!

I put the ENS sensor in deep sleep mode as you suggested, and, indeed, the temperature reading got close to the TMP102 sensor. However, this is not good for my project :frowning:

Is this an issue with my particular unit or does the heating from the ENS chip affect every board? Just trying to figure out if I send my unit back for a refund or a replacement.

Anything next to a temperature sensor that gets hot is going to affect the temperature sensors readings.

My advice would be to put the ENS to sleep when you first turn it on and check temperature and humidity right away. After you have temperature and humidity, wake the ENS up and let it warm up then take a reading from that and shut it down again.

Once it’s cool, start over with new temp/humidity reading and turn the ENS back on and repeat.

Sparkfun should probably have separated the two sensors more to prevent one from affecting the other. You might be able to compensate for the higher temperature in code after gathering some data. That would allow you to have them both on all the time.

Although, you don’t really need real time data, a measure every 10 to 15 minutes should work fine and that gives plenty of time for thongs to heat up and cool down for accuracy.