This article is one of a series of articles where I discuss wireless, IoT, sensor data acquisition, in the Low Power Wide Area Networking (LPWAN) radio spectrum. In particular I focus my discussions on the Texas Instruments CC13xx family of ultra low-power, sub-1GHz devices. Although, at some stage in the future, I should consider LoRa and other Sub-1 GHz devices, too.
The purpose at this stage, of the overall project, is to design a hobbyist universal sensor node that can be used indoors, as well as outdoors in the sub-1 GHz band. Also it is required to acquire and transmit sensor data in the aforementioned band. In this article I provide some details into the assembly of the electronic components of the universal node. It is a follow-on to the previous article, where I discussed the construction of the node.
Sensor Node Architecture
The architecture of the sensor node enclosure and its main use case, where additional sensors are housed externally, in a Stevenson screen, can be seen in the Figure, above. A standard node consists of a CC1310 LaunchPad, temperature, humidity and ambient light sensors.
A combined sensor, the HDC1080, is used to monitor the internal environment of the enclosure. It consists of a low-power, high accuracy digital humidity sensor with temperature sensor. Also, within the enclosure is an ambient light sensor, useful when required measurements are dependent on the time of day.
Currently, I don't have an urgent need to develop a custom board with a CC1310 IC, as the Launchpad seems adequate, during this testing phase. Especially, as one of the interesting aspect of the Launchpad is the ability to decouple the debug and programming circuit from the CC1310's combined processor and radio. A fact that will become important later, when I need to consider the lower power modes of the CC1310.
Also, the CC1310 Launchpads are quite cheap at the moment, being sold at whooping $25 each excluding taxes and shipping. In fact I have quite a few variants of the same board with differing external antenna connectors, so BEWARE. I'll will address this in a separate article.
I intend to house additional instrumentation in a Stephenson screen, although I'm not sure whether to buy or 3D print one. Given the anticipated, huge increase in energy bills soon to be introduced in the U.K one would really need to seriously justify to oneself the need to 3D print items; It seems much cheaper to buy a similar plastic moulded item off the shelf.
The sensor node enclosure consists of the components show in the Figure, above and each component is briefly described, next. Additionally, each component will be fully reviewed and where applicable a programming example provided in upcoming episodes of the series. Also, in a future article, I'll be particularly interested in comparing the low-power modes of attached sensors relative to the power losses of a load switch, which can be used to power-down all sensors to minimise the power consumption.
The CC1310 LaunchPad combines a 32-bit ARM Cortex-M3 processor with a Cortex-M0 enabled radio. The device is manufactured by Texas Instruments (TI) and supported by TI's enormous resource infrastructure. This includes support forums and the free Code Composer Studio (CCS) platform, which provides numerous baseline examples and an optional RTOS.
However, IMHO, CCS, which uses Eclipse, is beginning to look a bit dated now. An alternative programming environment could be the 3rd party supported PlatformIO, although I have not had an opportunity to try it yet.
The HDC1080 is described, as a digital humidity sensor with integrated temperature sensor that provides excellent measurement accuracy at very low power. It conveniently supports an I2C interface with a supply voltage range of 2.7V to 5.5V. Also, both sensors are factory calibrated. An interesting feature of the device is that it advertises a sleep mode current of 100nA; a feature that will be tested in a future article. Also, TI provide Arduino example code that I intend to adapt for the CC1310.
The BH1750, from ROHM Semiconductor, is a 16-bit serial output Ambient Light Sensor with an I2C interface. Essentially, it is an illuminance to digital converter that has a spectral response in the human eye range. The device has a power down current of 10nA under no input light conditions. One complication, for this use case, could be that the device has a 1.8V logic input interface. I'll need to explore whether the CC1310 can be used to read measurements from the BH1750 without using a logic level converter.
I've chosen to use a 18650 battery for this project simply because I have quite a few spare ones lying around. It's worth noting that 18650 cells are nominally rated, between 20 and 25 degrees Celsius. I'll delve deeper into the properties of the battery and explore typical discharge curves in a future article. To test the 18650 battery in the configuration shown I've simply used the CC1310 to transmit packets without any noticeable disruptions.
I've tried to maintain a consistent colour rule for the wiring and have used red (power), black (ground or power return), yellow (I2C Clock) and green (I2C data and address). Also, i've used wire shrink wrap to couple wires of similar functionality together, providing a tidier appearance.
I'll be using the CC1310 to transmit on a Radio Frequency (RF) of 868MHz, typically used in Europe (915MHz US) on the license free Industrial, Scientific and Medical (ISM) bands. Although, the CC1310 can also transmit on a frequency of 433MHz.
The image, above, shows the NooElec SDR waveform capture of a CC1310 sensor node transmitting at regular intervals on the 868MHz band. Although this is just a preliminary result it is an important one nonetheless, as I will be authenticating the universal sensor nodes, with Radio Frequency Fingerprinting Identification (RFFI), using Deep Neural Networks (DNNs). You can follow my RFFI exploits, using DNNs in this other article series.
Well, that's all for now, folks! In the next instalment of this series I will explore the power management modes of the CC1310. It will be particularly interesting to investigate the methods used and power consumption in the device's sleep and wake-up modes. I look forward to seeing you then.