Here are my test results with the weather hat. I had to move the weather hat off the raspberry pi to reduce overheating. I attached the Weatherhat to Raspberry Pi GPIO pins with a cable. I noticed that the temperature was 8 degrees lower when first started. After two hours the BME280 sensor accuracy is 7 degrees lower then my professional weather. Please advise. Larry
Even the Pi Zero has an idle consumption of 100mA, that is 500mW. The cpu has a temperature of about 40°C doing nothing. So you will encounter heat creap.
Using a cable is the first step in the right direction. Even better, use a system that does not produce heat or operate in on/off mode. In addition, check the software. The Pimoroni libraries configure the BME280 sensor in a more than suboptimal way. They use “normal mode” while the datasheet recommends “forced mode” for weather monitoring.
I recently did a large scale sensor-test, see GitHub - bablokb/sensor-test: Test of various temperature/humidity sensors. While not being the best sensor around, the BME280 does perform according to it’s datasheet if operated correctly.
Which libraries do this? I would like to change this setting.
The bme280 libraries.
The strange thing is that you can expect higher values. But your problem seem to be far too low values, which is more peculiar (most people complain because of offsets in the other direction). Are the other values from the BME280 sensible? Humidity is of course related to temperature, but pressure is usually very exact (once you compensate for altitude) and comparable to what you get from internet weather services.