I2C temperature, humidity and pressure sensors - Page 1
Forum section: electronics / projects

author: Fistr
author_rank: Newbie
timestamp: September 23, 2019, 03:44:24 pm
content: Hi,I plan to build my own outside unit for my weather station based on AVR microcontroller and I would like to hear your ideas and suggestions about what sensor(s) should I use. I need to measure temperature, humidity and pressure, as you can see from the subject, and the sensor must communicate via I2C interface. Low power consumption would be also good, but it is not neccessary. Sensors can work on both 5V and 3.3V voltage levels. I was thinking aboutBME280on breakout board. What are your ideas and recommendations?Thanks for your answers.

author: iMo
author_rank: Super Contributor
timestamp: September 23, 2019, 04:59:19 pm
content: I've been running the old BMP085 for many years and it works (temp and pressure).I think the BME280 is the way to go unless you want to measure at 30km altitude..

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: September 23, 2019, 05:15:15 pm
content: I second the BME280. It's a fine sensor, quite accurate, maybe a little bit spendy if you buy them through proper channels.

author: Fistr
author_rank: Newbie
timestamp: September 24, 2019, 01:09:50 pm
content: Thank you, I'll probably go with the BME280 but if anyone else has other recommendations I'll be happy to hear it.

author: ANTALIFE
author_rank: Frequent Contributor
timestamp: September 24, 2019, 01:40:12 pm
content: Working on similar thing, have chosen the BME280 & SGP30

author: floobydust
author_rank: Super Contributor
timestamp: September 24, 2019, 06:07:29 pm
content: I did not have good success with theBME280.The temperature sensor is just a vanilla diode and the accuracy was horrible. I tried Arduino and RPi, and made sure there was quiet 3.3V power.I found I get different temperature readings depending on whose software I useThere are many libraries out there for the part.It seems to be a bug where you read the factory CAL coefficients out of the sensor into some holding registers, and then apply them doing the math in your code.edit: temperature is used to correct both the pressure and humidity sensors, so all readings would be inaccurate. The part is also light sensitive, so keep the hole dark, and don't let PCB wash or flux get in.There are also many fake BME's masquerading as BMP's - check the chip ID register.*** Noticed Bosch just updated their BME280 driver 26 Aug 2019 Version 3.3.7 so they may have finally got it working properly."Added a wait until the NVM copy was complete."BME280's been out there for years...Libraries out there will take time to bring in the fix. The Adafruit library was the worst for accuracy for some reason, they are aware and going to check.

author: magic
author_rank: Super Contributor
timestamp: September 24, 2019, 06:33:05 pm
content: This guy tested a few sensors and found the Bosch to have temperature measurement error correlated with humidity. Given that the device also contains an apparently decent humidity sensor,http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html

author: dietert1
author_rank: Super Contributor
timestamp: July 05, 2020, 09:01:59 pm
content: Recently i connected a BOSCH BMP388 and a SHT35 sensor to compare results.I am using a MikroElektronika module MIKROE-3566 and that has one big stupidity: There is a power indicator LED driven from Vcc=3.3V over 470R, so quite some self heating. Needed to disconnect the resistor to get specified accuracy.The BOSCH vendor library was largely useless, because it blocks when the I2C bus isn't available. Yet in the evening of the first day i already got calibrated results and the BMP388 temperature readings agreed to 0.1 °C with the SHT35 readings. Pressure readings agreed to better than +/- 0.5 hPa with official barometric pressure results at meteostat.de.Regards, Dieter