×

Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

Member #1550958

Member Since: October 14, 2019

Country: United States

  • I have 11 temperature sensors in and near my house. They are of four different models, none of which are on your list.

    AM2302, AKA DHT22: These are inexpensive, but use a nonstandard protocol. The connection is simple enough -- one (unshared) digital pin, a pull-up resistor, power, and ground. The Arduino library is solid and easy to use, including several sensors on the same MCU. The temperature measurements are probably within a degree, though some sensors are repeatably a little higher than others. The humidity measurements vary wildly between sensors, but more in parallel. There's a way to get the sensor moisture content to a known state. You're supposed to do it when the sensor is new and then every year or so, but I've never done it, so that's probably my error.

    AM2320 -- this is basically a DHT22 with an I2C interface and slightly better specs. It's also pretty inexpensive. Temperature measurements are probalby within half a degree, and I've never paid much attention to the humidity measurements. The I2C interface promises to let a bunch of sensors share one pair of digital pins, but there's no way to change the I2C address. Again, hookup is pretty easy and the Arduino library is solid. This means you actually need more pins than with a DHT22. (You can share one of the I2C pins between busses, so N sensors means N+1 pins)

    DS18B20 -- This is the one I have outside, because I could find a sealed version. The sealed version was substantially more expensive than the others, but there are cheaper non-sealed DS18B20 sensors. It's temperature only, and uses the 1-wire protocol -- one digital pin, power, and ground. I don't recall any trouble with the software, and I've never tried hooking up more than one to the same bus.

    BME280 -- a little more expensive than the AM23xx sensors, and considerably better specs. Measures termperature, probably to within 0.1 degrees, humidity, and barometric pressure. IIRC, the humidity sensor doesn't the periodic moisture resetting. The pressure sensor is easily sensitive enough to measure a difference between the floor and ceiling, but calibration differences between sensors are several times larger. Uses I2C, but (at least with my breakout boards) only two I2C addresses were available, so you still end up needing an average of one pin per sensor. I don't recall any trouble with the Arduino library.

    The BME280 does have one quirk, though -- in the default mode, it reads high by about 2 degrees due to self-heating. Essentially, it's taking measurements almost continuously and using power doing so. To avoid this, put it into "weather station" mode; this is described in the datasheet and took a little figuring out.

    In spite of that, I like the BME280. It's probably what I'll buy if I ever need more indoor temperature sensors.

    There's a serious comparison of temperature+humidity sensors here, though it is focused on the humidity measurements more than the temperature portion.

No public wish lists :(