Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. More reliable relative humidity measurements?

More reliable relative humidity measurements?

Scheduled Pinned Locked Moved Hardware
18 Posts 8 Posters 3.1k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    nerukam
    wrote on last edited by
    #1

    Hello,

    I am playing with a few DHT22 sensors, and I find them very inaccurate. The spec says they're +/- 0.5C and +/- 2%RH but I find that to be false. And they don't even all agree with the measurements even when put in the same spot and checked at the same time.

    What alternatives are there for a sensor that reliably measures RH and temperature (all in one package if possible, and battery friendly)?

    I'd like to use it to monitor the inside of a fridge, and inside rooms.

    M 1 Reply Last reply
    0
    • gohanG Offline
      gohanG Offline
      gohan
      Mod
      wrote on last edited by
      #2

      SHT31 are pretty accurate, there are also Si7021 or SHT21

      1 Reply Last reply
      0
      • R Offline
        R Offline
        robosensor
        wrote on last edited by
        #3

        You can try also Bosch BME280 - all in one sensor for temperature, humidity and pressure

        sundberg84S 1 Reply Last reply
        0
        • R robosensor

          You can try also Bosch BME280 - all in one sensor for temperature, humidity and pressure

          sundberg84S Offline
          sundberg84S Offline
          sundberg84
          Hardware Contributor
          wrote on last edited by
          #4

          @robosensor +1 for BME280

          Another way might to either see if you have a offset you can adjust or compensate for in the software. If the readings are all over the place you could take an average for some time also in the software.

          Controller: Proxmox VM - Home Assistant
          MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
          MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
          RFLink GW - Arduino Mega + RFLink Shield, 433mhz

          N 1 Reply Last reply
          1
          • sundberg84S sundberg84

            @robosensor +1 for BME280

            Another way might to either see if you have a offset you can adjust or compensate for in the software. If the readings are all over the place you could take an average for some time also in the software.

            N Offline
            N Offline
            nerukam
            wrote on last edited by
            #5

            I wouldn't know what to offset for, I have 5 sensors and they all have different offsets. What's more, the offset varies with temperature and RH, i.e. it's not a linear offset.

            1 Reply Last reply
            0
            • N nerukam

              Hello,

              I am playing with a few DHT22 sensors, and I find them very inaccurate. The spec says they're +/- 0.5C and +/- 2%RH but I find that to be false. And they don't even all agree with the measurements even when put in the same spot and checked at the same time.

              What alternatives are there for a sensor that reliably measures RH and temperature (all in one package if possible, and battery friendly)?

              I'd like to use it to monitor the inside of a fridge, and inside rooms.

              M Offline
              M Offline
              manutremo
              wrote on last edited by
              #6

              @nerukam I'm also using the BME280 with good results for the moment. I say "for the moment" because there are reports around saying that these sensors tend to drift/fail after 2-3 years because of sensitive element degradation or dirt accumulation.

              I never calibrated mine but the readings it provides seem ot be consistent with other weather stations around, considering that humidity measurement should not be expected to be a high accuracy measurement type.

              Some users recommend protecting them with a sheet of PTFE - if I remember correctly, Bosch sells a variant which includes a PTFE protection filter as an option, to protect the sensor when used outdoors or close to saline environments for example.

              1 Reply Last reply
              1
              • N Offline
                N Offline
                nerukam
                wrote on last edited by
                #7

                The BME280 looks interesting and costs 2$ on eBay. Any experience running it on batteries?

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  manutremo
                  wrote on last edited by
                  #8

                  Mine has been running on batteries since day 1.

                  1 Reply Last reply
                  0
                  • gohanG Offline
                    gohanG Offline
                    gohan
                    Mod
                    wrote on last edited by
                    #9

                    with sensors with a +/- 0.5°C error I bet measurements are all over the place, that's is why I suggested the SHT31as it should help you narrowing down the errors for the other sensors. The BME280 is one of the most power hungry (when it is measuring) of the sensor I mentioned, so all depends on how often you read data

                    N 1 Reply Last reply
                    0
                    • gohanG gohan

                      with sensors with a +/- 0.5°C error I bet measurements are all over the place, that's is why I suggested the SHT31as it should help you narrowing down the errors for the other sensors. The BME280 is one of the most power hungry (when it is measuring) of the sensor I mentioned, so all depends on how often you read data

                      N Offline
                      N Offline
                      nerukam
                      wrote on last edited by
                      #10

                      @gohan Good to know, thanks. I was thinking once or twice an hour maybe. It looks like I'd have to use a 3.6V 18650 type of battery, or 3x AAA to get the 3.3V required by this, correct?

                      M 1 Reply Last reply
                      0
                      • gohanG Offline
                        gohanG Offline
                        gohan
                        Mod
                        wrote on last edited by
                        #11

                        If you use more than 3.6V you need a voltage regulator. I'd suggest to go with LiFePO4 batteries that are 3.2V and you don't need any regulator at all.

                        C 1 Reply Last reply
                        0
                        • N nerukam

                          @gohan Good to know, thanks. I was thinking once or twice an hour maybe. It looks like I'd have to use a 3.6V 18650 type of battery, or 3x AAA to get the 3.3V required by this, correct?

                          M Offline
                          M Offline
                          manutremo
                          wrote on last edited by
                          #12

                          @nerukam Mine wakes up every 15 minutes. I'm using a Li 16340 battery with 700 mAh capacity (measured) and a MCP1733 LDO - may move to LiFePo4 but for the moment the setup is solid and consumption is very low. Just so you can get an idea, I installed the battery with a charge around 60% about 6 months ago and is today showing 51%. I'm using the Adafruit library with the takeForcedMeasurement() function, which takes care of sleeping the sensor and waking it up for the minimum time required for the reading.

                          The sensor supports various reading modes with correspondingly differences in consumption. In sleep mode, it consumes 0.1uA. In normal reading mode at 1 temp+hum+press measurement per second, it consumes 3.6uA. This will be lower if you only need to use 2 or 1 sensors. The accuracy of the humidity sensor is +-3%.

                          The [datasheet](https://cdn.sparkfun.com/assets/learn_tutorials/4/1/9/BST-BME280_DS001-10.pdf provides all the details on modes, consumption and accuracy. I'm not familiar with other sensors so can't comment but yes the SHT31 gets good reviews too - so compare and make your own decision.

                          N 1 Reply Last reply
                          0
                          • M manutremo

                            @nerukam Mine wakes up every 15 minutes. I'm using a Li 16340 battery with 700 mAh capacity (measured) and a MCP1733 LDO - may move to LiFePo4 but for the moment the setup is solid and consumption is very low. Just so you can get an idea, I installed the battery with a charge around 60% about 6 months ago and is today showing 51%. I'm using the Adafruit library with the takeForcedMeasurement() function, which takes care of sleeping the sensor and waking it up for the minimum time required for the reading.

                            The sensor supports various reading modes with correspondingly differences in consumption. In sleep mode, it consumes 0.1uA. In normal reading mode at 1 temp+hum+press measurement per second, it consumes 3.6uA. This will be lower if you only need to use 2 or 1 sensors. The accuracy of the humidity sensor is +-3%.

                            The [datasheet](https://cdn.sparkfun.com/assets/learn_tutorials/4/1/9/BST-BME280_DS001-10.pdf provides all the details on modes, consumption and accuracy. I'm not familiar with other sensors so can't comment but yes the SHT31 gets good reviews too - so compare and make your own decision.

                            N Offline
                            N Offline
                            nerukam
                            wrote on last edited by
                            #13

                            @manutremo Does the battery have undervoltage protection built-in, or do you have separate circuitry to handle it? And how do you recharge the battery?

                            M 1 Reply Last reply
                            0
                            • N nerukam

                              @manutremo Does the battery have undervoltage protection built-in, or do you have separate circuitry to handle it? And how do you recharge the battery?

                              M Offline
                              M Offline
                              manutremo
                              wrote on last edited by
                              #14

                              @nerukam I use batteries with builtin protection routinely as a precaution since they are not exactly cheap. However the sketch also measures the battery voltage and reports it to the controller. The scale is 0%-100% corresponding to 3.0v-4.2v, so the nominal 3.6v-3.7v equals to around 50%-60%, where it stays for the majority of time since the discharge curve is quite flat in that area. I get a first warning from the controller at 20%; I try to remember replacing the battery at around 10%-15% even though there is still some margin (the arduino would be the first device to stop working at 2.8v - I think the battery protection would kick in at around 2.4v); however in that area the discharge curve is quite steep and 10% may last for maybe around 1 week (my experience from other similar nodes).

                              This particular node is easily reachable so I didn't include any batt charging circuitry.

                              1 Reply Last reply
                              0
                              • wallyllamaW Offline
                                wallyllamaW Offline
                                wallyllama
                                wrote on last edited by
                                #15

                                The key to accuracy is repeatability. If you get the same reading from the same sensor for the same conditions over and over, you can calibrate and have great success.

                                +- .5°c means 1° of range, is that relative to the actual reading? Or the variability of the readings time ove time? The first one is correctable, the second sucks.

                                1 Reply Last reply
                                0
                                • gohanG gohan

                                  If you use more than 3.6V you need a voltage regulator. I'd suggest to go with LiFePO4 batteries that are 3.2V and you don't need any regulator at all.

                                  C Offline
                                  C Offline
                                  Craig Thom
                                  wrote on last edited by
                                  #16

                                  @gohan There are BME280 breakout boards with voltage regulators on this. I guess they'll draw a bit more current than those without, but the current draw is pretty darned low.

                                  It draws so little current that it could be powered by a pin of the microcontroller, so it could be powered off instead of being put into sleep, although it draws so little in sleep I doubt it matters.

                                  Nca78N 1 Reply Last reply
                                  0
                                  • C Craig Thom

                                    @gohan There are BME280 breakout boards with voltage regulators on this. I guess they'll draw a bit more current than those without, but the current draw is pretty darned low.

                                    It draws so little current that it could be powered by a pin of the microcontroller, so it could be powered off instead of being put into sleep, although it draws so little in sleep I doubt it matters.

                                    Nca78N Offline
                                    Nca78N Offline
                                    Nca78
                                    Hardware Contributor
                                    wrote on last edited by
                                    #17

                                    @Craig-Thom said in More reliable relative humidity measurements?:

                                    It draws so little current that it could be powered by a pin of the microcontroller, so it could be powered off instead of being put into sleep, although it draws so little in sleep I doubt it matters.

                                    It would be a bad idea I think, you need time with CPU active to wake up and initialize the sensor, during that time you consume probably more than 10 000 times what the bme280 is using in sleep mode, so except if you're checking temperature at very low frequency you will waste more power.

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      manutremo
                                      wrote on last edited by
                                      #18

                                      I'm not sure about the last statement, since the CPU needs to wake-up to make the measurement and send the result even though you use the sensor's own sleep mode. However I've never made that kind of measurement so can't really support this with numbers.

                                      That said, in my opnion the solution of feeding the sensor from a pin on the arduino makes sense when the sensor doesn't include its own sleep mode... in that case, it may be fed from a pin, or from an external transistor or mosfet device... if it has its own sleep mode, it seems more reasonable using it.

                                      1 Reply Last reply
                                      1
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      19

                                      Online

                                      11.7k

                                      Users

                                      11.2k

                                      Topics

                                      113.1k

                                      Posts


                                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • MySensors
                                      • OpenHardware.io
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular