Post #4
Part of a series for the Road Test here:
IDT Wireless Flow Rate, Humidity&Temp Sensing Kit
Feature Walk-through
This post gives a walk-through of the features and more in-depth look at hardware of the demo kit. As noted in some other posts, the aim of the demo kit is to get some IDT hardware in the hands of engineers to build new products around.
I'll start with current consumption as this was something I was curious about from the beginning. The sensor cube can be powered from a micro USB or via two CR2032 batteries (6V total). There is a physical switch on the cube to tell it which source is being used. It physically disconnects the input power based on the selection, and the ZWIR 4512 is aware; so the module can go into a more current saving mode. The switch must be set correctly or the cube won't power on.
For the Sensor cube:
Values are Max/Min/Average mA. Sensor readings are taken every 2 seconds for this test.
Temperature/Humidity only | Temperature/Humidity + Flow | |
---|---|---|
USB Powered | 14.87 / 9.57 / 9.74 | 41.87 / 34.36 / 35.63 |
Battery powered | 10.17 / 0.4 / 0.91 | 33.96 / 22.15 / 23.6* |
*I tried blowing through the flow sensor after the initial test to see if it would use more battery power to run the heater, but it wasn't perceptible if it actually used any.
The average is very close to the minimum as we would expect with a lower sample rate (2 seconds), so the sensor uses more power to take a reading & transmit then it goes back to a lower power mode. I was a little disappointed with the current consumption when mains powered; thinking it would somehow be less but I guess it doesn't exactly matter; unless one tries to power it from a USB battery. 9.75 mAh (average battery power with just temperature & humidity) on a 2,000 mAh battery pack would last 205 hours or 8.5 days. The same 2000 mAh battery *if running in battery mode* (this would require a hack) would last over 91 days! However, a CR2032 battery [Energizer datasheet] has well less than 250 mAh capacity. That would equate to about 11 days on battery power for 2x CR2032's before they die. This is again a little disappointing since it would be nice to use the USB input jack then just have the switch activate low power mode.
It is unknown if the sensors themselves are aware or are given parameters for battery versus mains power but that would be interesting to see.
There are a bunch of settings available for battery power versus "mains" powered, but the total number of options is still the same - how often to sample and how often to transmit.
These can be configured for both Mains power and for battery power mode.
Web interface
The web interface seems to work well. It was pretty easy to navigate and to find sensor readings. The screenshot above shows an example of the sensor reading from the HS3001 temperature & humidity sensor. The graph can be scrolled in and out to see a longer time base up to 600 seconds; however once data scrolls off, it is gone forever. I couldn't find a way to download or otherwise redirect or store the data (at least not easily) There were some limitations and other quirks that I found; though. One must 'mouse-over' the title bar by the IDT logo for some menu items to appear. This was a little annoying since there isn't much else on the screen - its not like they were saving any clutter by doing this. This is more of an issue when trying to use a smart phone which doesn't have the ability to "mouse-over" something.
There was another bug which I found - the sensor is an "HS3001" but the web interface (shown in the above screenshot) marks it as "H3001" dropping out the letter "S".
The web interface adjusts automatically depending on which sensors are installed in the cube. There is no setup required. Even when powering down the hub and switching sensors without refreshing the browser it would pick up the new sensor right away.
HS3001 sensor
At first I was very skeptical that the temperature and humidity sensor would be able to get good data from within the sensor cube. However, based on the high sensitivity of the sensing element and the vent holes in the provided case, it was very responsive and very quick.
According to the datasheet, the response time is 6 seconds for RH, but in practice the device was responding in well under a second.
The raw IDT sensor can be had on Newark for $7.61 and as low as $4.63 in high quantities. As part of the eval kit, we get this chip supplied on a nice breakout board with pin headers - this plugs into the sensor cube. If building a new circuit board, this would be a great choice - I've only really ever used the DHT22 which takes eons to respond (up to 2-3 seconds per measurement) and needs a dedicated one-wire bus (Note - in my initial tear down video, I incorrectly thought that this chip was also a 1-wire bus). This chip lives on the I2C bus, works at 2.3-5V. It does happen to be very, very small and requires SMD soldering however; and just a couple minor supporting passives (capacitors).
The device is factory calibrated for temperature and humidity and requires no further calibration. Data output is pre-corrected so the data can be use raw without correction factors.
There appear to be four devices in this family. They all have the same temperature range and package size, but the accuracy of RH is greater with some versions.
Fortunately for us, the kit is supplied with the highest accuracy version - the HS3001.
One downside is the datasheet lists the address as 0x44(h). There doesn't seem to be a way to give it a secondary address. This is unfortunate if you had wanted to use multiple sensors on the same I2C bus.
The data sheet also lists applications such as automotive and medical so this must carry some high reliability and ruggedness.
FS2012 Flow sensor
This kit was supplied with the FS2012-1010 NG gas flow sensor. This is designed for gases with flow rates of 0-10 liters per minute. There are multiple devices in this family, with some for liquid as well. I spent a good deal of time covering this in Blog Post #2.
This sensor module plugs into the Sensor Cube just like the HS3001 but with a different number of pins on the header. One of the extra pins is an analog output corresponding linearly to the flow percentage.
Since I purchased an additional sensor - the FS20102-1002 sensor, I was eager to try it out. I'll have to save some of that for the end. This is the liquid flow sensor which works from 0-1 liter per minute. I did a side-by-side comparison between the two and at least visually they are IDENTICAL. This came as a shock to me since I instantly had to double-guess myself as to which was which. There is NO clear description on each one. The circuit boards are labeled the same - they look like the exact same board just stuffed with a different sensing element.
Even swapping them into the sensor cube revealed some potential issues - The web interface still thinks that the gas flow sensor is installed. It doesn't know which is which. I had to actually review my unboxing video to find that one has some sort of serial number sticker on the plastic sensor housing. Now the sticker itself is very obvious, but it doesn't seem to contain any clear indication of what sensor it is; and only one of my two sensors are labeled. I scribed an "L" into the liquid sensor to make it easily identified from here on.
The flow sensors contain a plastic housing for 5mm tubing, and a small piece was supplied with the kit. This sensor seems very responsive when blowing through it. I think that it would be a tough ask to flow 10 liters per minute through the small orifice but the sensors are rated for it. Sadly for this unit as well, there doesn't seem to be a way to change the I2C address. I had a application in mind that would use two of these to monitor efficiency of my RO Water filtration system which is rumored to be only 25% efficient. But to accomplish this, I would have to either use something with two different I2C busses or use the analog output.
ZWIR4512AC - 6LoWPAN wireless module
The last important part of this kit is the ZWIR4512 AC wireless module. The kit has two (slight variations) of these chips - one is the heart of the Sensor Cube and the other integrated in the Wireless hub. The wireless hub one is on a "Pi-Hat" which is a RaspberryPi expansion board. The board itself has very little other than the chip. The chip is integrated on its own small carrier board and features a metal can around most of it. It carries FCC approval per the note on the back, as well as in the documentation. The RaspberryPi ZeroW is running Linux and an application to talk to the PiHat daughter board. The daughter board handles wireless communication via 6LoWPAN protocol out to other ZWIR chips such as the sensor cube. The PCB itself also features a nifty antenna coil created out of copper traces and vias - nice work guys! For the sensor cube, the ZWIR chip functions as the main IC. It talks to the flow sensor and the HS3001 temperature/humidity sensor via I2C. The version of ZWIR chip on the sensor cube has a slightly larger carrier PCB with castellations down to the main board, plus it features a small HiRose (??) antenna connector which was unpopulated. The sensor cube had pretty reliable connection although I didn't thoroughly test it. It looks like they went with a chip antenna solution instead for this.
The There are a bunch of high-res images of each in THIS blog post.
I measured power consumption for the "Pi-Hat" which contains this. During normal operation reading at a 2-second interval, the board uses 0.17mA average. Max was 0.24 mA and min was 0.16 mA. This is a chip that is capable of quite a bit, but at least in its supplied configuration is able to provide wireless connectivity at a very low currnent consumption. Note - this does not include the current consumption of the RaspberryPi module which is likely much closer to 1 amp. My meter was running in Min/Max mode during startup, and I did see some other values like 0.06 mA and the 0.14 shown in the image on the right. But at least steady-state is 0.17 mA. The website for this chip lists 3.7 uA standby, 13.5mA Recieve and 18.5 mA for transmit. So I don't think I was too far off from those - and I don't think that the chip was going into sleep mode during my test. Perhaps the sensor cube was when I measured it, but that measurement would have include all sorts of other things like voltage regulators and the sensors themselves.
I measured the 3.3V rail as per the setup shown at the left.
The chip itself is a SoC. It has a 32-bit ARM microprocessor, and 19 (or 21) GPIOs. 2x UART, SPI, 3x ADC channels, and 2x DAC's. Then it of course also features IPv6 secure wireless mesh routing in both 906 mHz for North America and 868.3 mHz for Europe.
I found one listed on Avnet Europe for €18,79 each. That price is actually comparable to a $16 Huzza wifi module from Adafruit, however with greatly expanded functionality. This chip is programmed over the JTAG interface or Serial Wire Debugging (SWD). The included kits don't seem to provide a direct JTAG programming port, so any attempts would require soldering jumper wires. If OTA updates could be used, and remove debugging is a possibility, then this would be OK.
Here is the IDT listing for the chip.
The programming guide for the chip is over 100 pages but lists all that one would need to start programming this chip to create their own device. There are instructions on setting up the low power modes, the security features, over the air firmware updating, and the mesh routing. The IDT website also has links to download the ZWIR software installer and lots of other goodies. I think that this chip alone (or a pair of these chips) could be the subject of an individual design challenge!
Top Comments