Literature DB >> 35498256

OhmPi: An open source data logger for dedicated applications of electrical resistivity imaging at the small and laboratory scale.

Rémi Clement1, Yannick Fargier2, Vivien Dubois1, Julien Gance3, Emile Gros1, Nicolas Forquet1.   

Abstract

The use of electrical resistivity tomography in laboratory or field experiments for environmental purposes has been increasing in recent years. The development of commercial devices has thus far focused on the quality of measurements and their robustness in all field cases. However, both their costs and lack of flexibility to adapt to specific applications have limited their prevalence in the environmental sector. This article presents the development of a low-cost, open hardware resistivity meter to provide the scientific community with a robust and flexible tool for small-scale experiments. Called OhmPi, this basic resistivity meter features current injection and measurement functions associated with a multiplexer that allows performing automatic measurements with up to 32 electrodes (at a cost of less than $500). The device was first tested using a soil-analog electrical circuit to verify the reliability and robustness of the measurements. Results show that OhmPi offers a wide range of resistance measurements, from 0.2 to 1000 O, for contact resistances between 100 and 5000 O. Measurements were then carried out on a small field experiment, in demonstrating good stability of the OhmPi measurements, as well as a strong correlation with the output of a commercial reference instrument.
© 2020 The Authors.

Entities:  

Keywords:  Electrical resistivity; Electrical resistivity imaging; OhmPi; Quadrupole; Raspberry Pi; Resistivity meter; Time-lapse

Year:  2020        PMID: 35498256      PMCID: PMC9041214          DOI: 10.1016/j.ohx.2020.e00122

Source DB:  PubMed          Journal:  HardwareX        ISSN: 2468-0672


The hardware placed in its context

Research efforts over the last few decades have led to the development of accurate and robust multi-electrode and multichannel resistivity meters used in the area of Electrical Resistivity Imaging (ERI), inspiring breakthroughs in many fields of the geosciences (hydrogeology [1], environment [2], geology [3]) and in civil engineering [4]. The main limitations of these commercial tools do not lie in the quality of their measurements or their robustness in the field [5], [6]; instead, they pertain to: i) the cost of the devices; and ii) their low adaptability to specific scientific issues. To the best of our knowledge, the literature contains some examples of the development of 4-electrode resistivity meters, but no publication presents them in sufficient detail for potential replication. Moreover, only 4-electrode systems are discussed [7], [8]. Completely open hardware (i.e. with in-depth descriptions and built with multi-electrodes) is unavailable, while the cost of proprietary equipment reaches into the tens of thousands of dollars. This prohibitive cost creates a major barrier to the dissemination of ERI for academic training purposes in developing countries as well as for applications that require continuous monitoring yet whose resource allocation remains limited. For these reasons, this particular tool is underutilized in both human resources development [8], [9] and non-profit activities (e.g. archaeology [10], [11], environment [12]). In the environmental and civil engineering fields, geophysical monitoring has become key to assessing natural phenomena [4], [13], [14], [15], [16], [17]. First applied to monitoring mid-term temporal phenomena (over a few weeks) [14], [18], this method is now dedicated to monitoring “long-term” phenomena (several years) [19], [20], [21], [22], [23]. For such purposes, it is not always possible to immobilize a capital asset like a resistivity meter. Moreover, when tracking time-dependent phenomena, a resistivity measurement triggered by external sensors would produce a more refined description [24] and limit the amount of data to be processed. The aim of this work is to present OhmPi, an open source resistivity meter based on a Raspberry Pi platform. Both the equipment and theory behind the measurement protocol are described first. Next, the design files, a bill of materials and construction instructions are provided, along with a summary description of the software. Laboratory and field experiments are then performed in order to validate the accuracy of the method implemented. A conclusion and outlook are proposed to complete this work.

Hardware description

Theory of electrical resistivity measurements

The resistivity measurement has been thoroughly described in the geophysical literature [7], [25], [26]. A fundamental property of a medium, electrical resistivity defines the medium's ability to oppose the movement of electric charges and therefore to prevent an electric current from passing. This parameter is sensitive to the various medium properties. In particular, if the medium is a soil, its electrical resistivity is sensitive to: porosity [27], [28], water content [13], [29], [30], clay content [31], temperature of the studied material [32], and the electrical conductivity of the water in the soil pores [33]. This method is widely used in the environmental sciences in field [6], [15], [34] and laboratory investigations to characterize soils [32], [35], [36], [37], [38] and both natural and anthropogenic porous media [34], [39], [40], [41], [42]. Electrical resistivity, i.e. our parameter of interest, can be inferred from in situ measurements by solving an inverse problem [43]. The in situ measurements are performed on quadrupoles composed of two injection current electrodes A and B and two measurement electrodes M and N used to measure a potential difference (Fig. 1A). With these two parameters and Ohm's Law, it becomes possible to calculate the resistance R (expressed in ohms), which is our target measurement herein.
Fig. 1

Theoretical representation of the electrical resistivity measurement with 4 electrodes: a) Distribution of the electric current line and of equipotential in the subsurface (modified from [44]); b) theoretical representation of the electric current measurement; c) perfect potential measurement, including chargeability; d) representation of a noisy measurement; and e) representation of a noisy measurement case affected by a spontaneous potential effect.

Theoretical representation of the electrical resistivity measurement with 4 electrodes: a) Distribution of the electric current line and of equipotential in the subsurface (modified from [44]); b) theoretical representation of the electric current measurement; c) perfect potential measurement, including chargeability; d) representation of a noisy measurement; and e) representation of a noisy measurement case affected by a spontaneous potential effect. R depends on the volume being investigated by the quadrupole. Consequently, this measurement is often transformed into apparent resistivity, , in order to work with a parameter independent of the quadrupole characteristics (Eq. (1)).where the geometric factor depends on the arrangement of the quadrupole (Fig. 1-a). The geometric factor can be computed analytically using the following equation for electrodes located on the surface of a half-space model:where, , and represent the geometric distance between electrodes A and M, B and M, A and N, and B and N, respectively (Fig. 1). The measurement of apparent electrical resistivity stems from both a measurement of the amperage rating and the potential difference during injection of a direct current. In physical terms, a continuous electric current is transmitted into the ground (Fig. 1b); this current will then generate an electrical potential field in the ground that gradually reaches a constant value (Fig. 1c). This phenomenon is denoted “induced polarization” and translates the capability of the soil to act as a capacitor (Fig. 1c). In practice, the potential difference and current are therefore often measured once the potential has reached a threshold, just before switching off the electric current (Fig. 1b–e, at the position of the orange dotted line). The current injection duration typically ranges from 500 ms to 8 s. This value remains at the geophysicist's discretion and depends on the expected soil-induced polarization. If the soil is strongly charged, then the steady state will be attained after a longer time than if the soil does not charge. The geophysicist generally performs measurements with the shortest injection duration, in gradually increasing this length of time until the measured resistivity value becomes independent of injection duration. Following the electrical resistivity measurement, the current injection is switched off. It is necessary to wait for at least a time interval equal to the current injection duration before carrying out a second injection. When the electrical current is switched off, just as when it is turned on, the medium in fact acts as a capacitor and induces a transient phenomenon (i.e. the electrical potential gradually disappears). To avoid a cumulative effect with the next injection, it is again necessary to wait until the end of this transient phenomenon. Generally speaking, the electrical resistivity measurement can be noisy; for this reason, several current pulses are injected in order to average the potential and current values measured on each pulse as well as to evaluate the resistivity measurement variability (Fig. 1c and d). Furthermore, repetition is associated with a polarity inversion on electrodes A and B (Fig. 1-b). This inversion will also reverse the polarity of the potential. Fig. 1 depicts four pulses. In practice, the potential difference measured between M and N is superimposed on a natural electrical potential, called Self-Potential (or SP). If not taken into account, SP will generate a non-negligible offset in the measured potential difference and lead to an error in the apparent electrical resistivity measurement. The use of several injection pulses allows computing SP and VMN compensating for the SP linear drift (Eqs. (3), (4)): The average intensity can be calculated as follows: ERI corresponds to the acquisition of several quadrupoles. For this purpose, several electrodes are sunk into the ground (in a line for 2D measurements, or with several parallel lines in 3D) [7], [25], [26], [45]. To acquire ERI, the quadrupole spacing must vary in order to investigate various depths and moreover the quadrupole must be shifted laterally. Electrical resistivity is generally acquired quadrupole-by-quadrupole, with the resistivity meter automatically switching from one to another according to an acquisition pattern similar to that presented in Fig. 2. Another phenomenon affecting data quality is the well-known electrode charge-up effect, or electrode polarization. Dahlin et al. have demonstrated the significance of designing the measurement sequence so as to avoid performing a potential measurement with an electrode that has recently been used to transmit current into the ground [46].
Fig. 2

Procedure for acquiring a dataset with several quadrupoles using an automatic electrical resistivity meter (as modified according to [14]).

Procedure for acquiring a dataset with several quadrupoles using an automatic electrical resistivity meter (as modified according to [14]).

Motivations behind this development effort

Our motivations for developing an open source resistivity meter are multifold: In the environmental sciences, the number of laboratory experiments (pilots (~1 m3) or soil columns (~2 dm3)) using ERI are on the rise [29], [35], [47]. ERI is introduced as a tool to monitor the evolution in the physical properties of porous media such as soils, waste and concrete [19], [36], [45]. Laboratory experiments tend to rely on a large number of replicates, which may require several resistivity meters to perform measurements. This often proves to be impossible given their cost. Switching the resistivity meter from one replicate to another is labor-intensive and detrimental to continuous monitoring. The cost of commercial equipment does indeed limit the use of ERI. On the other hand, most commercial devices are not open source, making it impossible to interface the instrument with other sensors. This point is critical when conducting continuous monitoring, which consists of a series of measurements spaced by relatively regular intervals. If the purpose of the monitoring exercise is to capture a relatively rapid event (e.g. a rainfall) over a long period (several weeks), then the chosen interval will have to be short and thus lead to collecting large amounts of unnecessary data. OhmPi has been designed to be easily controlled by any sensor, yielding a value that may be used to trigger a measurement, hence allowing for more intelligent and flexible data acquisition.

The OhmPi resistivity meter

The OhmPi version presented in this paper has the following features: A multiplexer allowing for measurements over 32 electrodes. A measurement range for current values lying between 0.1 mA and 80 mA, plus a measurement range for potential differences between 0.001 V and 12.00 V. The resistivity meter itself consists of a central unit that controls all equipment functions: triggering of the current injection, management of the potential and current measurements, and data recording. The CPU is a Raspberry Pi 3 model B, offering the advantage of being small and widely used for open hardware applications [48], [49]. The cost/power ratio is attractive. The use of a Raspberry Pi 3 model B provides a system that directly embeds the time stamping and data storage functions. The OhmPi must be associated with a system to inject current and measure both the potential difference and current (Fig. 3).
Fig. 3

Organizational chart of OhmPi resistivity meter functions (RPI: Raspberry Pi, ADC: analog digital converter).

Organizational chart of OhmPi resistivity meter functions (RPI: Raspberry Pi, ADC: analog digital converter).

Current injection and electrical resistivity measurement

Current injection

To carry out the electrical resistivity measurement, the first step consists of injecting current into the ground. In our case, a simple 12-V lead-acid battery is used to create an electrical potential difference that results in current circulating into the ground. The current is injected through electrodes A and B (see Fig. 2). This injection is controlled via a 4-channel relay module board connected to the Raspberry Pi. The mechanical relay module board is shown in Fig. 4. Relays 1 and 2 serve to switch on the current source. The common contacts of relays 1 and 2 are connected to the positive and negative battery poles, respectively. The normally open contacts of both relays are connected to the common contacts of relays 3 and 4. Relays 1 and 2 are connected to the GPIO 7 on the Raspberry Pi and therefore activate simultaneously. The role of relays 3 and 4 is to reverse the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by the GPIO 8 in the open position, the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.
Fig. 4

Wiring of the 4-channel relay module board for current injection management.

Wiring of the 4-channel relay module board for current injection management.

Electrical resistivity measurements

To measure electrical resistivity with Raspberry Pi, an ADS1115 was introduced, as proposed by Florsch [7]. The ADS1115 is a 16-bit ADC (Analog-to-Digital Converter), with an adaptable gain. Its value has been set at 1 in this study. The input signal value could lie between – and + 6.114 V. The ADS1115 is mounted on a board adapted from an in-house design. Fig. 5 shows the general diagram for the electronic measurement board developed. This figure also displays the test circuit used to test the board in the laboratory, which mimics the behavior of a soil subjected to current injection. In this test circuit, resistance R11 represents the soil resistance.
Fig. 5

Diagram of the resistivity measurement board.

Diagram of the resistivity measurement board. Soil resistance R11 is connected to electrodes A and B for the current injection. Resistors R10 and R12 constitute the contact resistances between soil and electrodes; they are typically made of stainless steel. The battery, which allows for direct current injection, is connected in series with resistors R10, R11 and R12. In this part of the board, resistance R9 has been added to measure the current flowing between electrodes A and B. This resistance value has been set at 50 O in order to ensure: a precise resistance, a resistance less than the sum of resistors R10, R11 and R12; indeed, R10 and R12 generally lie between 100 and 5000 O. To measure the current intensity between A and B, the electrical potential difference at the pole of the reference resistor (R9) is measured. The intensity (in mA) is calculated by inserting the resulting value into the following: ? To measure the potential difference needed to measure current intensity, the ADS 1115 is connected to the ground of the circuit. In our case, the ground reference is electrode B. The analog inputs A1 and A0 of the ADS1115 are connected to each pole of the reference resistor (R9). In order to increase input impedance and adapt the signal gain, tracking amplifiers have been included and completed by a divider bridge (R5, R8, R6 and R7) located between the two amplifiers. The resistance of the divider bridge ensures that the signal remains between 0 and 5 V, in accordance with the ADS1115 signal gain. To measure the potential difference, the M and N electrodes are connected to analog inputs A2 and A3 of the ADS 1115. Between the ADC and the electrodes, two tracking amplifiers and a divider bridge have been positioned so as to obtain a potential lying within the 0–5 V range at the analog input of the ADS 1115. Let's note that the potential difference value would equal the potential measured with ADS1115 multiplied by the voltage reduction value of the divider bridge (see Section 5.2). Despite the use of high-resolution resistance (i.e. accurate to within 1%), it is still necessary to calibrate the divider bridge using a precision voltmeter. For this purpose, the input and output potentials of the divider bridge must be measured using an equivalent circuit for various electrical potential values. These values serve to calculate the gain. With this electronic board, it is possible to measure the potential and intensity without disturbing the electric field in the ground, with the total input impedance value being estimated at 36 mega-ohms. A shortcut between Electrodes A and B will generate excessive currents, whose intensities depend on the type of battery used. A lithium ion battery or automobile-type lead-acid battery can deliver a strong enough current to damage the board and, as such, constitutes a potential hazard. We therefore recommend adding a 1.5-A fuse between the battery and resistor R9.

Multiplexer

The multiplexer (MUX), also called a switchboard, is used to automatically connect any of the electrodes inserted into the soil to connections A, B, M or N (see Fig. 5). The design adopted has a multiplexer associated with just one connection (A, B, M or N). Each multiplexer is able to connect the dedicated connection (A, B, M or N) to any of the 32 electrodes but only one at a time (Fig. 3). For each measurement electrode (A, B, M or N), we have opted to use two 16-channel shield relay modules, with each relay having two opening positions, normally closed and open. The relays are activated using a digital output of 0 or 5 V (GPIO): at 0 V, the relay is in the normally closed position, and at 5 V the relay switches to the open position. One command channel per relay is required to activate a relay, which means that each measurement electrode (A, B, M or N) can be connected to any of the 32 electrodes. If the relay were directly controlled by the CPU, it would require 32 GPIOs per channel, thus 128 GPIOs in all, given the 4 measurement channels (A, B, M and N), which is impossible since the CPU chosen only has 20 GPIOs. To limit the number of GPIOs required, we opted for a cascade routing design, as shown in Fig. 6. This configuration organizes the relays in three successive levels, each being controlled by a single GPIO. The first level is composed of a single relay, while the fifth level comprises 16 relays to switch the measurement electrodes on any of the 32 electrodes, the suggested set-up requires 8 cards with 16 relays and only 20 GPIOs to manage it. A channel is addressed to the desired electrode using a 5-digit binary code, whereby each output electrode has its own address (Table 1). Before measuring the resistance for a quadrupole, the correct channels are activated (Table 2).
Fig. 6

Multiplexer connection diagram for electrodes A, B, M or N: a) theoretical connection diagram for electrode A; and b) connection to the 16-relay shield module.

Table 1

Table of specifications.

Name of hardwareOhmPi (open hardware resistivity meter)
Subject area

Environmental, Planetary and Agricultural Sciences

Hardware type

Imaging tools

Measuring physical properties and in-lab sensors

Open Source LicenseGNU General Public License v3.0
Cost of hardware< $500 for all electronic parts
Source File Repositoryhttps://www.doi.org/10.17605/OSF.IO/DZWB4orhttps://gitlab.irstea.fr/reversaal/OhmPi.git
Table 2

GPIO channel and binary electrode address.

Electrode AGPIO 12GPIO 16GPIO 20GPIO 21GPIO 26Electrode AGPIO 12GPIO 16GPIO 20GPIO 21GPIO 26
Electrode BGPIO 18GPIO 23GPIO 24GPIO 25GPIO 19Electrode BGPIO 18GPIO 23GPIO 24GPIO 25GPIO 19
Electrode MGPIO 6GPIO 13GPIO 4GPIO 17GPIO 27Electrode MGPIO 6GPIO 13GPIO 4GPIO 17GPIO 27
Electrode NGPIO 22GPIO 10GPIO 9GPIO 11GPIO 5Electrode NGPIO 22GPIO 10GPIO 9GPIO 11GPIO 5
Elec-111100Elec-1701101
Elec-211101Elec-1801100
Elec-311110Elec-1901111
Elec-411111Elec-2001110
Elec-511000Elec-2101001
Elec-611001Elec-2201000
Elec-711010Elec-2301011
Elec-811011Elec-2401010
Elec-910100Elec-2500101
Elec-1010101Elec-2600100
Elec-1110110Elec-2700111
Elec-1210111Elec-2800110
Elec-1310000Elec-2900001
Elec-1410001Elec-3000000
Elec-1510010Elec-3100011
Elec-1610011Elec-3200010
Multiplexer connection diagram for electrodes A, B, M or N: a) theoretical connection diagram for electrode A; and b) connection to the 16-relay shield module. Table of specifications. Environmental, Planetary and Agricultural Sciences Imaging tools Measuring physical properties and in-lab sensors GPIO channel and binary electrode address.

Design files

The design files consist of all the necessary content to manufacture, assemble and use the OhmPi device (Table 1). All design files are available and maintained at the Open Science Framework source file repository dedicated to this manuscript (Table 3).
Table 3

Complete list of files.

Design file nameFile typeOpen source licenseLocation of the file
HardwarePCBCC BY 4.0Source file repository (PCB folder)
ABMN.txtTextCC BY 4.0Source file repository
ohmpi.pyPython script (.py)CC BY 4.0Source file repository
path2elec.txtTextCC BY 4.0Source file repository
quadmux.txtTextCC BY 4.0Source file repository
README.mdmarkdownCC BY 4.0Source file repository
requirements.txtTextCC BY 4.0Source file repository

PCB Folder: contains all files necessary for the design of a printed circuit board for the measurement board.

ABMN.txt: query sequence: list of all quadrupoles used for measurements. This file can be modified depending on the measurements the user wishes to carry out.

ohmpi.py: code for use in a python environment on the Raspberry Pi, allowing OhmPi to conduct measurements according to both the parameters specified in the code and the query sequence defined in the ABMN.txt file. Measurement parameters that must be specified in the ohmpi.py file include:

the number of electrodes (32 by default),

the injection duration, in seconds (0.5 s by default),

the number of times the query sequence must be repeated (useful for time-lapse monitoring, the default value is set to 1),

the delay between two repetitions of the query sequence in seconds (30 s by default),

the stack number corresponding to the number of times current injection is repeated for each quadrupole.

path2elec.txt: This file is hardware-dependent; it contains a matrix of logical values (0 or 1) indicating the different states (0 V or 5 V) of the multiplexers in order to connect a channel to an electrode.

quadmux.txt: This file is also hardware-dependent; for each channel, it provides the sequence of GPIO channels controlling the multiplexers downstream.

README.md: A description file that describes how to install the software dependencies.

requirements.txt: A text file listing the package dependencies that must be satisfied in order to run ohmpi.py.

Complete list of files. PCB Folder: contains all files necessary for the design of a printed circuit board for the measurement board. ABMN.txt: query sequence: list of all quadrupoles used for measurements. This file can be modified depending on the measurements the user wishes to carry out. ohmpi.py: code for use in a python environment on the Raspberry Pi, allowing OhmPi to conduct measurements according to both the parameters specified in the code and the query sequence defined in the ABMN.txt file. Measurement parameters that must be specified in the ohmpi.py file include: the number of electrodes (32 by default), the injection duration, in seconds (0.5 s by default), the number of times the query sequence must be repeated (useful for time-lapse monitoring, the default value is set to 1), the delay between two repetitions of the query sequence in seconds (30 s by default), the stack number corresponding to the number of times current injection is repeated for each quadrupole. path2elec.txt: This file is hardware-dependent; it contains a matrix of logical values (0 or 1) indicating the different states (0 V or 5 V) of the multiplexers in order to connect a channel to an electrode. quadmux.txt: This file is also hardware-dependent; for each channel, it provides the sequence of GPIO channels controlling the multiplexers downstream. README.md: A description file that describes how to install the software dependencies. requirements.txt: A text file listing the package dependencies that must be satisfied in order to run ohmpi.py.

Bill of materials

As for the wire lengths, they will be adjusted according to the OhmPi packaging chosen by users (Table 4).
Table 4

Tools and their applications required for assembly.

ToolApplication
Soldering iron and solderElectronics and inserting heat set nuts
Electric drillDrilling holes and screwing
Wire stripperStripping the electrical wires
Wire cutterCutting the electrical wires
Flat screwdriverScrewing the cables into the terminal blocks

Note to manufacturers: All these tools are commonly found in makerspaces or garages.

Tools and their applications required for assembly. Note to manufacturers: All these tools are commonly found in makerspaces or garages. Bill of materials.

Building instructions

In the present article, OhmPi comes assembled in an electrical box (Fig. 7) for laboratory applications. In the following assembly description, the electrical box has not been included. Users are free to install the resistivity meter within their own box in using their own connectors. The electrical power network is accessible in the laboratory, which will not be the case for field applications. It should be noted that the OhmPi must be assembled without a power supply or a battery plugged in, as this will prevent any risk of personal injury or equipment damage.
Fig. 7

Our laboratory OhmPi resistivity meter layout.

Our laboratory OhmPi resistivity meter layout.

OS installation on a Raspberry Pi

The first step is to start up the Raspberry Pi board, including installation of an OS (operating system). For this step, the installation instructions are well described on the Raspberry website (https://www.raspberrypi.org/help/noobs-setup/2/). The authors recommend installing the latest stable and complete version of Raspbian by using NOOBS (a simple-to-use operating system installer). Once the OS has been installed, the 1-wire option and GPIO remote option must be deactivated via the Raspbian GUI settings menu. Failure to carry out this task may cause damage to the relay shield cards during measurements.

Construction of the measurement board and connection to the Raspberry

The measurement board must be printed using the PCB file (Source file repository, Fig. 8-a), with components soldered onto it by following the steps described below and illustrated in Fig. 8b–f:
Fig. 8

Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ±1%, c) adding the 1.5-Kohm resistors ±1%, d) adding the black female 1 × 10 header and the 7-blue screw terminal block (2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ±0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Step no. 1: installation of the 1-Kohm resistors with an accuracy of ±1% (Fig. 8-b) Step no. 2: installation of the 1.5-Kohm resistors with an accuracy of ±1% (Fig. 8-c) Step no. 3: installation of both the black female 1 × 10 header and the 7-blue screw terminal blocks (Fig. 8-d) Step no. 4: installation of the 50-Ohm reference resistor ±0.1% (Fig. 8-e) Step no. 5: addition of both the ADS115 directly onto the header (pins must be plugged according to the figure) and the LM358N operational amplifiers (pay attention to the direction) (Fig. 8-f). Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ±1%, c) adding the 1.5-Kohm resistors ±1%, d) adding the black female 1 × 10 header and the 7-blue screw terminal block (2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ±0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.) The 1-Kohm and 1.5-Kohm resistors apply to the divider bridge. If, for example, you prefer using a weaker or stronger power supply, it would be possible to adjust the divider bridge value by simply modifying these resistors. Once all the components have been soldered together, the measurement board can be connected to the Raspberry Pi and the battery terminal, according to Fig. 9. Between the battery and the TX+ terminal of the measurement board, remember to place a fuse holder with a 1.5-A fuse for safety purposes.
Fig. 9

Measurement board installation with Raspberry Pi.

Measurement board installation with Raspberry Pi.

Current injection

The next step consists of featuring the 4-channel relay module used for current injection and its assembly. The wiring between the relays must be carried out in strict accordance with Fig. 10. This card must then be connected to the Raspberry Pi and the measurement card. On the Raspberry Pi, it is necessary to connect inputs In1 and In2 to the same GPIO. For this purpose, it is necessary to solder together the two pins on the 4-channel relay shield module and connect them to the Raspberry Pi GPIO-7 (Fig. 10). The same must be performed for inputs In3 and In4 with GPIO-8. Connect the GND and 5Vdc pins of the relay card's 4 channels respectively to the GND pin and 5Vcc of the Raspberry Pi. Now connect relays 1, 2, 3 and 4, as shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively to terminals B and A of the measurement board.
Fig. 10

Main connection diagram of the measurement card and 4-channel relay shield.

Main connection diagram of the measurement card and 4-channel relay shield.

Multiplexer implementation

The resistivity measurement is conducted on four terminals (A, B, M and N). The user could perform each measurement by manually plugging four electrodes into the four channel terminals. In practice, ERT requires several tens or thousands of measurements conducted on different electrode arrays. A multiplexer is therefore used to connect each channel to one of the 32 electrodes stuck into the ground, all of which are connected to the data logger (Fig. 2). We will describe below how to assemble the four multiplexers (MUX), one per terminal. A multiplexer consists of 2 relay modules with 16 channels each. On the first board, on each MUX, 15 relays out of the 16 available will be used. Please note that the suggested configuration enables making smaller multiplexers (8 or 16 electrodes only). On the other hand, if you prefer upping to 64 electrodes, which is entirely possible, a GPIO channel multiplier will have to be used. To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown in Fig. 11. For this purpose, 0.5-mm2 cables with end caps are used and their length adjusted for each connection in order to produce a clean assembly. The length was adjusted so that the distance between the two points to be connected could be directly measured on the board once they had been assembled one above the other, in adding an extra 3 cm. The wires at the ends need to be stripped and the end caps added. As a final step, connect the cables to the correct connectors. This operation must be repeated in order to carry out all the wiring shown in Fig. 11.
Fig. 11

Schematic diagram of the wiring of two 16-channel relay shields.

Schematic diagram of the wiring of two 16-channel relay shields. Once the operation has been completed, the 16 control pins of each 16-channel relay shield card must be prepared. Each card actually contains 16 input channels for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi, see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Fig. 12.
Fig. 12

Connection to the 16-channel relay shield.

Connection to the 16-channel relay shield. For the 16-channel relay shield no. 1, these steps must be followed: Position a test circuit with 10 horizontal and 10 vertical holes on the pins of the 16-channel relay shield board (Fig. 12-a). Follow the diagram and solder the pins as shown in Fig. 12-b. Lastly, solder 0.5-mm2 wires 1 m in length to the test circuit (Fig. 12-c). For relay shield no. 2, follow the same procedure, but solder all the pins together (Fig. 12-d–f). This same operation must be repeated for the other three multiplexers as well. The next step consists of connecting the relay card inputs to the Raspberry Pi according to Table 5 for all four multiplexers (see Table 6).
Table 5

Bill of materials.

DesignatorComponentNumberCost per unit currencyTotal cost, currencySource of materialsMaterial type
CPURaspberry Pi 3 Model B1$61 USD$61 USDAmazonOther
Power adapterRaspberry Pi power adapter (5V 2.5A)1$10 USD$8 USDAmazonOther
Relay shield for multiplexer16-channel 5V Relay Module8$28 USD$224 USDAmazonOther
Relay shield for current injection4-channel 5V Relay Module1$5 USD$5 USDAmazonOther
Cable1 mm2 (50 m)1
0.5 mm2 (100 m)1$16 USD
PCB printPrinted circuit board (packaging quantity × 3)1$12 USD$12 USDAislerOther
ElectronicHeader sets 1 × 101$1.20 USD$1.20 USDMouserOther
Dual screw terminal (3.5-mm pitch)7$0.8 USD$4.20 USDMouserOther
Resistor 1 Kohm, 0.25 W ± 1%4$0.25 USD$1 USDRSOther
Resistor 1.5 Kohms ± 1%4$0.25 USD$1 USDRSOther
Resistor 50 ± 0.1%1$5.22 USD$5.22 USDMouserOther
LM358N AMP-o4$0.80 USD$2.40 USDMouserOther
ADS11151$14.95 USD$14.95 USDAdafruitOther
12 V battery 7ah2$27 USD$54 USDRSOther
Ferrule Crimp Terminal (1 mm2)100$0.20 USD$20 USDRSOther
Electrical Crimp Terminal (0.5 mm2)10$0.20 USD$2 USDRSOther
Fuse 1.0 A1$0.10 USD$0.10 USDConradOther
Fuse holder (576-FHAC0002ZXJ)1$5 USD$5 USDMouserOther



Total$422.8 USD
Table 6

Connection of the GPIOs to each multiplexer.

Relay shield no. 1
Relay shield no. 2
PIN 1PINS 2–3PINS 4–7PINS 8–16PINS 1–16
Multiplexer A1216202126
Multiplexer B1823242519
Multiplexer M61341727
Multiplexer N22109115
Connection of the GPIOs to each multiplexer.

Electrode connection

At this point, all that remains is to connect the electrodes of each multiplexer to a terminal block (Fig. 13). In our set-up, screw terminals assembled on a din rail were used. According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in Fig. 14. Fig. 13 provides an example of multiplexer relay connections for electrode no. 1: this electrode of multiplexer MUX A must be connected to electrode no. 1 of MUX B. Moreover, electrode no. 1 of MUX B must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. This operation must be repeated for all 32 electrodes.
Fig. 13

Wire cabling for multiplexer and terminal screw connections.

Fig. 14

Example of a multiplexer connection to the screw terminal for electrode no. 1.

Wire cabling for multiplexer and terminal screw connections. Example of a multiplexer connection to the screw terminal for electrode no. 1.

Technical data

To provide users with an idea of performance levels achieved, we have summarized in the following table the technical information relative to the OhmPi. This information was obtained from the technical notes issued for the components and boards used. The corresponding results are presented in Table 7.
Table 7

OhmPi technical specifications.

ParameterSpecificationsUnits
Operating temperature (°C)From 0 to 50°C
Power consumption of CPU and control system18.5 (estimation depending on the number of relays used per measurement)W
Voltage injection12V
Battery12V
Current0–50mA
Min pulse duration150ms
Input impedance36Mohms
Data storagemicro SD card
Resolution0.01mV
OhmPi technical specifications.

Operating instructions

Preliminary procedure (only for the initial operation)

The open source code must be downloaded at the Open Science Framework source file repository for this manuscript () or at the following Gitlab repository address: https://gitlab.irstea.fr/reversaal/OhmPi. The code must be then unzipped into a selected folder (e.g. OhmPi-master). A “readme” file is proposed in the directory to assist with installation of the software and required python packages. It is strongly recommended to create a python virtual environment for installing the required packages and running the code.

Startup procedure

As an initial operating instruction, the 12-V battery must be disconnected before any hardware handling. Ensure that the battery is charged at full capacity. Plug all the electrodes (32 or fewer) into the screw terminals. The Raspberry Pi must be plugged into a computer screen, with a mouse and keyboard accessed remotely. The Raspberry Pi must then be plugged into the power supply (for laboratory measurements) or a power bank (5 V–2 A for field measurements). At this point, you'll need to access the Raspbian operating system. Inside the previously created folder “ohmPi”, the protocol file “ABMN.txt” must be created or modified; this file contains all quadrupole ABMN numeration (an example is proposed with the source code). Some input parameters of the main “ohmpi.py” function may be adjusted/optimized depending on the measurement attributes. For example, both the current injection duration and number of stacks can be adjusted. At this point, the 12-V battery can be plugged into the hardware; the “ohmpi.py” source code must be run within a python3 environment (or a virtual environment if one has been created) either in the terminal or using Thonny. You should now hear the characteristic sound of a relay switching as a result of electrode permutation. After each quadrupole measurement, the potential difference as well as the current intensity and resistance are displayed on the screen. A measurement file is automatically created and named “measure.csv”; it will be placed in the same folder.

Shutdown procedure

To turn off the hardware, the following operation must be followed: 1) shut down the operating system; 2) unplug/disconnect the 12-V battery; and 3) disconnect the Raspberry Pi from the power supply.

Validation and characterization

A two-stage validation procedure has been carried out, consisting of performing laboratory measurements on a known resistance circuit along with in situ 2D-ERI measurements and then comparing these results to the output from a validated resistivity meter.

Laboratory validation

An initial validation of the resistivity meter is proposed on various resistance circuits simulating real-world measurements. For this purpose, the circuit proposed in Fig. 15 has been employed, in varying both R1 (soil resistance) and R2 (contact and lead resistance) values. The test protocol consists of varying the values of R1 and R2 respectively from 0.22 to 2000 Ω and from 47 to 5600 Ω. A total of 105 measurements were recorded; this series was repeated eight times in order to obtain a mean value and a standard deviation (StD). According to the theory behind this type of four-terminal measurement, contact and lead resistance (integrated in R2) should not impact the electrical potential measurement because the input impedance of measurement channels M and N is very high. The ratio between voltage (Vmn) and measured current (IAB) yields the desired Rsoil (obtained from OhmPi). The value of Rsoil should normally be equal to R1, provided the OhmPi is operating satisfactorily.
Fig. 15

Diagram of the four-wire measurement validation procedure – R1 and R2 represent the soil resistance and contact resistance, respectively.

Diagram of the four-wire measurement validation procedure – R1 and R2 represent the soil resistance and contact resistance, respectively. Fig. 16a presents the mean Rsoil obtained for each couple by varying R1 (abscissa) and R2 (ordinate), while Fig. 16b shows the StD of Rsoil. Fig. 16c and d display the measured current (mA) and its StD, respectively; and Fig. 16e and f provide the measured potential (mV) and its StD, respectively. It is interesting to note first of all that the Rsoil targets have been reached. The greater Rsoil StD deviation values are correlated with higher values of resistances R1 and R2, and hence with the lower current values. However, as demonstrated in Fig. 16, the error on Rsoil is highly correlated with very low potential measurements (<0.5 mV). Indeed, high R2 (contact + lead resistances) values lead to very low voltage measurements (when R1 is low); these low voltages cannot be accurately measured with the ADC, which has a resolution of 0.125 mV.
Fig. 16

Laboratory results of measurements: a) mean Rsoil, b) StD of Rsoil, c) mean current, d) StD current, e) mean voltage, and f) StD voltage.

Laboratory results of measurements: a) mean Rsoil, b) StD of Rsoil, c) mean current, d) StD current, e) mean voltage, and f) StD voltage. Fig. 17 also illustrates the effect of very low current measurements (<5 mA). Note that the tolerance of R1 (considered as a reference) is higher (1%) than the measured error. Consequently, this study shows that for common contact resistance values (Ohms in the hundreds to thousands) and for commonly encountered Rc values (Ohms between 1 and 100), OhmPi does provide accurate measurements.
Fig. 17

Error on the measured Rsoil (%) – resistance tolerance of resistors: 1%.

Error on the measured Rsoil (%) – resistance tolerance of resistors: 1%.

In situ validation

A test was performed in a field used for irrigation (Fig. 18-a) with OhmPi and a well-known commercial resistivity meter (Syscal Pro, Iris Instruments, Orleans, France). The survey was conducted with 16 aligned (stainless) electrodes, with a constant inter-electrode spacing of 25 cm. Conventional Wenner-Schlumberger and dipole–dipole protocols were implemented, leading to 182 measurements (four stacks for each measurement). The contact resistance varied between 0.99 and 2.74 Kohms.
Fig. 18

a) Experimental site, b) correlation between repeated measurements 1 and 2, c) correlation between repeated measurements 2 and 3, and d) correlation between OhmPi and Syscal measurements.

a) Experimental site, b) correlation between repeated measurements 1 and 2, c) correlation between repeated measurements 2 and 3, and d) correlation between OhmPi and Syscal measurements. Fig. 18b and c are aimed at evaluating the measurement repeatability by plotting against each other the resistance values obtained from two successive surveys carried out at a 1-hour interval. These measurements exhibit a very good level of repeatability (i.e. an R2 between 0.9996 and 0.9998). We could observe some deviation from the bisector for the highest values, which might be tied to the change in weather conditions between the two surveys (with additional sunshine increasing the surface soil temperature while decreasing soil water saturation near the electrodes). Fig. 18d reveals the quality of the correlation between the two devices (R2 = 0.9996). It is observed that the OhmPi slightly underestimates the resistance measurement compared to Syscal Pro, but this may simply be a temporal effect (measurements by the two resistivity meters were carried one after the other on the same set of electrodes) or another environmental effect. For each device and each quadrupole, the standard deviation has been calculated in percentage terms, i.e.: With Syscal Pro, the average value is 0.24%, with a maximum of 0.57% and a minimum of 0.02%. With OhmPi, the average value equals 1.03%, with a maximum of 2.07% and a minimum of 0.11%. The difference is very small within this range of values, with a slightly higher standard deviation for OhmPi, but still <3% in this case study. The two datasets were then inverted using a well-known inversion software (BERT, [50]). This inversion was prepared with the same settings for both datasets. Fig. 19 shows the two resulting images; they are similar, as are the RMS errors. Overall, the resistivity distributions over the section are very comparable and of the same order of magnitude. Minor variations are visible and can be assigned to a few errors in our equipment and environmental effects due to delays between the two acquisitions.
Fig. 19

Inversion of electrical resistivity data obtained with OhmPi (RMS = 4.11%) (top) and with Syscal Pro 48 (RMS = 4.05%) (bottom), 182 quadrupoles (Wenner-Schlumberger and dipole–dipole) – the red point indicates the electrodes. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Inversion of electrical resistivity data obtained with OhmPi (RMS = 4.11%) (top) and with Syscal Pro 48 (RMS = 4.05%) (bottom), 182 quadrupoles (Wenner-Schlumberger and dipole–dipole) – the red point indicates the electrodes. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Future developments of the OhmPi device

OhmPi is merely a first step in the overall development process we are seeking to accomplish, namely: Develop or find an electronic board to control current injection with a stabilized power supply. Develop our own relay shield board with 64 relays in order to limit wiring and simplify the assembly of a 64-electrode resistivity meter. Add control by external sensors; this can be achieved in the current version but has not been presented herein. Propose a way of measuring both Spontaneous Potential and Induced Polarization.

CRediT authorship contribution statement

Rémi Clement: Conceptualization, Methodology, Software, Visualization, Writing - original draft. Yannick Fargier: Conceptualization, Validation, Formal analysis, Writing - review & editing, Visualization. Vivien Dubois: Validation, Formal analysis, Writing - review & editing, Visualization. Julien Gance: Validation, Writing - review & editing. Emile Gros: . Nicolas Forquet: Software, Writing - review & editing, Supervision.

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.
  4 in total

1.  Contribution of 3-D time-lapse ERT to the study of leachate recirculation in a landfill.

Authors:  R Clément; L Oxarango; M Descloitres
Journal:  Waste Manag       Date:  2010-11-23       Impact factor: 7.145

2.  Long-term electrical resistivity monitoring of recharge-induced contaminant plume behavior.

Authors:  Erika Gasperikova; Susan S Hubbard; David B Watson; Gregory S Baker; John E Peterson; Michael B Kowalsky; Meagan Smith; Scott Brooks
Journal:  J Contam Hydrol       Date:  2012-10-04       Impact factor: 3.188

3.  Understanding leachate flow in municipal solid waste landfills by combining time-lapse ERT and subsurface flow modelling - Part II: Constraint methodology of hydrodynamic models.

Authors:  M Audebert; L Oxarango; C Duquennoi; N Touze-Foltz; N Forquet; R Clément
Journal:  Waste Manag       Date:  2016-04-16       Impact factor: 7.145

4.  On the value of electrical resistivity tomography for monitoring leachate injection in solid state anaerobic digestion plants at farm scale.

Authors:  Axelle Degueurce; Rémi Clément; Sylvain Moreau; Pascal Peu
Journal:  Waste Manag       Date:  2016-07-06       Impact factor: 7.145

  4 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.