Humidity calibration accuracy


I tried to calibrate humidity measurement following this topic and the measurements I receive are around 69%, 70% and 69% and temperatures 23,7 - 23,9 C. I tried several different containers, with and without lids, different amount of salt and water, and still the humidity is always between 68 - 71% even after keeping the container unopened for several weeks. The real humidity should be 75%, so is the difference still within normal variations and within RuuviTag’s measurement accuracy and therefore safe to calibrate all tags to 75%, or should I calibrate them to a bit lower value?

Using iOS ruuvi app v. 0.5 (19), tags running in firmware 3.28.12

Thanks, Mikko


It’s ok to calibrate the tags to 75 %. Please note that the calibration is on the app, so other devices will still read uncalibrated values.

Thanks Otso, will do so. I was thinking that something in my test setup was not ok, as the stated accuracy is -3… +3%, and these were +7 off.


I am revisiting the calibration issue again, since it becomes more clear I need a solution for calibration rather sooner than later.

I have 20+ RuuviTags and I am about to order a few more. To give you an example, two of my RuuviTags purchased in November 2019 read the following (in same enclosed 0.5L container with humidity control pack for past few days):

Tag - Temp - Humidity
r1 - 22.0C - 51%
r2 - 22.1C - 61%

Real humidity is 65% (65% humidity control pack).

In fact, probably none of my RuuviTags are within the +/- 3% outlined here but they are partially 1-2 years old (indoor use only). (I’ll purchase some BE280 and connect them to a Pi etc to gather some more data over the next few months).

I assume the firmware version (I never updated) has no relation to the accuracy of humidity measurement?

Is there an “official” Ruuvi effort for integrating calibration?

Does calibration via Firmware (update?) make sense?

I originally planned to customize RuuviCollector in the next few weeks as this is how I collect my data, but I’d like to hear some more feedback before I settle for that.

PS: Apologies if I should have opened my own topic.

Hi Alex,

No worries, there can be new topics :slight_smile: . We have had discussion with Bosch regarding humidity accuracy and so far each device which has been showing “wrong” values have been tested to be OK. Did you open enclosures or were the enclosures closed during this testing?

Please note also that in Bosch data sheet ±3% difference is typical accuracy and there can be some devices where accuracy range is wider (e.g. ±6%).

I assume the firmware version (I never updated) has no relation to the accuracy of humidity measurement?

  • Firmware version doesn’t have impact.

Is there an “official” Ruuvi effort for integrating calibration?

  • Humidity calibration is possible in Android beta version and we are planning to publish this soon to all users. We are planning also to improve this feature.

Does calibration via Firmware (update?) make sense?

  • It could make sense and we will see how we can improve calibration feature.

As the difference is very big in this one device we would like to change the device to another one and test in our lab. Could you send email to with your address.

Has anyone ever validated to use of a single additional correction factor across a range of conditions not at a calibration point?

One solution (which depends on use case) is to implement “final” adjustment post transmission and post storing. That is, receive the “preliminary” values and insert them in to the data store. Then provide a “final” adjustment before analysis. This has the advantage of being able to refine that adjustment at a later date but the disadvantage of needing to be implemented in each use case.

Please see/revise my discussion at,-humidity-accuracy

Hi Henry,

apologies for the delay, I was finally able to focus on the 21 RuuviTags again. I also implemented a first version of calibration into RuuviCollector saving the uncalibrated/original measurement as well as the calibrated one (up and running for a few days).

I used a Pyrex glass container with various commercial humidity packs and “homemade” salt solutions to get a first feeling of how to proceed further. The goal is to calibrate sensors in a range which the humidity needs to be measured at (ie. using table salt @ 75% RH won’t be of any use if we are measuring around 45-55% RH in the application).

Using three different humidity percentages, each with three consecutive measurement points (1h between) and before all that having the RuuviTags in the closed container for 24h, I collected the following data for the 21 RuuviTags:

For the temperature I just calibrated against the average of all 21 RuuviTags for now, since I don’t have a calibrated “temperature chamber” nor was there any very large deviation in any of the devices.

The first 15 are from orders before/around April 2019.
The last 6 are from Nov 2019.
With the exception of no. 6, it almost seems the complete second batch has bad sensors.

There is no guarantee I did all well and 100% accurate this time, but I will repeat this process frequently to see if the deviations change over time. I will also get new salts to create humidity points closer to our target humidity measurement ranges, so I will see if calibrating the humidity against more than one calibration point makes sense in the future. Restricting it to a single point would cut down the effort immensely, but for now I just wanted to see myself how exactly the deviate and in which ranges.

For now I scheduled the check again in 2-3 weeks, but optimally this could be scheduled once or twice per year, followed by updating the calibration values in RuuviCollector.

Hi Alex,

Thank you for the great testing, will get back to you later. We have forwarded information also to Bosch for their comments.

Kind regards,

1 Like

Could you please add max deviation to humidity chart above.

I also have the same issue where the humidity is around 7% off from the actual meter reading. I have tried it with multiple ruuvitags.

Hi! Actually I do have the same problem, what is more, I have used two RuuviTahs in with the same salt solution (in the same plastic box), and it showed me rH = 67%. I have been wondering if it was a problem either with the sensor or my salt solution (but in the second case I have followed the calibration instruction).
What do you think of that guys? Is it possible to have such a difference in excepted and achieved values?

All the best, Alicja

Has there ever been a follow up on this (and similar threads), where feedback from Bosch was promised by Ruuvi?
I got three tags a few days ago, which read ~72% (OK), ~67% (errr, maybe?) and ~61% (just… no) in the same saturated salt environment. I can of course just offset them, but I am wondering if these even get a cursory sanity check before being sent out.

In comparison, the temperature and pressure sensors on the three tags are a lot more reasonable, much closer together, and generally a lot closer to what I consider “true”.

Here is a very good review from me.
The Testo reference instrument is very accurate!

Reference values for adjusting the RuuviTag sensors delivered on 17.11.2020

Testo Werte Temperatur: = 20,00_ Luftfeuchte: = 75,00_

EA:AC:D2:5B:5C:07 Temperatur: = 19,40 = + 0,60 Luftfeuchte: = 69,50 = + 5,50

F3:7E:5F:53:C8:9C Temperatur: = 18,75 = + 1,25 Luftfeuchte: = 68,00 = + 7,00

ED:7C:4A:3E:DD:6a Temperatur: = 18,60 = + 1,40 Luftfeuchte: = 69,80 = + 5,20

E3:42:7E:65:8D:90 Temperatur: = 19,05 = + 0,95 Luftfeuchte: = 70,50 = + 4,50

D4:4C:CA:16:D5:52 Temperatur: = 19,15 = + 0,85 Luftfeuchte: = 69,25 = + 5,75

E6:45:6D:79:47:78 Temperatur: = 19,05 = + 0,95 Luftfeuchte: = 71,30 = + 3,70

CC:2E:CB:1D:B7:24 Temperatur: = 19,15 = + 0,85 Luftfeuchte: = 70,75 = + 4,25

D2:44:A5:AE:5E:E4 Temperatur: = 18,95 = + 1,05 Luftfeuchte: = 69,00 = + 6,00

DF:99:8C:2B:78:6F Temperatur: = 18,90 = + 1,10 Luftfeuchte: = 69,20 = + 5,80

F9:1F:20:69:4B:18 Temperatur: = 19,10 = + 0,90 Luftfeuchte: = 68,00 = + 7,00

E3:03:65:E9:30:53 Temperatur: = 19,00 = + 1,00 Luftfeuchte: = 70,50 = + 4,50

EE:43:F4:8D:E9:55 Temperatur: = 18,85 = + 1,15 Luftfeuchte: = 68,50 = + 6,50

C4:62:74:59:B0:A5 Temperatur: = 19,30 = + 0,70 Luftfeuchte: = 68,50 = + 6,50

C1:C0:BB:EE:CE:EF Temperatur: = 18,70 = + 1,30 Luftfeuchte: = 69,15 = + 5,85

E7:0A:CF:3F:C2:43 Temperatur: = 18,70 = + 1,30 Luftfeuchte: = 68,50 = + 6,50

1 Like

+1 also curious about this. I bought 3 tags in Aug, 2019. I now have two of them in the same airtight container for a couple of days, with one other sensor.

Tag1: 66.9%, 20.86 °C
Tag2: 58.9%, 20.72 °C
Other sensor: 66%, 20.6 °C

(not sure where to see the firmware version in the iOS app, but I think I upgraded both to the latest version)