The ruuviTag case may introduce a considerable delay in temperature measurements


#1

Dear all, I noticed that the temperature measurements are delayed by a lot because of the way the sensor is packaged. I understand that measuring sudden temperature changes reliably may not be the primary use case, but then there isn’t really a point in sending a signal multiple times a second.

I did the following test:

  1. I noted the starting temperature of the tag when it was left on the table, it was about 21 degrees.
  2. I held the tag in both my hands, probably my hands are about 36 degrees.
  3. I waited till I got the first measurement above 30 degrees
  4. I put the tag back on the table
  5. I waited till the first measurement below 25.5 degrees ((30 + 21) / 2).
    This gives me 2 time deltas: t_warm time from step 1 to step 3, and t_cold, time from step 3 to step 5.

I did these tests with:

  1. the ruuviTag in his original case, closed.
  2. the ruuviTag with the upper part of the case removed.
  3. a DS18B20 waterproof sensor attached to my raspberry pi.

the ruuviTag in his case needs more than 3 minutes to become warm!!! and after I put it back on the table it is still getting warmer for 1 minute!
In comparison the DS18B20 sensor needs 28 seconds to become warm.
With the open case things get a bit better, the sensor gets warm in less than 2 minutes.

Here are the (very inaccurate) measurements I made:
device, t_warm, t_cold
ruuvi_closed_case, > 3 min, > 6 min
ruuvi_open_case, ~ 2 min, > 3 min
DS18B20, 28 sec, 2 min and 21 secs

I guess the plastic case is isolating the sensor a bit too much.


#2

One more thing to consider is the digital signal processing used in RuuviTag, by default the BME280 has 16 x Infinite Impulse Response filter on. You can get a lot faster response times by opening the enclosure removing the IIR filtering.


#3

Interesting, so the case may not be the main problem. what’s the point of these IIR filters? what’s the downside if we remove them ? Are they hardware components or some data processing in the firmware?


#4

You can set BME280_IIR_OFF to configuration.

IIR slows down the temperature response and reduces noise, the benefit of decreased noise is a lot greater than the downside of slowed response with case open - most of the time the case is closed after all. You can read more about the DSP options at Ruuvi Blog