In this blog post, I discuss the results of testing the sensor cube in various situations to understand what its battery life is like and how it handles extremes of temperature and humidity. I also test the gas flow sensor on the bench to see how it performs.

 

Data Collection Methodology

Data was logged as raw json strings to file by adding a UDP output to the sensor-capture program. This was then flattened and converted to CSV using a simple Python program.

# Quick IDT Wireless Sensor Cube JSON to CSV converter

# by Gough Lui - May 2019

# No warranties - takes data.json in and writes data.csv out

 

import json

import csv

import os

import mmap

 

def flattenjson(y):

  out = {}

  def flatten(x, name=''):

    if type(x) is dict:

      for a in x:

        flatten(x[a], name + a + '_')

    elif type(x) is list:

      i = 0

      for a in x:

        flatten(a, name + str(i) + '_')

        i += 1

    else:

      out[name[:-1]] = x

  flatten(y)

  return out

 

with open('data.json', 'r+b') as f:

  mm = mmap.mmap(f.fileno(), 0)

  bindex=0

  while bindex < os.stat("data.json").st_size:

eindex=mm.find(bytes("}",'utf-8'),bindex)

    tjson=mm[bindex:eindex]

    bindex=eindex+1

    tjson=tjson+bytes("}",'utf-8')

    print("Decoding " + str(tjson));

    data = json.loads(tjson)

    data = flattenjson(data)

    with open('data.csv','a+',newline='') as csvfile:

      k = csv.writer(csvfile) 

      k.writerow(data.values())

 

CR2032 Battery Life

One of the big issues in IoT is power consumption. Lower power consumption translates to greater autonomy and longer lifetimes operating from battery. The sensor cube claims to be able to run from a pair of CR2032 cells, but only with the temperature/humidity sensor installed. I put this claim to the test, using two fresh Varta CR2032 cells rated at 230mAh bought from element14.

IDT SDAWIR03 Cube Battery

 

On my first attempt, my wireless AP went down for an extended period due to 2.4GHz interference thus I discarded the results and used a fresh set of cells for another run. This time, a few hours of logging was lost due to Windows 10 restarting my computer mid-test, which was unfortunate but not a major issue.

IDT Battery Life vs Battery Voltage

 

It is seen that the sensor cube operated for almost nine days continuously from a pair of CR2032, averaging perhaps a current draw of about 1.1mA with the report rate set to 2000ms. This is especially impressive when considering that there are two very bright blue LEDs indicating I2C and radio activity that cannot be disabled and still flash brightly when on battery power. While the humidity data was good from the sensor, the temperature data is noticeably degraded with only about 0.6 degrees Celsius granularity when the datasheet claims a 0.015-degree Celsius resolution. The diurnal variation of the indoor temperature of my room is clearly visible. The battery voltage can be seen to fall to about 3.3V before the unit lost connectivity entirely.

 

IDT Battery Life vs RSSI

Due to the regulator design on the kit, it seems that even with changes in battery voltage, the signal strength from the cube remained fairly constant based on the measured RSSI from the hub. This suggests that signal strength did not vary as a function of battery voltage, meaning that as the battery runs down, the range is not changing.

 

Outdoor Testing versus Bosch CISS as a “Weather Station”

IDT vs CISS Backyard Comparison

As I am doing a parallel RoadTest, I thought it would be a good idea to do some comparison between units. In this case, the SDAWIR03 sensor cube is being compared to the readings from a Bosch CISS sensor. Both are in my backyard, although not co-located, so are expected to see differences in values. Because it is not shielded from direct radiative transfer, temperature readings in the presence of sunlight will be artificially elevated, but this also gives a chance to stress the sensors somewhat.

 

IDT vs CISS Temperature Comparison

The temperature trends are very similar, although the IDT seems to be more affected by the sun’s radiative component. The coarseness of the IDT’s temperature values are quite observable.

 

IDT vs CISS Humidity Comparison

Comparing humidity shows that the IDT unit seems to saturate more easily. This is probably due to condensation formation on the unit which may be due to the design of the sensor which is not protected by a membrane as in the Bosch CISS. The readings are probably quite correct, as they corroborate with the Bosch in the mid-to-low humidity range. At least the sensor cube itself did not fail despite having condensation on it.

IDT Condensation

 

Fridge and Freezer Testing

Thinking that I should perhaps stress the sensors our some more, I decided to put them to the test in my fridge and freezer.

IDT Fridge Testing

 

Placed in the fridge, it was able to telemeter the fridge temperature through the fridge door to the hub mounted outside.

IDT Fridge Temperature and Humidity

 

It seems to show that my fridge temperature is perhaps, a little high for comfort. It shows the humidity is cycling on a regular basis, likely as the fan and compressor inside the fridge turns on and off. Every time the door is opened around meal hours, the humidity spikes which indicates ambient air rushing into the fridge and condensing due to its cool surfaces, as expected. This worked quite well.

 

IDT Freezer Testing

Taking things more extreme and putting the cube into the freezer was not quite as successful. It was able to measure the temperature cycling between about -10 to -15 degrees Celsius, but the unit failed after a relatively short time as the cold temperatures affected the CR2032 cells ability to deliver the necessary current to maintain operation. As a result, this is not an issue with the cube itself, but with the batteries.

 

Gas Flow Sensor Bench Tests

Unfortunately, the kit comes with a gas flow sensor which is perhaps a little difficult to test as there are not many sources of calibrated “gas” flow in the house. At first, I thought of putting it in front of a fan but that didn’t measure anything, so I was a little stuck.

 

Instead, I thought I’d try to measure what I could – namely the characteristics of the sensor at zero flow. To enforce this, I taped both ports shut and then recorded the data.

IDT SDAWIR03 Taped Ports

 

The sensor appears to behave somewhat strangely, as the sensor returns a background level mixed with spikes to a certain ~2SLPM reading.

IDT SDAWIR03 Zero Spikes

 

Looking closer, we can see the background readings, but the spikes comprise about 8% of the returned data. This appears to be somewhat unusual and unexpected.

IDT SDAWIR03 Gas Flow Zero Background

 

Blowing into the port P1 using a photographic blower bulb, we can see that the sensor does indeed react to gas flow. Its accuracy, however, could not be determined.

IDT SDAWIR03 Gas Flow Blower Bulb

 

Conclusion

Testing of the sensor cube was made using a local UDP capture of JSON data which was processed into CSV using a simple Python script. Testing of battery life operating on two Varta CR2032 cells yielded a lifetime of just under 9 days of continuous operation, implying an average current of around 1.1mA. The RSSI remained constant despite the declining battery voltage, indicating a well-regulated power supply.

 

Outdoor comparison tests with a Bosch CISS sensor revealed the IDT to be very similar in terms of trends, although the design perhaps suffered more from direct radiative heating and condensation from moisture, resulting in slightly different results. In both cases, the limited resolution of the temperature sensor was apparent, with about 0.6-degree Celsius steps rather than the datasheet claimed 0.015-degree Celsius steps.

 

Testing in extremes in the fridge and freezer showed that operation in the fridge was no problem, although the freezer was able to reduce the performance of the CR2032 batteries enough to prevent the cube from being able to operate. Patterns in door opening are visible in the humidity traces and the transmissions were able to penetrate the fridge door.

 

Testing of the gas flow sensor was done at zero flow conditions which appears to have uncovered a periodic “spiking” of the signal to about 2SLPM under no-flow, comprising about 8% of the returned values. The remainder show a low background level reading. Testing with a photographic blower bulb showed the sensor to be functional, although its accuracy could not be determined.

 

Testing the sensor cube does show the 6LoWPAN module can be quite efficient with power consumption when operating off coin cells. However, it seems that the software does not take full advantage of the HS3001’s temperature reading capabilities and the FS2012 also exhibits some spiking anomalies. As a result, it seems this kit might not be showing off the IDT sensors in their best light, casting further doubt as to the kit’s intended purpose.

 

---

This blog is part of the IDT SDAWIR Wireless Flow Rate, Humidity and Temperature Sensing Evaluation Kit RoadTest