# The Design and Deployment of an End-To-End IoT Infrastructure for the Natural Environment
## 4 Design and Deployment
### Node Technology
#### 4.2.1 Fixed Nodes (Soil)
In total, each soil node has 3 air temperature/air humidity sensors, 3 Grove soil moisture sensors, 3 soil temperature sensors, 1 surface flow sensor, and (optionally) 1 Acclima soil moisture sensor. The reason behind replicating most of the Grove sensors was to get a more accurate and reliable value of the sensor readings in case one of them fails. Another reason was because the environmental scientists wanted to obtain a range of values at different spatial points for comparison (for example, the air temperature sensors were mounted at three different heights). Moreover, although Acclima is a preferred sensor to Grove by the environmental scientists, the scientists wanted to experiment with the latter as a cheap alternative, as the Acclima sensor is comparatively more expensive. Hence, the experiment was carried out using the configuration of Grove sensors in order to see if such sensors do provide equally reliable readings to the Acclima sensor. The readings that have been compared between Grove and Acclima are mainly the soil temperature and soil moisture readings. As for the remaining Grove readings such as surface flow, air temperature, and air humidity, these have been included in the experiment to get additional readings related to the soil and air. This has also been possible due to the fact that the Grove manufacturers provide a vast array of sensors which can easily be used and interfaced with the Arduino board. Figure 7: Sensor inputs on our soil nodes, mixing a large quantity of cheap Grove sensors with a small number of high-quality Acclima sensors. A major question of the environmental scientists was whether the cost/accuracy tradeoff was a good one, i.e., despite usually wanting to have the highest quality measurement equipment available, in this case, they were willing to compromise on quality for quantity of real-time data points, as long as we still had some high-quality inputs in the field as a known reference point. Power Supply  
Powering the Arduino Mega2560 board, with all of its attached sensors, proved to be a major challenge. We found that the most reliable way to power the system was via its barrel connector, rather than the USB line. However, with a recommended voltage range of 7-12 V via this connector, we required very high power batteries to achieve a sensible lifetime. To help understand this lifetime issue, we measured the current draw of a complete sensor node, which was found to be 130 mA when active and 45 mA when in low-power sleep mode. Both values are extremely high compared to more bespoke sensor node solutions that use chips such as the TI MSP430. Additionally, the power draw is actually dominated by the Arduino board itself, which takes 90 mA in active mode and 30 mA in sleep mode. Using aggressive power cycling, if we assume that a soil node sleeps for 5 min and wakes for 5 s to send data, then we can say that the node is awake for 1% of the time and asleep for the rest. With this in mind, we can calculate an average current draw of 46 mA with 5 min of sleep, and with a 7800 mAh battery we achieve 7800/46 \(\times\) 0.7 = 118 h or just under 5 days. To meet the voltage input requirements and to extend the lifetime, each node was equipped with three 7800 mAh lithium ion batteries, offering 10 days of operations. For the environmental science team, this operating lifetime was around the same amount of time for which they would have regularly visited the field of study to take data from data loggers, and so having this as a worst-case battery replacement interval was acceptable. Operationally, the environmental science team kept a second set of batteries charged at their lab so that they could quickly replace any drained batteries in the field. Weather Proofing and Protection  
Each sensor node was housed in a 1.9-L plastic box enclosure, with space for batteries inside.