An open-source instrumentation package for intensive soil hydraulic characterization

Paola Concialdi, Simone Di Prima*, Harsh M. Bhanderi, Ryan D. Stewart, Majdi R. Abou Najm, Murari Lal Gaur, Rafael Angulo-Jaramillo and Laurent Lassabatere
doi: 10.1016/j.jhydrol.2019.124492
Download the the post-refereeing final draft of the manuscript: Concialdi et al. (2020)
Article available online: 20 Dec 2019


We present a new open-source and modular instrumentation package composed of up to ten automatic infiltrometers connected to data acquisition systems for automatic recording of multiple infiltration experiments. The infiltrometers are equipped with differential transducers to monitor water level changes in a Mariotte reservoir, and, in turn, to quantify water infiltration rates. The data acquisition systems consist of low-cost components and operate on the open-source microcontroller platform Arduino. The devices were tested both in the laboratory and on different urban and agricultural soils in France and India. More specifically, we tested three procedures to treat the transducers readings, including a filtering algorithm that substantially improved the ability to determine cumulative infiltration from raw data. We combined these three procedures with four methods for estimating the soil parameters from infiltrometer data, showing pros and cons of each scenario. We also demonstrated advantages in using the automatic infiltrometers when infiltration measurements were hindered by: i) linearity in cumulative infiltration curves owing to gravity-driven flow, ii) an imprecise description of the transient state of infiltration, and iii) the occurrence of soil water repellency. The use of the automatic infiltrometers allows the user to obtain more accurate estimates of soil hydraulic parameters, while also reducing the amount of effort needed to run multiple experiments.

Supplementary Material


Figure. Main components of the automatic system. (a) Box with differential pressure sensor MPXV5010DP; (b) data acquisition system with Arduino MEGA 2560 Rev3; (c) 3D printed top and bottom plugs realized by Multi Jet Fusion (MJF) printing technology; (d) Infiltrometer; (e) detailed scheme of the infiltrometer; (f) laser catting project for the realization of the (g) tripod and (*) support tubes.

The list of components can be downloaded here (last update: 26/05/2020).

Data acquisition system with Arduino MEGA 2560 Rev3

Circuit diagram (open high resolution image)

Circuit diagram

3D printing

You can download here (last update: 21/11/2019) the 3D printing project (.stl file) for the realization of the stoppers (see Figure).

Printing specifications:

Technlogy: Multi Jet Fusion (MJF)
Printer: HP 3D Jet Fusion 5210MJF
Material: HP 3D High Reusability PA 12 (for watertight applications)

Print mode: Top Mechanical (+25%)
Layer tickness [μm-micron] 80
Tensile strenght [MPa] 53 = +20% improvement
Elongation at break [%] 19 = +58% improvement

Post finishing process: Extra black semigloss
The part is shot peened with Lancet™ nanospheres,
immersed in a high technology black dye bath that
makes the surface aesthetically pleasing and shoot
peened again with Glosser™ nanospheres to make it
semi gloss and more scratch resistant.
For functional or aesthetic parts.

The 3D printing service was provided by

Laser cutting project

You can download here (last update: 08/10/2019) the laser cutting project (.dxf file) for the realization of the tripod and support tubes (see Figure). Material: 10 mm-thick acrylic transparent sheet. The laser cutting service was provided by

Arduino sketch

The core of the data acquisition system consists of an Arduino Mega microcontroller board, an Adafruit data logger shield with an onboard SD socket and a LCD module shield (20 columns and 4 rows) and a differential pressure transducer.

The LCD module requires that a specific library (LiquidCrystal_I2C) be installed into the Arduino IDE; this library can be downloaded from the website

The Adafruit data logger shield requires that a specific library (RTClib-master) be installed into the Arduino IDE; this library can be downloaded from the website

The Arduino sketch can be downloaded here (last update: 15/03/2022).

Mounting Tutorial

Automatic treatment of the raw data

The device typically produces a “stair-like” relationship between time and recorded voltage. We propose an algorithm coded with the open-source software Scilab to treat the raw data recorded by the transducer. This algorithm automatically selects the values at the end of the constant height stages, i.e., by sampling the transducer readings at time immediately preceding the bubbling.

Download here the code (last update: 19/05/2022). Note, you first need to install scilab on your computer.

Video tutorial: