SitkaNet: A low-cost, distributed sensor network for landslide monitoring and study

Graphical abstract

The C/C++ code for the microprocessors is based on the existing, open-source LOOM project. LOOM provides a foundation to easily build sensor systems without having to code much of the low-level operations from scratch. It also allows the system to be easily adapted to different sensing applications. LOOM supports a number of I 2 C and SDI-12 sensors, which can be hot-swapped into the system, wherein the system could be used to measure any number of variables, including temperature, relative humidity, solar radiation, ultrasonic distance (for snow depth measurements), etc. A full list of supported sensors can be found here.

Nodes
Each node consists of 11 sensors which monitor soil moisture at different soil depths, rainfall, and atmospheric conditions at five-minute intervals ( Table 1). The Teros 11 sensors are industry standard sensors and were selected to provide a baseline measurement to calibrate the cheaper STEMMA soil moisture sensors at three heights. The accelerometer is used to detect any acceleration over 3G, which would indicate a landslide had occurred in the area containing the node. The SHT31D humidity sensor and one of the MS580302 pressure sensors measure the atmospheric conditions around the node. The second pressure sensor is used as a piezometer at the bottom of a well.
The Teros 11 sensors communicate with the microprocessor over the SDI-12 protocol and the rest of the sensors are connected using I 2 C through an I 2 C multiplexer mounted on a custom PCB, I2C MUX, to facilitate connection to the microprocessor.
The Hypnos is a custom printed circuit board that connects a DS3231 real time clock (RTC), microSD card, and switching power control to the sensor system [21]. The RTC provides timestamps for the data, and data is backed up the microSD card in case of issues with the wireless data transmission. The third main function of the Hypnos board is to allow the microprocessor to turn off the power to the sensors.
In between the five-minute intervals, the microprocessor enters a ''sleep mode" wherein the Hypnos board shuts down power to the sensors to prolong battery life. Each node is powered by five 3.3 V 6600mAh lithium ion batteries connected in parallel via a custom PCB, JST parallel. This provides the node with an expected battery life of over six months. Appendix A shows a power consumption budget for a node.
One of the goals of the SitkaNet project was to ruggedize cheap, readily available hardware to reduce costs and dependence on expensive and proprietary products. Except for the Teros 11 sensors, the selected electronics were not necessarily designed or advertised for use in harsh environments. Testing and characterization of ''hobbyist-grade" hardware offers similar functionality to industry proven devices at much lower costs. The control electronics and the accelerometer are protected inside a waterproof case, and any sensors exposed to the elements were modified to be physically robust and waterproof using 3D printed cases and potting compound. The node electronics, batteries, accelerometer, humidity sensor, and one pressure sensor are housed inside a modified IP67 rated Pelican 1120 case and attached to the top of a well pipe. This case protects the electronics from physical damage such as falling rocks, rain or snow, UV exposure, and wildlife. The microprocessor, Hypnos board, microSD card extension, and I 2 C multiplexer are mounted to a custom fit 3D printed insert inside the case. Modifications to the case include holes drilled to pass through sensor cables, the antenna connector, and a micro-USB connector, which have all been sealed with  O-rings to maintain the waterproofness of the enclosure. The sensor cables are routed through cable grips attached to the bottom of the case, which provide strain relief and keeps the case watertight. The Pelican case uses 3D-printed brackets and U-bolts to mount to the side of a well pipe, which is driven into the soil and is also the well for piezometer. The hub consists of a Feather M0 microprocessor with an integrated LoRa module and an Ethernet adapter. Data from the nodes is received over LoRa and the hub process and uploads the data to the spreadsheet. The electronics are mounted in a 3D printed case and is powered from a 5 V power supply.
Existing sensing and datalogging systems are geared toward a broad assortment of diverse applications. This results in hardware and software that is overly expensive and bulky for most functions. The SitkaNet system is focused on landslides and results in a much more cost effective and compact solution, which in turn allows for more sites to be instrumented. A SitkaNet node is compact and lightweight enough to be installed by as few as two people in under a few hours. Existing solutions take twice the number of people and twice the amount of time.
Low-cost, compact sensor network for in-situ sensing Robust, low-maintenance, and easy to install Near real time data transmission  3C) and the u.Fl connector to the spot marked Ant. +20dBm. (Fig. 3A, 3B). Attach the antenna adapter cable to the u.Fl connector and add hot glue to the u.Fl connector (Fig. 3C).
Hypnos. The Hypnos board requires two sets of headers. Solder male headers pointing down onto the Feather Rail and female headers facing up onto Sensor/Power Rail of the Hypnos board (Fig. 4A). Fig. 4B shows a completed Hypnos Board. Insert a CR1220 coin cell into the slot on the bottom side of the Hypnos board.
I 2 C multiplexer. The I 2 C multiplexer requires one set of headers (included) and a jumper. Solder the A0 I 2 C address jumper (circled in red on Fig. 5A) on the TCA9548A breakout and solder male headers to the bottom of the TCA9548A breakout. Fig. 5B shows the TCA9548A breakout The I2C multiplexer board requires one set of headers, the TCA9548A breakout board, and 8 JST connectors. Set the TCA9548A breakout onto the I 2 C multiplexer board and solder the male header pins to the board. Trim the headers from the TCA9548A breakout sticking down past the I 2 C multiplexer board. Solder 8 JST XH-4 connectors to the multiplexer board, making sure to orient the side of the connecter with notches towards the center of the board. Solder male headers on the bottom of the multiplexer board excluding the reset pin as shown by the red circle in Fig. 6. The switch and button footprints on the multiplexer board are left unpopulated because they are not necessary for this project.
Feather doubler, SDI-12, tipping bucket, and accelerometer wiring. Three sets of wires are soldered to the Feather Doubler and one also to the Hypnos board. Solder one end of a short length (about 6 in.) of ribbon cable to the Feather Doubler and crimp a female JST SM-2 connector onto the other end (Fig. 7, Table 2). This connector is for the tipping bucket and is shown with black and white wires. Solder another approximately 6 in. long section of ribbon cable to the Feather Doubler for the Teros sensors (black, red, and blue) and crimp 3 female JST SM-3 connectors to the other end. Using a section of ribbon cable approximately 4 in. long, solder the MMA8451 accelerometer (red, brown, orange, yellow, and green) on to the Feather Doubler and Hypnos as shown in the wiring diagram (Fig. 7, Table 2). Solder 1 set of 12-pin and 16-pin female headers on top of the outer rails of each side of the Feather Doubler (Fig. 8). Fig. 8 shows the completed Feather Doubler with the accelerometer, SDI-12, and tipping bucket wires soldered.
To allow for sensor removal separate from the data logger, the ends of the polarized cables inside the pelican case need to have connectors attached. First, thread the polarized cables through the cord grips. Crimp a male JST SM-3 connector to the inside end of the pelican case of the three polarized cables connected to the Teros sensors (red, black, yellow wires, Fig. 9, top) and a male JST SM-2 connector to the inside end of the tipping bucket polarized cable wires (yellow and red wires, Fig. 9, bottom).
Crimp female JST XH-4 connectors to the inside end of the remaining six polarized cables as shown in Fig. 10.
STEMMA sensors. The stock cable for the STEMMA sensors needs to be replaced with a longer and more robust option so that the I 2 C signal can travel along the required cable length, and the sensor electronics need to be protected. Using a soldering iron, de-solder the black connectors from the STEMMA sensors. Then, cut the connectors off of the ethernet cable and cut three 10ft sections of ethernet cable. On both ends of the ethernet cable, strip back the outer jacket and individual wire jack- ets. Solder one end of each 10ft section of ethernet cable to a STEMMA sensor. Each pin on the sensor is soldered to one twisted pair of wires from the ethernet cable. (Fig. 11A, Table 3). Slide a 1/2 00 long piece of 1/16 00 heat shrink onto each of the four wires of the polarized connector and an approximately 4 00 long piece of 5/16 00 heat shrink onto the unused end of the ethernet cable. Solder each twisted pair from ethernet cable to a wire on the polarized connector following Table 4 and Fig. 11B. Use a heat gun to shrink the heat shrink over the individual wire joints (Fig. 11C). Slide the 5/16 00 heat shrink over the bundle of wire joints, and use the heat gun to shrink the heat shrink over the joint between the ethernet cable and the polarized cable to insulate and protect the connection. Push the STEMMA sensors through the slot in the STEMMA Case so that the case is covering the SMD components on the sensor. Then fill the cavity with potting compound until the potting compound is flush with the top of the cavity (Fig. 11D).    Pressure and humidity sensors. To attach all the components to the pressure sensor breakout boards, start by orienting each pressure sensor breakout board with the text on the PCB facing up (Fig. 12A). Align the blue dot on each pressure sensor to the top left corner of the pad for the pressure sensor on each breakout board (Fig. 12A) Solder the eight pads of each MS5803 pressure sensor to a pressure sensor breakout board. Flip over each breakout board and solder two 10kO resistors (R1 and R2) and one 100nF capacitor (C1) to the back of each breakout board (Fig. 12B). The pressure and humidity sensors will be connected to the microprocessor with polarized connectors, and, for one pressure sensor, ethernet cable as well. One pressure sensor and the humidity sensor will be outside and directly below the pelican case, and the other pressure sensor will be in the well point. To protect the joint after soldering, add a 1 00 long piece of 5/16 00 heat shrink over two polarized connector cables. The polarized connector cable can optionally be shortened. Solder the four wires from one piece of a polarized connector directly to one MS5803 pressure sensor (Table 5) and one piece of another polarized connector directly to the SHT31D humidity sensor. Slide the heat shrink to be flush with the edge of the PCB for one pressure sensor and the humidity sensor (Figs. 12 and 14) and use a heat gun to shrink the heat shrink. For the second MS5803 pressure sensor that will be in the well point, cut off a 5 ft section of ethernet cable, use heat shrink to protect the solder joints as described in Section 5.1.1.5 and Fig. 11, and solder one end of the ethernet cable to the second MS5803 pressure sensor and one end to the polarized connector following Table 5. The 3D printed cases, o-rings, and epoxy are used to protect the electronics of the pressure sensors and humidty sensors. Fit a 008O-ring around each MS5803 pressure sensor (Fig. 13A). Each pressure sensor can then be pressed into a MS5803 case (Fig. 13B).
Attach the SHT31D humidity sensor to the SHT31D Case using 2 M2-0.4 Â 2 mm screws (Fig. 14). Fill the SHT31D and both MS5803 cases with potting compound to the top of the 3D printed cases.
JST parallel PCB. The JST Parallel PCB provides connection points for five batteries as input, and a single connection to the Feather M0 for output. Solder five JST SM connectors to the P2-P6 footprints on the JST Parallel PCB for the batteries. Orient  the notch in each of the connectors to follow the silkscreen (Fig. 15). Solder a JST SM extension to the P1 footprint on the PCB, making sure the red wire is connected to the positive terminal and the black wire is connected to the negative terminal. On  Fig. 15, the positive terminal is the top pad. Connect the JST SM extension to the battery connector on the Feather M0.
Pelican case modifications. To allow for individual, waterproof pass through of sensor cables, antenna cables, and USB access, twelve holes need to be drilled and filled. Remove and discard the foam from the bottom of the pelican case. For the sensor cables, drill ten 7/16 00 holes and tap the holes with PG7-20 threads into the bottom of the pelican case according to Fig. 16.   The holes are arranged in two rows of five, spaced 0.8 in. apart. The holes are centered horizontally on the bottom face of the case, and the center of the top holes 2 in. from the top of the lid. Thread 10 PG7 cable grips into the pelican case. For the USB port, drill a 5/8-inch diameter hole centered horizontally and vertically on the left face of the case (Fig. 16 2B). For the antenna, drill a 1/4-inch diameter hole with a 3/8 in. diameter counterbore 0.1-inch deep 1-inch center-to-center to the left of the 5/8 00 hole (Fig. 16).
Final assembly. The Case Insert provides the mounting surface for all the electronics in the case. Using a soldering iron heated to approximately 200°C, press 6 M2 heat-set threaded inserts into the 6 holes in the Case Insert. Put the Case Insert into the Pelican case oriented with the microSD extension closest to the antenna hole and ensure it is a snug fit. The Case Insert is designed to be a friction fit in the case, but glue can be added to make a permanent connection.
Using the M2 screws, secure the Feather Doubler, MMA8451 Accelerometer, and JST parallel PCB to the Case Insert. As shown in Fig. 17, stack the Feather M0 by itself on the right side of the Feather Doubler, the Hypnos board first on the left side of the Feather Doubler, and the I 2 C multiplexer on top of the Hypnos board.  Insert the microSD card into the extension and slide it vertically down into the corresponding slot on the Case Insert. Connect the other end to the microSD card socket on the Hypnos Board. Insert the 6600 mAh batteries into the Case Insert with the wires coming out on the top side at the top of the case, but do not plug in the batteries until ready to operate (Fig. 18). Plug in the USB extension to the Feather M0. Mount the USB extension, USB extension cap, and antenna adapter cable to the wall of the Pelican case using the nuts supplied with each connector and apply hot glue to the interface of the connector and the inside wall of the pelican case.
Thread the waterproof cables through the cord grips and connect them to their respective JST connectors on the I 2 C multiplexer (Fig. 19). Follow these instructions to install LOOM on your computer. Then use the Arduino IDE to compile and upload the Node.ino code to the Feather M0.
Push the pins holding the pelican case handle out. Tap the labeled holes (Fig. 20) on the Pelican Case Mount Top and Pelican Case Mount Bottom to 1/4 00 -20. The Pelican Case Mount Top and Bottom are a friction fit around the back and sides of the Pelican Case. Align the mounts with the ridges on the case and make sure the mounts are fully seated against the outer wall. Secure the mounts to the case using the 1/4-20 bolts through the handle pin holes.
Screw the PVC Cap, PVC Pipe and Pipe Tee together. Then use the U-bolts to attach the Pelican case to the PVC pipe (Fig. 21). Tighten the antenna onto the antenna adapter cable.

Hub build instructions
After 3D printing the Hub Case, remove any support material. Use a soldering iron heated to approximately 200°C to press the M3 threaded inserts into the 4 holes at the corners of the case. From the outside, push the DC barrel jack into     1.1, Fig. 3). Solder and heat shrink wires from the positive terminal and negative terminal of the DC barrel jack to the USB and GND pins on the Ethernet Featherwing. Fig. 22 shows a completed hub without the lid and antenna. Use the M3 screws to attach the Hub Lid to the Hub Case. Connect the antenna to the hub through the RF cable. Follow these instructions to configure the Google Sheets spreadsheet where data will be uploaded. Then use the Arduino IDE to compile and upload the Hub.ino code to the Feather M0.

Node installation
Sensor sites were placed in areas where landslides were likely to initiate in areas of steep slope angle and convergent topography (e.g. [22,23]). Convergent topography accumulates both groundwater and loose sediment. Identification of potential sites was based on remote topographic imagery, field observation, and slope stability analysis using the SHALSTAB shallow landslide model [24]. In Sitka, all six sites are located within topographic depressions or debris channels on very steep slopes (>35°) with comparable geomorphic characteristics (elevation, forest type, soil type).
Once a node site was selected, the well point was driven into the soil using a driving cap and a small sledgehammer, leaving the threads exposed above the soil. The driving cap and sledge method was chosen to balance weight and bulk of tools and ease of installation. Next, a soil pit approximately 1 m deep by 25 cm wide was dug near the well pipe. The soil moisture sensors were installed into the side of the soil pit spaced evenly along the depth of the soil pit. The maximum distance between the well pipe and soil pit is limited, in combination with the maximum desired sensing depth, to the 5 ft length of the STEMMA sensor cables. The soil pit was then filled back in. The well pressure sensor was inserted into the bottom of the well. Next, the control box assembly was attached to the well pipe and the tipping bucket was mounted on a level surface in an area with a canopy gap within the 40 0 cable length. All sensors were securely plugged into their respective ports  ( Fig. 19). Finally, the JST connectors of each of the five batteries were plugged into ports P2 through P6 on the JST Parallel PCB (Fig. 18) and successful data transmissions were confirmed by checking the Google Sheet.

Hub installation
Plug an ethernet cable with internet access to the hub. Connect the Yagi antenna to the hub using the RF cable. Then plug in the power supply and check for successful data reception and upload to the spreadsheet. Positioning the Yagi antenna to optimize line-of-sight to all node antennas is advisable for maximum performance.

Validation and characterization
Successful data transmission from three susceptible hillslopes (Fig. 23) demonstrated that cost-effective soil moisture monitoring is feasible in terrain where field access is difficult and traditional data telemetry services (i.e. the cellular network) are not available. In particular, the low cost of production and portability of monitoring components make the system   suitable for rugged, remote terrain. The very low power consumption also allows for extended deployment with only a handful of small lithium batteries. This creates opportunity and technology to monitor hillslope hydrology in remote communities that previously could not have accesses life-saving monitoring equipment due to the prohibitive costs of the instruments and installation. It is important to note, however, that LoRa transmission strength in the Sitka application did not meet theoretical calculations. In the Sitka network, variable topography, air humidity, and forest density likely limited the range of reliable LoRa transmission (Fig. 24). Sites within 2-2.5 km of the receiving hub with a clear line of sight successfully transmitted data packets. In locations where signal strength was unreliable, a directional antenna or increased antenna height might improve signal strength.
An example of the relationships between rainfall and hillslope hydrology is shown in Fig. 23. For example, following rain events on August 28, 2020, volumetric water content and water pressure both increased. After rainfall ended, the soils returned to background moisture levels over the course of hours to days. Notably, not all sensors performed reliably at all monitoring sites, potentially due to faulty sensors, limited range of measurement, or other connection issues (Fig. 24). For example, the STEMMA sensors appear to be outside of the range of measurement at five of the six node sites. This could be caused by the extremely dense, fine-grained soils of the study area (clay-rich till and volcanic soil) and perennial saturation at many of the monitoring sites [25]. The Teros sensors performed more reliably, with 12/18 sensors providing reliable water content data that responded to rainfall. These limitations demonstrate the importance of redundancy of monitoring equipment within sites and at multiple sites, including the two brands of soil moisture sensors which performed best under slightly different conditions. Additionally, the accelerometer, which was intended to trigger an alarm status when a threshold was passed, initiated multiple false alarms at several sites. In the alarm state, nodes transmitted data as quickly as possible (multiple times per Fig. 24. Example of the multiple data types transmitted to the receiving hub at the same Harbor Mountain Station in November to December 2020. The third Teros soil moisture sensor (Teros C) reported 0% saturation for the entire period of record shown here. The three STEMMA sensors reported maximum values for the entire period of record (1016 or 1017) without any variance in response to rainfall. Notable gaps in data when LoRa transmissions were not successful occurred during periods of heavy rainfall, such as the storm at the end of November. second). To prevent this error and preserve battery life, the accelerometers were disabled after the initial deployment. Although theoretical battery life is >6 months (Appendix A), maximum observed battery life was 2-3 months in the Sitka application, likely due to cold temperatures (À6 to 6°C at the high-elevation sites in November-January 2020-2021). A less frequent observation/transmission rate (10-15 min) would extend battery life for remote deployments.
Long term observations at these locations will improve the understanding of landslide initiation in the spatially heterogeneous landscape of Sitka. Machine learning of the complex data stream from this system provides a potential means to advance landslide prediction and risk mitigation [26,27]. As shown in Fig. 23, both soil moisture and groundwater pressure respond to rainfall. These relationships can be used to determine threshold rainfall and soil characteristics that promote landsliding. Community planners and individuals can use the real-time observations from this system to take life-saving action before landslides occur.

Human and animal rights
The work does not use any human or animal subjects.

Funding
This work is supported by the USDA National Institute of Food and Agriculture, Hatch project NI18HFPXXXXXG055, the National Science Foundation award #1832170 and #1831770.

Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Appendix A. Power consumption calculations
Battery self-discharge:~5% of battery capacity per month Battery life calculated using two batteries with 6600mAh capacity each.