Continuous advancements in materials science and micro-scale manufacturing techniques has led to the development of highly power-efficient radios for wireless communication and low-power microprocessors that enable long-term embedded applications. Additionally, major developments in networking, computing power, and digital storage densities allow virtually unlimited data storage and high-speed network communication, enabling near-instant data retrieval and analysis. However, these advancements are not yet fully realized in existing indoor data collection and smart home/building applications.
2.2. Custom PCBs
To address the aforementioned issues with existing technologies, we developed custom printed circuit boards (PCBs) for measuring common indoor environmental and building operational parameters, including air and surface temperature, relative humidity, light intensity, barometric pressure, motion activity, carbon dioxide (CO2) concentrations, particulate matter, total volatile organic compounds (TVOCs), and analog voltage inputs from other devices such as current transducers, heat flux sensors, and a wide variety of environmental sensors. We also developed custom PCBs that can enable knob and actuator controls for building systems such as radiator controllers, variable air volume (VAV) boxes, and various valves. The idea behind developing these boards is to provide a quick way to setup wireless sensors and controls in buildings which use a standard data format that can expedite analysis and control in building applications.
a shows a basic block diagram of a sensor and control node. This includes a low-power microprocessor, an RFM69 radio module for wireless communication, a sensor or control device, an optional switch which can deactivate the sensors when needed for achieving lower power consumption, and a power source, which is typically a lithium ion polymer battery or 5 V power either from USB or any commercial power adapter.
b illustrates the network architecture of a typical wireless sensor network. All sensor nodes and control nodes have their own unique node ID for identification. Up to 1023 nodes can be used in a network of sensors deployed in a building, however, it is also possible to use different networks for different applications, thereby increasing the total number of nodes that can physically coexist inside a building. Limitations in actual deployments will depend on communication intervals, transmission speeds, network congestion, size of data packets, physical obstructions and building materials, indoor environmental conditions, and other factors. However, at least several hundreds of nodes can be easily deployed in a large building with careful planning. All nodes communicate with a gateway that relays information directly to a host computer, in this case, a Raspberry Pi. The Raspberry Pi manages the data, either by storing it locally, or sending it to a local server or to a cloud-based backend for detailed data analysis and real-time data monitoring. The gateway, backhaul, and backend portion of the architecture is described in more detail in Section 3
a–c show several low-power wireless sensor nodes that we have developed and built. These can measure temperature, relative humidity, light intensity, motion, and door/window opening. These boards have an average idle current draw of around 6.5 µA and can last up to 2 years on a single 2000 mAh lithium-ion polymer battery logging at 1-min intervals and not subjected to wide swings in temperature (the actual battery life of a deployed sensor node with a 1200 mAh battery is shown later in Section 4.1
). Figure 2
d shows a wireless sensor board that measures CO2
concentration. This board requires external 5 V power due to the inherent nature of the CO2
measurement type used in the sensor (non-diffusive infrared). Keeping the sensor active at all times allows the sensor to maintain high accuracy, coupled with its built-in automatic background calibration feature helps correct for long-term drifts. Figure 2
e shows an custom indoor air quality (IAQ) monitor that can measure temperature, relative humidity, light intensity, CO2
and TVOC concentrations, surface temperature, barometric pressure, particulate matter (i.e., approximations of PM2.5
via a low-cost optical sensor), and external 0–5 V output from any commercial sensor, device, or actuator. This device is carefully designed for accurate measurements and has a flash memory on-board that enables data storage and over-the-air firmware updates when needed. Wireless firmware updates are accomplished using LowPowerLab’s wireless OTA software [29
]. The accuracy of the sensors used on these boards were previously verified against similar research- and commercial-grade sensors commonly used in building applications [18
], similar to procedures that have been used in other studies [31
]. The sensors themselves, which are listed in Table 1
, are commonly used in the industry for high accuracy environmental monitoring. Figure 2
f shows a USB gateway for the sensor nodes. This device can be plugged into a USB-A port of any computer. It receives wireless data from all sensor node types and sends it over serial to the host computer at a baud rate of 115200. This device can also act as a transmitter for sending commands to control nodes based on the RFM69 radio. In all examples in Figure 2
, the custom PCBs are aimed to make large scale deployments easy and cost-effective.
All boards use RFM69 wireless radios by HopeRF (Shenzhen, China). The RFM69 is a highly integrated Frequency Shift Keying (FSK) RF transceiver capable of operation over a wide frequency range, including the 433, 868 and 915 MHz license-free Industry, Scientific and Medical (ISM) frequency bands [32
]. This allows the sensor nodes to operate independently in their own sub-GHz wireless networks, removing dependence on common wireless protocols that operate in the exceedingly crowded 2.4 GHz bands such as WiFi, ZigBee, Bluetooth, and others. Consequently, the radios have more reliable transmission with minimum interference from other common wireless devices and have much longer range with wireless data transmission up to 600 m in open air and over 150 m inside dense concrete buildings. Another popular wireless transmission protocol, Long Range (LoRa), was also initially considered, but the RFM69 FSK radios were ultimately chosen due in large part to their simplicity. To connect LoRa radios to the internet, a LoRaWAN gateway is required. Existing gateways can be used, but for applications where data is sensitive, deploying and maintaining a commercial gateway requires precise installation and configuration to be effective and is usually more expensive than their FSK counterparts. LoRa is also slower than FSK protocol due to reduced transmission bitrates. FSK radios typically have enough power and range for indoor applications, while LoRa radios are better suited for large-scale deployments like dense urban or forest settings where interval of transmission can be lower and longer range in the order of several miles is desired.
The range of the selected RFM69 radios was initially tested vertically in a dense high-rise commercial building in downtown Chicago, with successful data transmission between two floors (1400 m2
each), and laterally between two academic buildings with brick, glass, and steel construction, with successful data transmission from the core of one building to the core of another ~150 m away. The range can be further extended by decreasing the transmission baud rate of the radio and using antennas with higher gain. The RFM69 wireless radios have built-in hardware 128-bit AES encryption including CRC checks to ensure reliability and security of all data transmitted. Since the radio can act as a transmitter and a receiver, it can be used in both sensor nodes and control nodes. Coil antennas tuned to 915 MHz are used in sensor nodes located closer to the gateway. For sensor nodes that are located further away in the building, quarter-wave monopoles (a wire of approximately 80 mm in length) are used. For some nodes which are located in very dense buildings, an external whip antenna or a half-wave dipole antenna is used. In deployments with hundreds of nodes inside buildings, the gateway has an SAMD21 Cortex M0+ ARM processor (Microchip Technology Inc., Chandler, AZ, USA) with a larger ground plane, along with a rubber ducky or whip antenna with a high gain. There is also a transmission retry logic in each sensor and control node, which attempts to retry transmission of data if no acknowledgement is received from the gateway in a given interval of time. To avoid network congestion, this interval of time is randomized between 10 and 80 ms on each node independently to ensure that no two nodes attempt retrying transmission at the same time. A distributed backhaul setup also allows for multiple Raspberry Pis with gateways to be deployed in large buildings where the Pis are positioned to capture wireless data within a given region inside the building. The backend handles duplication of data and can process everything accordingly. The backend architecture is explained in further detail in Section 3
shows the various components on a typical low-power sensor node (i.e., from Figure 2
a). To achieve an idle current draw of 6.5 µA that allows for a long battery life, three things were done: (1) proper component selection, (2) software enhancements, and (3) using a switch to disable parts of the circuit.
Components on the board are specifically selected to minimize current draw. The voltage regulator has a very low quiescent current of 2 µA when active and the Schottky diode used for reverse polarity protection has extremely low reverse leakage current. In addition to the components, various power-saving features of the ATmega328P microprocessor (Microchip Technology Inc., Chandler, AZ, USA) are utilized by developing custom code. Since taking sensor measurements and transmitting data consumes the largest amount of current, it is more efficient to do it only intermittently when needed. The microprocessor’s power-saving sleep mode shuts off all internal circuitry except the important timer needed to wake itself up from sleep when desired. This timer is called a watch-dog timer and is an essential part of almost all embedded systems for various important tasks, especially where humans cannot easily access the hardware. The watch-dog timer’s sleep time is configurable on the ATmega328P and is set to a maximum of approximately 8 s. This means the processor will cease all activity and sleep for 8 s, then automatically wake up to continue where it left off. The firmware was specifically designed to have the processor wakeup and immediately sleep seven times in a row using its built-in timer before allowing it to take sensor measurements and transmit the data. This creates an interval of about 56 s per data transmission. The data transmission itself takes around 5–10 ms, while the sensor measurement is dependent on the type of sensor itself and is generally between 10–200 ms.
Most sensors also have some idle current draw when not actively measuring. To eliminate this, these sensors can be disabled during the 56 s sleep interval of the sensor node and enabled only when needed. This is done by means of an NPN transistor, which is a digital switch that allows the power line going to the sensor to be disabled. This can be used on those sensors that have quick start-up times and generally do not require any warm-up to measure accurately. The voltage drop from the transistor is typically not large enough to affect sensor performance. For some sensors that consume larger currents than the transistor can source and where voltage drop is not desirable, a MOSFET can be used instead.
The power source for all low-power sensors is chosen to be 3.7 V lithium ion polymer batteries. The discharge profile of a typical lithium ion battery is around 4.2 V when fully charged, dropping down to 3.7 V when being used. This simplifies the circuit by utilizing only one efficient step-down voltage regulator to provide a clean and regulated current at 3.3 V to all components. Using AA or AAA batteries was also considered, but combining at least 3 batteries to produce enough voltage for the voltage regulator would drastically increase the size and the weight of the sensor node, while using only one battery and a step-up converter to increase the voltage to a desired level would increase the idle current draw. Lithium ion batteries also have predictive behaviors whereby they are almost fully depleted by the time they drop below 3 V. This also allows for disabling an internal feature of the microprocessor called brown-out detection, which constantly monitors the operative voltage level during operation and if the voltage is dropped lower than 2.7 V, then it resets the chip. Since using lithium ion batteries ensures that voltage will never decrease below 3 V, the brown-out detection feature can be disabled, thereby saving additional power.
The PCB boards are designed in Autodesk EAGLE 9.1 and fabricated by OSHPark [33
], a high quality board manufacturer for prototyping and light production based in USA. The board assembly is completed in house by our team. The firmware for each board is developed by our team in Arduino IDE 1.8.5. The library used for the radio is developed by LowPowerLab [34
] and Adafruit’s open-source libraries were used for some sensors. Where no community-developed library was available, custom code was written by our team. Each board is programmed using the Pocket AVR Programmer [35
] via the In-System Programming (ISP) header. This header is designed to take the Tag-Connect TC2030 cable [36
] which allows for space-savings on a small sensor node. A custom jig built by our team is used to connect the cable to the programmer. The hardware and firmware files for the boards are open-source and are available on GitHub [37
The red dotted box shown in Figure 3
indicates the part of the board where sensors are placed. Most sensor nodes utilize a similar board design, with components in the red box being replaced by other types of sensors to create nodes that measure various other things. Depending on the cost, measurement requirements, type of sensors, and final placement of the sensor node itself, one or more sensors can be combined into a single board, as shown in Figure 2
e. Table 1
lists the components on the wireless sensor boards shown in Figure 2
, along with their typical unit costs. The component costs vary depending on market supply and demand, distributer location and political factors. When sourcing components in quantity for mid-scale manufacturing, the component prices sharply decrease. Table 2
lists total cost for each of the wireless sensor nodes shown in Figure 2
a–f, along with the backhaul.
For comparison, Table 3
lists total kit costs for deploying Elemental
wireless sensors compared to some existing commercially available solutions, using a typical package of 3–5 environmental sensors and a single gateway. Note that total kit costs for both the commercial solutions and an Elemental
package will vary based on the quantity of sensors or accessories included. The total kit costs for deploying a simple 5 node wireless temperature, humidity, and light package with a gateway is $
120 USD for the Elemental
platform, while similar commercial packages range from approximately $
500 to $
1900 USD. In addition to costs, other differences to consider include major differences in wireless communication protocols, power requirements, and availability of both local and cloud data storage/access.