ESP8266 - BME280 Sensor Readings Wrong
Posted: Thu Feb 04, 2016 7:58 pm
I have been trying to make some small temperature/humidity/pressure monitoring modules using ESP-01 boards and noticed the temperature was a bit higher than expected (by about 2-3C). I ran the same code on an Arduino Uno and it came out closer to the actual value (measured with a mercury thermometer).
The code for the BME280 was taken from Adafruit's site and is virtually unmodified. I use the Arduino IDE 1.6.5. I tested it on two different makes of Unos, one Nano, two ESP-01 and one ESP-12. The ESP8266 based boards all read high temperature and low humidity. The pressure reading is fine. Here is an example:
ESP-01 & similar with ESP-12
Temperature = 23.49 *C
Pressure = 1004.99 hPa
Approx. Altitude = 69.00 m
Humidity = 44.80 %
Arduino Uno and similar with Nano
Temperature = 21.15 *C
Pressure = 1005.03 hPa
Approx. Altitude = 68.66 m
Humidity = 52.31 %
Nexus 5 (uses BME 280, but does not display Temp. or RH)
Pressure: 1005.3 hPa
Mercury Thermometer: 20.5C
I tried an SI7021 and had similar problems. The temperature is too high and the humidity low on the ESP boards. While I cannot verify the humidity readings independently, I am sure the mercury thermometer (placed next to the sensor) is correct.
Has anyone else run into this or have any suggestions?
The code for the BME280 was taken from Adafruit's site and is virtually unmodified. I use the Arduino IDE 1.6.5. I tested it on two different makes of Unos, one Nano, two ESP-01 and one ESP-12. The ESP8266 based boards all read high temperature and low humidity. The pressure reading is fine. Here is an example:
ESP-01 & similar with ESP-12
Temperature = 23.49 *C
Pressure = 1004.99 hPa
Approx. Altitude = 69.00 m
Humidity = 44.80 %
Arduino Uno and similar with Nano
Temperature = 21.15 *C
Pressure = 1005.03 hPa
Approx. Altitude = 68.66 m
Humidity = 52.31 %
Nexus 5 (uses BME 280, but does not display Temp. or RH)
Pressure: 1005.3 hPa
Mercury Thermometer: 20.5C
I tried an SI7021 and had similar problems. The temperature is too high and the humidity low on the ESP boards. While I cannot verify the humidity readings independently, I am sure the mercury thermometer (placed next to the sensor) is correct.
Has anyone else run into this or have any suggestions?