TD-DAQ: A low-cost data acquisition system monitoring the unsaturated pore pressure regime in tailings dams

Graphical abstract


Hardware in context
Tailings dam are large, often self-contained storage facilities of mine residue. Processed ore, comprising a mixture of finely ground rock and water in a slurry or paste form, is pumped from the mineral processing facility and deposited onto the tailings dam. Deposition is staggered along the footprint of the dam to allow drying of the preceding layer before new deposition occurs [1]. These large-scale structures are often at risk of failure, which poses severe environmental and economic consequences, as well as a potential loss of life should the facility not be managed and monitored correctly. Renewed awareness regarding the safety associated with these assets have developed because of recent failures widely reported in the media, such as the Brumadinho tailings dam disaster in 2019 [2]. Improved understanding of the complex unsaturated pore pressure regime in such facilities is an important aspect which can serve to reduce the risk of failure.
Optimal management of the stability of a tailings storage facility is challenging. Due to cost constraints it is desirable to keep the footprint of such facilities to a minimum. However, given a fixed mine residue production rate, a smaller footprint results in a higher rate of rise of the tailings dam. High rates of rise imply frequent deposition of new tailings, limiting the time for dry-out and strength gain and contributes to the risk of failure. The frequent deposition of wet tailings results in the development of a water table in the tailings body, with seepage typically occurring towards the outer walls. The pore water pressures below the water table are positive and are routinely measured using piezometers, most often of the standpipe type. However, above the water table pore pressures are negative and the moisture content is typically below saturation levels. Under unsaturated moisture levels, negative water pressures cause over-consolidation and strength gain of tailings during dry-out. The relationship between the moisture content and the negative water pressures is described as the soil water retention curve (SWRC). The hysteretic SWRC is the most fundamental of unsaturated soil properties and, provided that information on moisture content fluctuation with time is available, allows suction variation to be quantified. Pore water suctions play an important role in the shear strength of unsaturated tailings dam slopes.
Monitoring of suction and moisture content allow the unsaturated pore pressure regime to be tracked and interpreted in the context of the SWRC, allowing the shear strength variation of unsaturated tailings slopes over time to be better understood. Continuous condition monitoring of these dams using in-situ instrumentation provides an accurate response characterisation. However, such monitoring is not without its challenges, generally related to technological and financial constraints. The cavitation of water under negative pore water pressures means that the measurement of pore water suctions is particularly challenging. Advancements in miniaturised sensor technology, such as the development of low cost tensiometers [3,4] now provide the ability to measure the negative in-situ pore pressures in fine grained material typically encountered in tailings dams. The cost associated with these sensors and their associated DAQ systems have hampered widespread rollout use of these monitoring systems in practice.
Modern Smart Cities -and by extension, their key infrastructure and industries, depend on a distributed, urbanised Internet of Things (IoT) to improve the allocation of public resources and value-added services for the administration, citizens and visitors [5] amid the 4th Industrial Revolution (4IR). IoT functionality is equally applicable to remote areas where condition monitoring and asset management remains challenging. Advancements in communications hardware and software have seen IoT connectivity expand beyond cellular connectivity, embracing the advantages offered by Low Power Wide Area (LPWA) radio technology and networks [6]. Two of these technologies, namely SigFox [7] and LoRa [8], respectively provide more than 98% and 99% signal transmission reliability in testing environments. The narrow-band modulation techniques employed by these technologies offer minimal noise by encoding data in a frequency band as narrow as 100 Hz [9], allowing many nodes to efficiently communicate over a much longer distance compared to other established technologies such as Wi-Fi [10]. Despite these advantages being provided at the expense of transfer rate and payload capacity, the fidelity of the range and power efficiency are ideally suited for remote structural health monitoring (SHM) applications. This paper demonstrates the development, testing and validation of a low-cost DAQ suitable for remote, battery powered measurement of geotechnical parameters on a platinum tailings dam located in the Limpopo province of South Africa. The tailings dam DAQ (referred to as TD-DAQ) is designed to measure the negative pore pressure, temperature and moisture content in the fine-grained tailings material over a long period of time. The development of the sensor platform followed from a lack of availability of affordable off the shelf instrumentation to adequately address this monitoring project's requirements. Deployment of the TD-DAQ compliments recent successes associated with developing customised research hardware within the Department of Civil Engineering at the University of Pretoria [11] to address an ever-diversifying array of practical applications [12][13][14].

Hardware description
Based on the instrumentation requirements for long-term monitoring of the pore pressure regime in tailings dams, the following design criteria were formulated: Primary non-volatile data storage medium with a secondary, parallel wireless data transmission system; Support for SDI-12 [15] and Wheatstone bridge-based sensors [16] (three of each); Resistance to unfavourable atmospheric and operating conditions (wind, dust, rain, UV radiation and temperature variations); Support for lithium polymer battery technology as the primary power delivery system with a minimum of 2 months of unattended runtime, and Reliable and efficient power management system.
Based on the list of requirements, research was carried out to identify the most cost-effective solution based on locally available hardware platforms and capabilities. For the communications system, limited product choices were available providing for a power-efficient data transmission system. Compared to SigFox's pre-existing coverage provided by cellular operators, the LoRaWAN (Long Range Wide Area Networks) alternative [17] requires the establishment of fixed communications infrastructure by the user [18]. Based on the available information [19], SigFox coverage ( Fig. 1, left) was confirmed at the installation location highlighted by the yellow circle ( Fig. 1, right). The Pycom SiPy microcontroller [20] was selected for its integrated SigFox radio module and the support for a SD card when paired with the corresponding expansion board [21]. The ubiquitous availability of general-purpose libraries to interface nearly any sensor using the Arduino family of microcontrollers was preferred to interface the platform with the required sensors and electronics. The Arduino MEGA 2560 [22] was selected for its availability, low cost, 5 V control logic and increased program memory over the Arduino Uno [23]. A dedicated serial connection between the Pycom SiPy and Arduino MEGA microcontrollers offers the advantages of a simplified interface to transmit the data between the two microcontrollers and a means to store and transmit data wirelessly using a simplified Pythonic programming environment associated with the Pycom microcontroller.
The power supply was designed to provide a regulated 5 V power source to ensure accurate measurements for Wheatstone bridge-based sensors, irrespective of the voltage supplied by the Lithium Polymer (LiPo) battery. The ability to digitally control the power regulator [24] reduces the power consumption of the sensors which are powered on only for a single measurement and data retrieval. The power delivery for all the components is controlled by a digital power switch (also referred to as the nano timer) [25] with a predefined interval between power cycles which is defined by the user. Once the data acquisition, transfer, storage and transmission cycle is complete, the control pin of the digital power switch is toggled by the Arduino microcontroller to disable power to all of the system components. This reduces the effective current draw to approximately 20nA as measured across the battery terminals. The data transmission from the SiPy is routed to the SigFox servers, as raw, unparsed data, requiring further post-processing. A callback functionality is available, allowing data to be parsed, using a simplified JavaScript program, and redirected to third party providers for data aggregation, integration and visualisation [13].
The TD-DAQ accommodates a single, 18-bit MCP3424 analogue-to-digital (ADC) converter [26] to amplify and measure the differential voltage of the tensiometers (Fig. 2, top) fabricated at the University of Pretoria. An identical ADC has successfully been used for geotechnical centrifuge testing at the University of Pretoria [14]. The 5TM [27] sensors, measuring volumetric water content (VWC) and soil temperature, are directly interfaced with the Arduino's digital control logic (Fig. 2, bottom). The 5TM sensor design implements the SDI12 (Serial Data Interface using a 1200 baud rate) standard for communication, allowing for extended cable lengths and multiple sensors connected to the same communications bus. Accurate time information obtained from the real-time clock (RTC) sensor breakout [28] is stored alongside the data on the SD card. The coin cell battery of the RTC ensures uninterrupted operation, independent from the state of the digital power switch.
The TD-DAQ demonstrates the following advantages that may benefit the wider research community: General-purpose measurement of Wheatstone bridge-based instrumentation, ranging from strain gauges typically employed in structural monitoring, measurement of total soil stress using stress cells, to newer MEMS-based devices; Soil infiltration and interaction measurement of surface runoff; Estimating water balances of tailings dams, and Addressing a large number of devices using a shared communications bus; SDI12 sensors are typically associated with agricultural industries where remote, battery powered DAQ systems are desired to measure soil properties (moisture, temperature, salinity and acidity).

Design files
The complete list of design files is summarised in Table 1. These files provide the necessary information and firmware to duplicate and implement an equivalent TD-DAQ. These files are freely available at the Open Science Framework source file repository linked with this manuscript.
Decagon_5TM.pdf -5TM VWC + Temp datasheet supplied by Decagon. MS54XX Pressure Sensor.pdf -Miniature SMD pressure sensor datasheet provided by Measurement Specialities TM which is used in the construction of the tensiometers.  Arduino.zip -Arduino sketch for the Arduino MEGA. The firmware is used to read and parse the sensor data, prior to sending the data over a serial connection to the SiPy for transmission.
SiPy.zip -Firmware for the SiPy module which includes both the primary source code (main.py) for data parsing, storage and transmission and the boot script (boot.py) responsible for configuring the UART port to receive data from the Arduino MEGA.
Schematic.pdf -Design file which provides a design overview of the electrical connections between the individual components and sensors of the TD-DAQ.
Sigfox_Decoder.xlxs -Excel spreadsheet used for converting the raw message payloads retrieved from the SigFox servers back to decimal format.
Sensor Installation.mp4 -short video illustrating the installation procedure of the tensiometer sensor in the augered hole.

Bill of materials
The complete bill of materials (BOM) to replicate the TD-DAQ alongside the selection of sensors implemented (refer to the Validation and Characterisation section) is listed in Table 2 and Table 3 respectively. The listed components are not highly specialised and can be sourced from various local and international retailers.

Software
Software for the Arduino was developed using the standard Arduino IDE, with the Pycom SiPy software written in Atom. For the Arduino, the MCP3424 [29] and SDI12 serial [30] libraries were used to implement the ADC and SDI12 sensor interfaces respectively. The ADC features a programmable gain amplifier (PGA) which modifies reference voltage from ± 0. 256 V to ± 4.096 V. Owing to the small full-scale output produced by the tensiometer's Wheatstone-bridge design (150 mV), the smallest FS was selected (±0.256 V) to maximise the resolution efficiency (0.98 lV/step). To take advantage of the full 18bit capabilities of the ADC, the sampling frequency was configured for 3.75 Hz, which allows all the sensors to be interrogated within one second. The SDI12 sensors features onboard circuitry which automatically converts the measurements to dielectric permittivity and temperature values. The one-wire serial data interface retrieves the information based on the unique address of each of the sensors on the bus after a specified waiting period (configured as 250 ms for the TD-DAQ implementation). To avoid the need for specific addresses and potentially incorrect wiring of the sensors during installation on site, each sensor was allocated a dedicated digital pin on the Arduino for communications. After successfully obtaining the sensor measurements, the date-time string is constructed from the RTC along with the measured battery voltage. The 5 V logic of the Arduino MEGA eliminates the need for a voltage divider typically implemented for 3.3 V architectures to measure the battery voltage. Once a predetermined amount of time has passed which ensures the SiPy is ready to receive data over the serial interface, the Arduino transmits the combined data string (using a serial print statement) as a set of characters to the SiPy. This data is intercepted from the Arduino's TX and RX pins which are connected to the SiPy's corresponding serial communication pins. Once the SiPy receives the completed serial string, it in turn is parsed as a sequence of variable data associated with the sensor measurements. The data is stored on the SD card in a comma separated variable (CSV) file, followed by transmission using the integrated SigFox radio modem. This time duration of this process is also well defined with minimum deviation. As a result, 24 s after the Arduino originally transmitted the data to the SiPy, the Arduino pulls the reset pin of the digital power switch to terminate power to all the microcontrollers, electronics and sensors.

Payload bandwidth
Due to the inherent limitations of SigFox, a maximum of 140, 12-byte uplink messages per day can be accommodated by the module. For geotechnical applications, transient events are typically not considered, negating the need for high frequency data transmission. Intervals as short as 11 min remain within the uplink budget; the TD-DAQ is configured for an hourly power and data transmission cycle to maximise the available battery capacity. The limited bandwidth of the messages requires rescaling of the measurements over a sufficiently narrow range to retain the required resolution [31]. This scaling operation is reversed to obtain the original measurements during the post-processing phase. Representation of values as either unsigned integers (single byte, 8-bits) or unsigned floats (two bytes, 16-bits) accommodate 256 (2 8 ) and 65,536 (2 16 ) possible values, respectively. For the ADC measurements, the values are represented as unsigned floats, rescaled for values ranging between 0 and 150 mV (the expected maximum voltage associated with the tensiometer). The VMC and temperature measurements are represented as unsigned integers, scaled between 0 and 50 (no units) and 0 -50°C, respectively. The terminal voltage of the battery is measured directly by the Arduino's internal ADC, represented as an unsigned integer over a range of 0 -5 V. To accommodate the 12-byte payload capacity, only two of the three dielectric permittivity values are incorporated, alongside the three tensiometer measurements and the battery Voltage.

Power supply
The LiPo battery supplies a nominal output voltage of 3.7 V which varies from 4.15 V when fully charged, down to 3.3 V, whereupon the internal battery regulator disables the battery from over discharge. The output voltage provided by the 5 V power regulator was measured to be within 10 mV of the target value. Based on the results from extended field testing, the 5000 mAh capacity of the battery is sufficient for three months of continuous service before requiring a recharge or replacement with a fully charged battery.

Enclosure
The enclosure is provided with a plastic plate which is secured to the back of the enclosure. All the electronic components and brackets (fabricated using a 3D printer and PETG filament) are secured to the plate prior to installation. Terminal screw blocks ensure rigid and secure connections for the sensor wires accommodated using cable glands installed on the bottom of the enclosure to prevent the ingress of moisture. The enclosure includes a key lock for added security, tamper proofing, as well as providing ease of access to periodically replace the SD card and battery. Instructions were attached to the inside of the enclosure for the site engineers tasked with the periodic exchange of the SD cards and batteries.

Operation instructions
Prior to installation of the sensors, a calibration procedure was followed to ensure the accuracy and precision of the tensiometer measurements over the range of expected pressure values which would be encountered in the field.

Initial setup and calibration
The calibration procedure entailed the installation of the saturated tensiometers inside of a sealed pressure cell and comparing the differential voltage measurements between those recorded by the TD-DAQ and a commercial dataTaker Series 4 DT80 [32] data acquisition system (Fig. 5). The digital power switch (Fig. 3) was configured to increase the data acquisition frequency to approximately 1 min to accelerate the calibration process. This verification step ensures that the proposed alternative (TD-DAQ) provides the required performance compared to commercial products (dataTaker Series 4 DT80). The 5TM sensors were not calibrated within a specific soil medium as the Topp equation [33] is used to convert the dielectric permittivity to VMC. The calibration cell pressure was adjusted to 0, 200, 400 and 500 kPa whilst monitoring the response of the tensiometers, allowing the differential voltage measurements to equilibrate after every adjustment (Fig. 6). This process was repeated twice; once for the sensor connected to the TD-DAQ, the other for the sensor connected to the dataTaker Series 4 DT80. Excellent agreement was found between the two configurations, despite the pressure controller being operated  manually. The pressure sensor (tensiometer) provides a linear response to the change in pressure. As such, the calibration factor is determined by calculating the gradient of the pressure-differential-voltage curve. Similarly, the zero offset is equal to the differential voltage measured when no pressure is applied (0 kPa). Every tensiometer is calibrated individually to eliminate performance differences resulting from the imprecise, manual fabrication process of the sensors. The performance of the TD-DAQ is limited only by the accuracy of the tensiometers; the ADC provides a resolution of 15 Pa and a corresponding full-scale of ± 2.072 MPa. Pre-wiring minimises the risks associated with incorrect sensor wiring on site where exposure to the elements posed difficult working conditions, the limited time available for the installation and travel restrictions associated with the national Covid-19 lockdown curfew imposed at the time. The digital power switch was reconfigured after the calibration process to an interval of 1 h.

Sigfox data storage and retrieval
Data transmitted from the TD-DAQ using the SigFox network is aggregated on SigFox's own dedicated storage servers and is accessible to the end user using authorised credentials to access the service (Fig. 7). The message payload can be configured for sending the parsed data to a third-party service or other communications services such as e-mail. This callback functionality does not incur any additional charges besides that of the connectivity fee associated with the SigFox device. An example of parsed data received using the e-email service is illustrated by Fig. 8, providing a simple method to monitor the status of the hardware. The historical data can be aggregated and downloaded as a single CSV file for postprocessing and analysis.
As noted in the discussion surrounding the available payload bandwidth of each message that requires transmission over the SigFox network, a specific parsing strategy is utilised for every variable. This is reflected in the callback configuration  where each variable is defined alongside the corresponding size (in bytes) and endianness. The three tensiometer values are encoded as unsigned words (16-bits), with the remaining six variables (three dielectric permittivity, two soil temperature and battery voltage) encoded as unsigned bytes (8-bits). The values are constructed as part of the e-mail message (Fig. 9 For processing larger datasets downloaded as a CSV file, either a spreadsheet (available from the source file repository) or programming script can be utilised to decode the data from the hexadecimal format to individual variables in decimal format. The dataset is downloaded separately for every SigFox device, which includes the timestamp when the message payload was received by the server. Optional metadata pertaining to the approximated geolocation and signal strength is also available for every entry in the dataset. The payload configuration implements a little-endian format compared to the big-endian format provided by the CSV file; transposing the bytes (for 16-bit integers) resolves this difference. Finally, the data mapping process implemented by the Arduino script is simply reversed, yielding the original measurements with the correct units. An example of the header of one such CSV data file is illustrated below: Data;''Timestamp" 8f07f807b2073c5429776dcd;''2020-10-12 19:13:32 00 8807da07af073e5329766dcd;''2020-10-12 16:13:54 00 8607d607b1073e5329766dcd;''2020-10-12 15:14:02 00 8807d307b1073e5329766dcd;''2020-10-12 14:14:09 00 9207d807b4073f5329756dcd;''2020-10-12 13:14:16 00 Fig. 9. Configuration of a callback used to parse the payload messages and interface the data with a third party API.

Validation and characterization
The validation and characterisation consider the field installation and results obtained after an extended period of data collection. The platinum mine is situated approximately 350 km northeast Pretoria (Fig. 1, right). The mine operates a tailings dam with a footprint of 48 ha on which deposition occurs by means of spigotting. A total of three TD-DAQs were installed approximately 130 m apart from one another (Fig. 10). The TD-DAQs were attached to 75 mm diameter galvanised steel poles, driven approximately 500 mm into the tailings to allow adequate freeboard for the tailings level to rise as deposition proceeds (Fig. 11, left). During sensor installation special care was required to avoid the tensiometers drying out (Fig. 12). The sensors were kept submerged in water right up to the point that they were lowered into hand-augered holes drilled for installation. The holes were carefully backfilled with the excavated tailings and lightly compacted by hand. A short video demonstrating the tensiometer installation process can be accessed from the source file repository associated with this article. The VMC sensors were installed in a similar manner, lowered to the bottom of the borehole, slotted into the end of a PVC tube so that the sensor prongs (refer to Fig. 2) could be pushed into the material at the bottom of the hole. Redundant lengths of cable were looped and fixed to the pole, allowing the DAQ to be raised as tailings deposition progressed over time. The battery was installed immediately after sensor installation. Fig. 13 and Fig. 14 and illustrate the three TD-DAQs on the tailings dam after installation.  Fig . 15 presents the pore pressure, volumetric moisture content and temperature history of TD-DAQ1 from 13 July 2020 to 22 February 2021, with the rainfall data recorded at a nearby weather station. The area typically receives summer rainfall between November and March. The first month of data (July) is characteristic of daily temperature variations and increased soil suctions following the installation of the sensors. The absence of data for the month of August and November were due to the battery discharging. The long-term trend of increasing temperatures during the latter part of the year was expected, with transient events associated with rainfall and deposition events of particular interest assisting an improved understanding of changes in the unsaturated pore pressure regime in the tailings.
Based on the experience gained from the development process and field performance, the following capabilities and limitations of the TD-DAQ are summarized:  Reliable, long-term operation was achieved by the TD-DAQ as originally designed for the particular application; Despite the low-cost design of the hardware, the performance ultimately delivered the quality and accuracy typically expected from commercial hardware solutions; The power efficiency eliminates the need for both high-capacity batteries or solar cells which are prone to theft and damage in isolated field installations. To date, the battery capacity has proven to be sufficient for at least three months; The relatively large number of components resulted in construction of multiple hardware units being time consuming.
New generations of wireless microcontrollers should reduce the labour and time required to construct platforms of a similar specification; The simple serial interface between the Arduino and SiPy microcontrollers proved reliable. The SD card storage served as the primary data storage medium which was exchanged periodically to retrieve the data; The small, lightweight construction of the hardware was convenient to install in the field; The successful demonstration of SigFox as a viable communications service provides a development roadmap to deploy more reliable and integrated communications infrastructure on future projects requiring similar functionality in challenging environmental conditions; Unreliable SigFox coverage at the installation location resulted in intermittent data communications; despite this, periodic data transmission provided an indication of activity and battery charge for one of the loggers. LoRaWAN technology can be explored to mitigate unreliable reception through installation of dedicated gateways and to increase the number of sensors which can be accommodated using the available bandwidth, and During the testing and validation phase, various jumper cables had to be replaced due to intermittent, unreliable connectivity. More secure, permanent wiring assemblies are recommended to reduce the probability of malfunctioning connections between components and sensors which are difficult to troubleshoot. well as Nina Slawson (SRK Consulting) for arranging access to the tailings facility for the hardware installation. The contribution of Several SRK site engineers who assisted with periodic retrieval of the data are also gratefully acknowledged.