Skip to main content
HardwareX logoLink to HardwareX
. 2026 Apr 12;26:e00773. doi: 10.1016/j.ohx.2026.e00773

ESPiezometer: ESP32-based field tool for installation and validation of piezometric sensors for groundwater level monitoring

Armando Daniel Blanco-Jáquez a, Diego Armando Martínez-Cruz a,, María Teresa Alarcón-Herrera a, Ana Elizabeth Marín-Celestino b, Luz I Valenzuela-García a
PMCID: PMC13101700  PMID: 42027798

Graphical abstract

graphic file with name ga1.jpg

Keywords: ESP32, Piezometric sensor, Groundwater level monitoring, Field validation, Low-cost instrumentation, RS-485 communication

Abstract

Field installation of piezometric sensors often involves uncertainty regarding correct placement, sensor response, and agreement with manually measured static water levels. Commercial dataloggers provide high-resolution monitoring but do not offer installation-stage validation or open access to communication protocols. To address this gap, the ESPiezometer was developed as a low-cost, open-source device based on an ESP32-C3 microcontroller with RS485 Modbus communication, on-board water level calculation, temperature-based density correction, and Bluetooth Low Energy (BLE) integration for field data logging via an Android application. The hardware enables real-time verification of raw and corrected water level readings during deployment and allows immediate comparison with manual measurements. A custom PCB and 3D-printed enclosure were designed to facilitate reproducible assembly and portability. Field validation in a groundwater observation well (30–90 m depth range) demonstrated consistent communication integrity via CRC checks and measurement repeatability with a standard deviation below 0.03 m. After density correction, measurement error was reduced by 35–50% relative to manual reference levels. The obtained results demonstrate that the ESPiezometer can serve as a reliable companion instrument, reducing uncertainty during deployment and improving confidence in long-term groundwater monitoring campaigns.

1. Hardware in context

Specifications table.

Hardware name ESPiezometer
Subject área Engineering and materials science
Environmental, planetary and agricultural sciences
Hardware type Measuring physical properties and in-lab sensors
Field measurements and sensors
Closest commercial analog Dataloggers such as Solinst Levelogger, Keller pressure transmitters, or In-Situ Level TROLL (no direct equivalent for installation-stage validation)
Open source license CERN-OHL-W v2
Cost of hardware $ 26.74 USD
Source file repository https://doi.org/10.5281/zenodo.17400783
(https://github.com/adbj-hw/ESPiezometer)
OSHWA certification UID MX000038

Groundwater level monitoring is a key activity in hydrogeological studies, well performance assessment, and long-term aquifer management [1]. In groundwater monitoring campaigns, piezometric sensors are lowered into the wells to record water levels continuously [2]. During installation, however, it is not always clear if the sensor has reached the correct depth, if it is responding as expected, or if the values it reports match the static level measured manually before deployment. This issue is rarely addressed by commercial systems, which are mainly designed for long-term logging rather than guided installation or real-time validation.

Brands such as Solinst™, Keller™, or In-Situ™ offer high-precision dataloggers widely used in groundwater monitoring. These systems are designed primarily for reliable long-term logging and are typically accompanied by manufacturer guidelines for installation and operation. However, they are generally implemented as closed systems and are not intended to assist the operator during the installation and verification stage in the field. In many cases, interaction with the sensor occurs through proprietary interfaces or dedicated software, which limits direct observation of sensor behavior during deployment. As a result, confirming that the sensor is correctly positioned and that its readings match manual reference measurements during installation is not always straightforward [3], [4], [5].

While calibration procedures exist for many commercial sensors, these are typically performed before or after deployment and therefore do not necessarily support continuous verification of sensor behavior during installation. The ESPiezometer was developed to facilitate this installation-stage verification directly in the field.

As a result, technicians typically rely on indirect cues, trial and error, or post-processing to determine whether the sensor was properly deployed. In field practice, this leads to situations in which sensors are left installed with unnoticed measurement offsets or malfunctions that are only detected after data download, sometimes days or weeks later.

While some open-source or low-cost groundwater monitoring projects exist, most of them focus on low-cost datalogging or telemetry, and not specifically on installation validation or measurement error assessment in situ [6], [7], [8], [9], [10].

Beyond traditional logging approaches, recent work has explored data-driven and machine learning-based groundwater level prediction [11], [12]. However, these methods still depend on correctly installed and validated sensors in the field, and no tools are currently available to assist with installation-stage verification.

During the early development of the ESPiezometer, the need for a tool that could actively accompany the installation process became evident. By observing field technicians during sensor deployment, it was clear that a device capable of reading the sensor live, checking communication integrity, and displaying corrected and raw levels in real time could reduce uncertainty and improve data reliability from the very first measurement.

The ESPiezometer addresses this gap by acting not only as a reader of piezometric sensors, but as an installation and validation assistant, enabling the operator to compare readings against manual reference levels directly in the field. This allows the operator to see in real time how the sensor is responding, which helps detect installation errors early and makes the process easier to repeat under similar conditions. In practice, this becomes especially useful when commercial equipment is not available due to its cost or the lack of open communication protocols. With this operational need identified, the following section describes the ESPiezometer design, including hardware architecture, firmware structure, and field-oriented features implemented during development.

2. Hardware description

2.1. General architecture

The ESPiezometer (Fig. 1) is built around an ESP32-C3 microcontroller, selected for its low-power capabilities and integrated Bluetooth Low Energy (BLE) support. The device is powered through a TP4056 Li-Ion charger with boost converter module connected to a 3.7 V Li-Ion battery, and raises the battery output voltage to 12 V to supply the piezometric sensor. A Mini560 DC–DC converter steps down the voltage from 12 V to 5 V to power all other elements of the device. All modules are mounted on a custom PCB that distributes power and the RS485 bus through JST connectors, making wiring modular and repeatable. This layout secures each component firmly in place, improving replicability during assembly and ensuring mechanical reliability during field deployment.

Fig. 1.

Fig. 1

Physical overview of the ESPiezometer: (a) Top view of assembled device; (b); Right side view showing sensor connector (c) Left side view showing control switches; (d) Internal view showing PCB and modular components.

Communication between the ESP32-C3 and the sensor via RS485 is achieved through a module that automatically manages the transmission/reception address (Fig. 2), unlike the well-known modules based on the MAX485 IC. This simplifies the firmware and provides greater reliability in the field. To connect the sensor wires to the device, a speaker clip terminal was added so the cables can be secured quickly without using tools.

Fig. 2.

Fig. 2

System architecture of the ESPiezometer, showing power distribution and RS485 / I2C communication buses between modules.

For real-time visual feedback during installation, the ESPiezometer includes a 0.96″ OLED display that presents raw and density-corrected water levels along with sensor temperature. This immediate on-screen diagnostic function allows the operator to verify sensor response before final deployment.

In addition, a BLE communication layer is implemented to transmit the same measurements to a mobile device through a custom Android application. BLE remains disabled by default to reduce power consumption and is activated only when the BLE switch is turned ON by the user during field operations.

Besides to the measurements already mentioned, the BLE app allows you to obtain the location of the device and the timestamp, as well as store the measurements to generate a database. All these features are essential for field work and minimize the need for external equipment.

To improve robustness and ensure the device's portability, a special casing was designed and 3D printed to house all the components that make up the ESPiezometer. The casing was 3D printed with ease of opening for modification in mind, and nuts and bolts were included to facilitate this step if necessary. Labels were also included to quickly identify the components present in the device.

The enclosure protects the ESPiezometer from dust, accidental disconnection and mechanical stress during deployment at the well site, while still allowing direct access to the USB-C port and OLED display.

2.2. Piezometric sensor used

The system was tested using a WNK805/8010-T RS485 piezometric probe, configured for Modbus RTU communication. The main operating parameters declared by the manufacturer are:

Range: 0–200 m water column.

Output protocol: Modbus RTU, 9600 baud, 8 N1.

Power supply: 7.5–36 V DC (supplied at 12 V by ESPiezometer).

Measured variables: pressure (converted to level in m) and water temperature (°C).

Protection rating: IP68 for submersion

Interface: RS485 differential pair.

The probe provides direct readings in meters of water column and water temperature, which are retrieved by the ESPiezometer without requiring any prior manual calibration.

2.3. Modbus data handling and byte order conversion

The piezometric probe transmits level and temperature values encoded as 32-bit IEEE 754 floating-point numbers via Modbus RTU. Each variable is sent using two consecutive holding registers (4 bytes) in big-endian (ABCD) format, from which the numerical values are reconstructed to obtain the corresponding level and temperature readings.

This implementation also allows the firmware to be adapted to other Modbus-based piezometric sensors. The system reads sensor data using a predefined Modbus RTU request frame that specifies the device address, register map, and number of registers. Support for a different sensor can be implemented by modifying these parameters in the firmware and, if required, adjusting the byte-order interpretation used to decode the returned values, followed by firmware recompilation.

2.4. Temperature-based density correction model

Raw pressure values reported by the sensor assume a fixed water density. To account for temperature effects on water density, the ESPiezometer firmware implements the empirical formulation proposed by Kell (1975) for freshwater under atmospheric pressure [13]. This correlation has been widely used in metrological applications and later refined and expressed under the ITS-90 temperature scale by Jones & Harris (1992) for volumetric standards calibration [14]. Both formulations are consistent within the temperature range relevant for groundwater monitoring, and provide sufficient precision for in-field density correction tasks [13], [14]. The model was implemented directly in the firmware and returns density as a function of temperature in °C, as shown in Equation (1):

ρT=999.83952+16.945176T-7.9870401x10-3T2-46.170461x10-6T3+105.56302x10-9T4-280.54253x10-12T5/1+16.897850x10-3T (1)

Where ρ is the water density (kg·m−3) and T is the water temperature (°C).

The corrected water level (internally computed as a density-based correction) is calculated within the ESP32-C3, allowing the operator to view both raw and corrected values in real time.

2.5. Compatibility and extendability

Although this work was carried out using a WNK805/8010-T probe, the ESPiezometer is compatible with any RS485 Modbus piezometric sensor operating below 24 V DC. Adapting the system to another sensor requires only three modifications in firmware: register addresses for pressure and temperature, expected endian format and conversion factor or scaling (if values are not reported directly in m).

This ensures that the ESPiezometer can be used as a general-purpose installation and validation tool for multiple piezometric probe models.

2.6. Potential applications and benefits for other researchers

The ESPiezometer is not limited to the validation of piezometric probes in the specific case study presented. Its architecture and open firmware allow its use in broader research and field contexts, including the following:

  • Assists with in-field sensor installation validation, allowing operators to verify live sensor response and detect deployment errors before long-term logging starts.

  • Provides a low-cost alternative to proprietary diagnostic equipment, useful for institutions or monitoring programs with limited budget or without access to closed-protocol commercial systems.

  • Enables quick field calibration checks and measurement consistency assessment, reducing uncertainty during groundwater level monitoring in research wells or community-based hydrological projects.

  • Serves as a modular RS485 diagnostics platform, adaptable to other Modbus-based environmental sensors (pressure, temperature, conductivity) with minimal firmware adjustments.

  • Facilitates reproducible documentation of installation data, since measurements can be stored with timestamp and GPS coordinates directly from the field and exported as CSV for scientific reporting.

3. Design files summary

Design file / Folder File type Open source license Location of the file
1_Hardware_STL/ .stl CERN-OHL-P v2 https://doi.org/10.5281/zenodo.17400783
2_PCB_Gerber_Files/ .kicad_pcb,.kicad_sch,.zip CERN-OHL-W v2 https://doi.org/10.5281/zenodo.17400783
3_Firmware/ .ino GPLv3 https://doi.org/10.5281/zenodo.17400783
4_Mobile_App/ .apk /.aia GPLv3 https://doi.org/10.5281/zenodo.17400783
5_Documentation/ .pdf,.md,.png CC-BY 4.0 https://doi.org/10.5281/zenodo.17400783
6_Validation_Data/ .pdf,.csv,.md CC-BY 4.0 https://doi.org/10.5281/zenodo.17400783
7_Licenses/ .txt Included without modification https://doi.org/10.5281/zenodo.17400783

All design files are archived in Zenodo (https://doi.org/10.5281/zenodo.17400783) as the primary, immutable repository. The GitHub repository (https://github.com/adbj-hw/ESPiezometer) is provided for version control and development purposes.

  • 1_Hardware_STL/ — Contains all 3D printable enclosure parts and accessory labels in.stl format. These models correspond to the field-tested mechanical housing and include notes for printing orientation and tolerances.

  • 2_PCB_Gerber_Files/ — Includes the full KiCad project (.kicad_pcb,.kicad_sch) and Gerber manufacturing outputs. These files enable direct PCB fabrication and modification at schematic or layout level.

  • 3_Firmware/ — Provides the Arduino.ino source code for the ESP32-C3 including BLE telemetry, Modbus communication, OLED display handling, and field-ready low-power behavior.

  • 4_Mobile_App/ — Contains the Android.apk file for immediate installation and the.aia MIT App Inventor project file to allow direct modification or translation of the BLE logging application.

  • 5_Documentation/ — Includes build instructions, schematic reference, operation guide, assembly photographs, and printable pinout diagrams. These documents correspond to the reproducibility criteria required by OSHWA and HardwareX.

  • 6_Validation_Data/ — Provides raw.csv sensor logs exported from the mobile application, field test report, and DOI-linked video/media documentation used to verify real deployment conditions.

  • 7_Licenses/ — Contains all license texts (CERN-OHL-P, CERN-OHL-W, GPLv3, CC-BY-4.0) exactly as distributed in the repository to ensure legal clarity for reuse and certification.

All files are provided to allow complete reproduction or modification of the device.

4. Bill of materials summary

Designator Component Number Cost per unit − USD Total cost − USD Source of materials Material type
Battery Rechargeable LiPo Battery, 3.7 V, 2000 mAh, 97 × 33 × 5 mm (generic) 1 $ 6.98 $ 6.98 Steren Polymer
ESP32-C3 Board (U1) ESP32-C3 Development Board (RISC-V, 32-bit, WiFi + BLE 5.0, USB-C, TENSTAR ROBOT) 1 $ 2.92 $ 2.92 AliExpress Non-specific
Mini560 (U3) Mini560 Step-Down (Buck) DC-DC Converter Module, 5 V fixed output, based on the MP2315 IC (Monolithic Power Systems) 1 $ 1.83 $ 1.83 AliExpress Non-specific
TP4056 Battery Charger (U4) Li-Ion Charger with boost converter Module (Type-C input, 5 V charging, 4.3–27 V adjustable boost output), based on the TP4056 IC (NanJing Top Power ASIC Corp.) and MT3608 IC
(Aerosemi Technology)
1 $ 1.56 $ 1.56 AliExpress Non-specific
Transceiver Module (U2) RS-485 / TTL auto-direction transceiver module based on MAX485
(Maxim Integrated / Analog Devices) and SN74HC04 (Texas Instruments)
logic for automatic flow control (no external DE/RE), 3.3–5 V
1 $ 0.40 $ 0.40 AliExpress Non-specific
OLED Display 0.96″ OLED Display Module, I2C, 128 × 64 px, based on the SSD1306 controller (Solomon Systech) 1 $ 2.09 $ 2.09 AliExpress Non-specific
Slide Switch (SW PWR, SW BLE) Miniature Slide Switch, SPDT (1P2T), 0.5 A 50 V, 3 mm actuator 2 $ 0.15 $ 0.31 AliExpress Non-specific
Speaker Clip Terminal Speaker Clip Terminal, 4P Push-in Spring Load 1 $ 2.03 $ 2.03 AliExpress Non-specific
USB-C Panel Mount Connector USB Type-C Female Panel Mount Connector, 2-pin, 3A, Fast Charging 1 $ 1.81 $ 1.81 AliExpress Non-specific
Resistor (R1) 120  Ω ± 1% 1/4 W Metal Film Resistor, Standard through-hole resistor, 0.25  W, precision 1% 1 $ 0.02 $ 0.02 AliExpress Ceramic
M2 × 5 Screw M2 × 5 mm Hex Socket Pan Head Screw, Alloy Steel 4 $ 0.04 $ 0.17 AliExpress Metal
M2 × 6 Screw M2 × 6 mm Hex Socket Pan Head Screw, Alloy Steel 4 $ 0.03 $ 0.14 AliExpress Metal
M2 × 8 Screw M2 × 8 mm Hex Socket Pan Head Screw, Alloy Steel 4 $ 0.04 $ 0.15 AliExpress Metal
M3 × 10 Screw M3 × 10  mm Hex Socket Pan Head Screw, Alloy Steel 2 $ 0.05 $ 0.10 AliExpress Metal
M2 Hex Nuts M2 Hexagon Nuts 304 Stainless Steel DIN934 Metric 4 $ 0.04 $ 0.16 AliExpress Metal
M3 Hex Nuts M3 Hexagon Nuts 304 Stainless Steel DIN934 Metric 2 $ 0.04 $ 0.08 AliExpress Metal
M2 x 5 Threaded Insert Brass Heat-Set Threaded Insert (M2 x 5 x 3.2 mm, Knurled, for 3D Print Embedding) 4 $ 0.02 $ 0.07 AliExpress Metal
M2 x 4 Threaded Insert Brass Heat-Set Threaded Insert (M2 x 4 x 3.2 mm, Knurled, for 3D Print Embedding) 4 $ 0.02 $ 0.07 AliExpress Metal
Velcro tape Velcro tape (hook & loop fastener), self-adhesive, double-sided (cut to 50 × 20 mm from 1 m long self-adhesive roll) 1 $ 0.10 $ 0.10 AliExpress Polymer
Aluminum Heatsink Aluminum Heatsink for IC/Chip Cooling, with Thermal Conductive Tape, 8.8x8.8x5mm 1 $ 0.27 $ 0.27 AliExpress Metal
JST 2-pin Male Connector (J1, J2, J3, J6) JST XH 2.54 mm Male Connector, 2-pin 4 $ 0.03 $ 0.10 AliExpress Composite
JST 2-pin Female Connector JST XH 2.54 mm Female Connector, 2-pin 4 $ 0.03 $ 0.10 AliExpress Composite
JST 4-pin Male Connector (J4, J5) JST XH 2.54 mm Male Connector, 4-pin 2 $ 0.03 $ 0.06 AliExpress Composite
JST 4-pin Female Connector JST XH 2.54 mm Female Connector, 4-pin 2 $ 0.03 $ 0.06 AliExpress Composite
JST Crimp Terminals JST XH 2.54 mm Crimp Terminals (unit cost based on proportional usage from pack of 100) 16 $ 0.02 $ 0.29 AliExpress Metal
AWG 22 wire AWG 22 wire, 600 V, stranded tinned copper, silicone insulation, assorted colors, total used: 1.8 m 1 $ 0.66 $ 0.66 Amazon Composite
Male Header Strip 40-pin 2.54 mm male single-row header strip 1 $ 0.26 $ 0.26 AliExpress Composite
Female header strip 40-pin 2.54 mm female single-row header strip 1 $ 0.33 $ 0.33 AliExpress Composite
Superglue Superglue (cyanoacrylate adhesive), J-B Weld Professional, 20 g (model 33120SPA), total used: 4 g 1 $ 1.54 $ 1.54 Amazon Other
Black PLA Filament PLA 3D printer filament, 1.75 mm, black, ±0.02 mm, SUNLU, 1 kg spool, total used: 70 g 1 $ 1.14 $ 1.14 Amazon Polymer
White PLA Filament PLA 3D printer filament, 1.75 mm, white, ±0.03 mm, Creality, 1 kg spool, total used: 5 g 1 $ 0.14 $ 0.14 Amazon Polymer
PCB Board PCB custom board (PCB manufactured at JLCPCB, minimum batch of 5 units ($4), cost per board) 1 $ 0.80 $ 0.80 JLCPCB Composite
Total Device Cost: $ 26.74

The costs in the BOM refer to the total quantity required for the project. If the reference link shows a package with more units than needed (for example, 100 pieces), the price was calculated only for the amount used. The same applies to the PLA filament, where the cost refers only to the grams actually consumed. Shipping costs were not included in the calculation.

Prices were updated on October 15, 2025, and were converted from Mexican pesos (MXN) to US dollars (USD) using the exchange rate on that day, which was $18.48 MXN per $1 USD.

The wire list used in this project is shown in Table 1. It is recommended to use the same colors to facilitate understanding of the instructions presented below. If you do not have the same colors, simply maintain a clear equivalence between those used and those listed here.

Table 1.

List of wires as required by the project.

Color Quantity Length (cm)
White 2 12
White 1 15
Blue 2 12
Blue 1 18
Red 1 15
Red 1 18
Black 1 15
Black 1 18
Yellow 1 18
Green 1 15

The following support material and tools are required for the assembly of the device. Table 2 summarizes the items needed to reproduce the construction process as shown in the instructions.

Table 2.

Tools and support material required for assembly.

Tools Consumables / Support Material
Flat-cut pliers Nano cleaning sponges
Wire stripper Electronics degreaser
JST crimping tool Isopropyl alcohol (IPA)
2.5 mm Allen screwdriver Solder wire (tin–lead or lead-free)
1.5 mm Allen screwdriver Insulating tape
Soldering iron Cable ties
Threaded insert installation kit (1.2 mm tip) USB-C cable
1 mm mini flathead screwdriver Antistatic tweezers
Multimeter

All listed materials, cable lengths and tools correspond to the configuration used for the prototype. Equivalent alternatives can be used as long as electrical and mechanical specifications are maintained.

5. Build instructions

5.1. Preparing components and assembling the PCB

First, prepare the header pins. Cut the Female Header Strip into two pieces, each with 8-pins (Fig. 3a). Then, cut the Male Header Strip into one strip of 4-pins and thirteen individual header pins (Fig. 3b). Place the two 8-pin Female Header strips on the header pins of the ESP32-C3 Board (U1) (Fig. 3c). Put the board on the PCB and hold it with tape (Fig. 3d). Solder from the back (Fig. 3e), then remove the ESP32-C3 Board (Fig. 3f). Orientation does not matter since the board only supports the header strips during placement.

Fig. 3.

Fig. 3

(a) 8-pin Female Header Strip; (b) Male Header Strips cut to required size; (c) ESP32-C3 Board with Female Header Strip; (d) ESP32-C3 Board positioned on the PCB; (e) Female Header Strips soldered; (f) PCB after removing the ESP32-C3 Board.

Insert three individual Male Header pins in the A+, B-, and Earth header positions of the Transceiver Module (U2) area on the PCB. Also, insert the strip of four Male Header pins on the remaining module header positions (Fig. 4a). Place the Transceiver Module on top of the Male Header pins and solder it in place (Fig. 4b). Solder from the back to attach it to the PCB (secure it temporarily with adhesive tape). Trim any excess pins with flat cutting pliers (Fig. 4c).

Fig. 4.

Fig. 4

(a) Header pins placed in PCB; (b) Transceiver Module soldered to the Header pins; (c) Excess pins trimmed.

Repeat the previous step for the Mini560 (U3) and TP4056 Battery Charger (U4) modules. Use the remaining individual male header pins to connect each of these modules in the same way: insert pins into the designated holes for each module (Fig. 5a), align the module on top (Fig. 5b), solder them in place and from the back of the PCB, then trim any excess (Fig. 5c).

Fig. 5.

Fig. 5

(a) Individual male headers inserted; (b) Modules positioned before soldering; (c) Modules soldered and excess pins trimmed.

Place the 120 Ω Resistor (R1) on the PCB. Also, insert the JST 2-pin Male Headers (J1, J2, J3, J6) and the JST 4-pin Male Headers (J4, J5) (Fig. 6a). Solder all components from the back of the PCB. Trim the excess resistor lead (Fig. 6b). Clean the PCB and the top surfaces of the modules (U1, U2, U3, U4) using an electronics degreaser and nano cleaning sponges (optional: isopropyl alcohol) (Fig. 6c).

Fig. 6.

Fig. 6

(a) Resistor and JST male headers placed on the PCB; (b) Soldered components and trimmed resistor lead; (c) Cleaned PCB.

Use the wire stripper to remove approximately 4 mm of insulation from both ends of each AWG 22 wire (Fig. 7a). Attach the JST Crimp Terminals to one end using the crimping tool, leaving the other end free. First, place the crimp terminal and apply light pressure with the crimping tool to hold it in place. Verify that the terminal’s protruding tab is positioned at the edge of the jaws (Fig. 7b). Then, insert the wire into the crimp terminal until the insulation meets the pin. Apply firm pressure with the crimping tool to secure it (Fig. 7c).

Fig. 7.

Fig. 7

(a) Stripped wire; (b) Correct position of the crimp terminal in the crimping tool; (c) Properly crimped terminal.

Repeat the previous step with all remaining wires (Fig. 8a) and with the USB-C Panel Mount Connector wires (Fig. 8b).

Fig. 8.

Fig. 8

(a) Wires ready for assembly; (b) USB-C panel mount connector with crimped terminals.

To crimp the Battery wires, firts cover the negative wire of the battery with insulating tape to prevent short circuits (Fig. 9a). Then, crimp a JST terminal to the positive wire of the battery (Fig. 9b), following the previous steps, and insert it into the corresponding position in the JST 2-pin Female Connector (Fig. 9c). For better reference, temporarily connect the female connector to the J3 male connector. Repeat this process with the negative wire (Fig. 9d).

Fig. 9.

Fig. 9

(a) Negative wire covered with insulating tape; (b) Positive wire with crimped terminal; (c) Positive wire inserted into the JST 2-pin female connector; (d) Completed JST 2-pin female connector terminated with both wires.

Solder the four 15 cm AWG 22 wires to the OLED Display. First, insert the wires through the backside of the display (Fig. 10a), then solder them on the top side following this order: black (GND), red (VCC), green (SCL), and white (SDA). Trim any excess wire and clean the soldered area afterward (Fig. 10b).

Fig. 10.

Fig. 10

(a) Correct wire insertion position before soldering; (b) OLED display with wires soldered, trimmed, and cleaned.

5.2. Assembling the case

First, remove all 3D printing supports. Then, install the M2 x 5 Threaded Inserts into the supports of the casés top part (ESPiezometer_case_top_part.stl) (Fig. 11a) using a soldering iron heated to 220 °C and the threaded insert installation kit with a 1.2 mm tip (Fig. 11b). Repeat this process for the four supports on the bottom part of the case (ESPiezometer_case_bottom_part.stl), this time using the M2 x 4 Threaded Inserts (Fig. 11c).

Fig. 11.

Fig. 11

(a) Case top part with the threaded insert ready for installation; (b) Installation process of the threaded insert using the soldering iron; (c) Case bottom part with the threaded insert installed.

Remove the protective film from the OLED display and place it on the top part of the case, ensuring the wires face upward (Fig. 12a). Apply a small amount of super glue to the 4 screw brackets to secure the display to the case (Fig. 12b, Fig. 12c). Allow the adhesive to dry completely.

Fig. 12.

Fig. 12

(a) Correct OLED display placement; (b) Super glue applied to the screw brackets; (c) OLED display properly fixed in the case.

Fasten the Speaker Clip Terminal to the case using an M3 × 10 screw and M3 hex nuts (Fig. 13a). Insert the screws from the outside of the case and tighten the nuts from the inside (Fig. 13b).

Fig. 13.

Fig. 13

(a) Correct positioning of the terminal and screws; (b) Nuts tightened from the inside of the case.

Place both Slide Switches (SW PWR and SW BLE) inside of the case (Fig. 14a). Secure using the M2 × 6 Screw and M2 Hex Nuts, following the previous procedure (Fig. 14b).

Fig. 14.

Fig. 14

(a) Slide switches positioned inside the case with screws inserted from outside; (b) Nuts tightened from the inside of the case.

Insert the USB-C panel mount connector into the bottom part of the case, ensuring proper alignment (Fig. 15a, Fig. 15b).

Fig. 15.

Fig. 15

(a) Inside view showing connector placement; (b) Outside view showing connector placement.

Solder the four 18 cm AWG 22 wires to the speaker clip terminal in the following order (from top): yellow, blue, black, and red (Fig. 16a). It is recommended to tin the pins first.

Fig. 16.

Fig. 16

(a) Correct wire installation in the speaker clip terminal; (b) Correct wire installation in the slide switches.

Solder the 12 cm AWG 22 wires to the slide switches: blue to the top (SW BLE – J6) and white to the bottom (SW PWR – J1). Leave the top pin of each switch unconnected (Fig. 16b).

Stick the label (ESPiezometer_speaker_clip_label.stl) above the speaker clip terminal, apply super glue to the back, and press firmly (Fig. 17a).

Fig. 17.

Fig. 17

(a) Label placement on the speaker clip terminal; (b) Label placement on the slide switches.

Repeat the process for the slide switch labels (ESPiezometer_sw_labels.stl): place “BLE” above SW BLE, “PWR” above SW PWR, and glue the “ON/OFF” labels below each switch (Fig. 17b).

Remove the protector from one side of the Velcro tape and stick it to the back of the battery (Fig. 18a, Fig. 18b).

Fig. 18.

Fig. 18

(a) Velcro tape with the first protector removed; (b)Velcro tape attached to the back of the battery; (c) Velcro tape with the remaining protector removed; (d) Battery with Velcro tape attached to the bottom part of the case.

Remove the remaining protector and attach the battery, with the wires facing down, to the bottom part of the case (ESPiezometer_case_bottom_part.stl) (Fig. 18c,Fig. 18d).

Install the PCB in the bottom part of the case using the M2 × 5 Screws (Fig. 19a,Fig. 19b), then place both parts of the case next to each other (Fig. 19c).

Fig. 19.

Fig. 19

(a) Correct positioning of the PCB in the case; (b) PCB secured with screws; (c) Both parts of the case placed together.

Connect the male and female JST connectors as a reference for wire placement (Fig. 20a). Connect the OLED display crimped wires to the J5 JST 4-pin Male Connector in the following order (from left to right, as marked on the PCB): white, green, black, red (Fig. 20b). Press to secure and fasten with cable ties at both ends, then cut the excess (Fig. 20c).

Fig. 20.

Fig. 20

(a) Male and female JST connectors connected; (b) Insert the OLED display wires into the connector; (c) Connector secured and wires fasten.

Repeat the previous steps with the transceiver module wiring in the J6 JST 4-pin Male Header, in the following order (from top to bottom): red, black, blue, and yellow (as marked on the PCB) (Fig. 21a).

Fig. 21.

Fig. 21

(a) Transceiver module wiring inserted in the connector; (b) Installation of the remaining wires; (c) heat sink installed on the CI TP4056.

Then, connect the slide switches as before: BLE (top, blue cable) and PWR (bottom, white cable), to the inputs marked SW BLE (J6) and SW PWR (J1) on the PCB.

Connect the USB-C Panel Mount Connector wiring in the J3 JST 2-pin Male Connector, verify the polarity: black goes at the bottom (marked as IN-) (Fig. 21b).

Finally, connect the battery wiring to the J2 JST 2-pin Male Connector and install the heat sink on the CI TP4056 of the TP4056 Battery Charger (Fig. 21c).

5.3. Powering up and testing the device

Switch on the main power (PWR) and verify the output voltage of the TP4056 battery charger (Fig. 22a). Then, place the multimeter on the module’s output terminals and adjust the potentiometer using the mini flathead screwdriver until it reads 12 V (Fig. 22b). Once done, confirm that the Mini560 outputs 5 V (Fig. 22c), then switch off the power.

Fig. 22.

Fig. 22

(a) Verification of the TP4056 battery charger’s output voltage; (b) TP4056 battery charger output voltage set to 12 V; (c) Mini560 output voltage confirmed.

To flash the ESP32-C3, first install the Arduino IDE, ESP32 core for the Arduino IDE and the following libraries:

Adafruit GFX Library by Adafruit (version 1.12.3).

Adafruit SSD1306 by Adafruit (version 2.5.15).

Then extract the ESPiezometer.zip file, launch ESPiezometer.ino in the Arduino IDE, and connect the ESP32 using the USB-C cable. Select the appropriate board type (ESP32C3 Dev Module) and the corresponding COM port. Upload the firmware to the ESP32-C3.

Once firmware upload is complete, place the ESP32-C3 onto the PCB, aligning the board’s USB-C port with top opening of the case. Then, connect the piezometric sensor, verify the wiring order, and turn on the PWR switch to test the operation (Fig. 23a, Fig. 23b).

Fig. 23.

Fig. 23

(a) Fully assembled device with ESP32-C3 and piezometric sensor; (b) Verification of correct sensor readings on the display; (c) Case secured with screws.

Finally, secure the case with M2 screws from the back (Fig. 23c). If necessary, clear the screw holes at the top to remove any remaining printing residue before fastening.

To install the App, send the ESPiezometer_APP.apk file to an Android smartphone and start the installation process specific to your device. Ensure that you grant permission to search for nearby devices, access device location, and save files if any of these permissions are requested.

The App was tested on various Android smartphones. The following models did not experience any operational issues: Google Pixel 6A, Oppo Reno 7, and Samsung S23 Ultra. Also tested on the Huawei Pura 70 Pro, the connection to the ESPiezometer was possible, but the information sent by the ESP32-C3 could not be displayed.

6. Operation instructions

To use the ESPiezometer, first connect the sensor wires and then switch the power (PWR) to ON. Once powered, the display should show: the raw measurement (in meters), the corrected measurement (in meters), the temperature (in °C), and “OK” with a counter (Fig. 24).

Fig. 24.

Fig. 24

Information displayed on the device screen.

The counter indicates that the device is running, even if the measurements on the screen do not change. Without it, you may not know if the device has stopped or frozen.

To complement the device's features using the app, open it on your phone and turn on the BLE switch so that the ESPiezometer activates this feature and makes it accessible to the app. In the app, tap “Start Scanning” to view nearby devices (Fig. 25a), then tap “ESPiezometer” to establish the connection (Fig. 25b).

Fig. 25.

Fig. 25

(a) Start screen; (b) Devices found after scanning via Bluetooth; (c) Main screen displaying device measurements and control buttons.

Once connected, the main screen appears. At the top, the screen displays the same measurements as the ESPiezometer, along with the location (latitude and longitude) and timestamp. At the bottom the Bluetooth status is shown (Fig. 25c). Four buttons are also present: Save Measurement, Share CSV, Clear All Data, and Disconnect.

To save the measurement displayed on the screen, tap the “Save Measurement” button. A field to enter a sample identifier (ID) will appear (Fig. 26a). You can use alphanumeric characters for better identification. To confirm the entered ID, tap the “Confirm and Save” button (Fig. 26b). A confirmation message will then appear on the screen, indicating that the data has been successfully saved (Fig. 26c).

Fig. 26.

Fig. 26

(a) Screen for ID entry; (b) Input of alphanumeric characters and data confirmation; (c) Confirmation message after data is saved.

To save the data, the app generates a file with the CSV extension named “waterLevel,” but only if it does not already exist. A sample of the measurement data recorded by the ESPiezometer and saved via the App is shown in Table 3. The table includes the measurement ID, timestamp, raw and corrected water levels (in meters), and water temperature (in °C).

Table 3.

Sample measurement data recorded by the ESPiezometer App, showing ID, timestamp, raw and corrected water levels, and temperature.

ID timestamp Lat lon levelRaw_m levelCorrected_m temp_c
30 m 09/23/2025 08:51:01 a.m. 24.15726 −104.57554 9.81 9.83 19.29
40 m 09/23/2025 08:55:06 a.m. 24.15799 −104.57918 19.74 19.78 19.29
50 m 09/23/2025 08:57:18 a.m. 24.15799 −104.57918 29.72 29.78 19.34
60 m 09/23/2025 08:59:06 a.m. 24.1589 −104.57736 39.69 39.77 19.45
70 m 09/23/2025 09:01:16 a.m. 24.15674 −104.57336 49.65 49.75 19.62

When you tap “Share CSV,” various options for sharing the file appear, including WhatsApp, email, or uploading it directly to a cloud storage service such as Google Drive (Fig. 27a).

Fig. 27.

Fig. 27

(a) Options for sharing the file; (b) Confirmation message to delete all data; (c) “All data cleared” message after deletion.

The “Clear All Data” button allows you to delete the waterLevel.csv file from your device. If you save a measurement later, the file will be created again.

To delete the data, confirm the action in the message that appears (Fig. 27b). Once completed, another message will appear on the screen confirming that all data has been cleared (Fig. 27c).

7. Validation and characterization

The connection between the piezometric sensor and the ESPiezometer was validated by checking the CRC during RS485 data transmission and reception, ensuring that the sensor's measurements are correctly received and processed.

The hardware's performance was evaluated in the field, focusing on measurement accuracy, repeatability, and operational stability.

A central function of the ESPiezometer is to validate the sensor for reliable water level monitoring. The validation procedure is described in the following sections.

7.1. Experimental setup

The ESPiezometer was tested in a groundwater observation well (Well 32) (Fig. 28a), operated by the Comisión Nacional del Agua (National Water Commission, CONAGUA), in Durango, Mexico (Fig. 28b), to validate its performance under field conditions.

Fig. 28.

Fig. 28

(a) Field view of the groundwater observation well; (b) Geographical location of the site.

The piezometric sensor cable included meter markings; prior to field deployment, colored tape was added every 10 m along its length to facilitate quick reference during measurements, and an offset of 0.43 m was added to account for the unmarked initial cable segment beyond the first meter. In the field, the static water level was first determined using a standard electric contact tape (Equipozo™ Model SEP150) as reference. Subsequently, the piezometric sensor was connected to the ESPiezometer, and measurements were recorded every 10 m between 30 and 90 m of cable length (Fig. 29).

Fig. 29.

Fig. 29

Schematic representation of the field setup showing the ESPiezometer and piezometric sensor configuration for groundwater level measurement and sensor validation.

Supplementary videos showing the static water level measurement and sensor deployment are available on Zenodo (https://zenodo.org/records/17380768).

For each depth, raw water level (m), density-corrected water level (m), and water temperature (°C) were recorded. The entire procedure was repeated three times to evaluate measurement repeatability and standard deviation.

The reference water column (hw) for each measurement depth was then calculated using:

hw=Lc-hs+o (2)

Where:

  • hw = reference water column (m)

  • Lc = cable length inserted into the well (m)

  • hs = static water level (m)

  • o = offset correction (m)

To evaluate sensor accuracy, the absolute error between the ESPiezometer readings and the reference water column was calculated for raw and corrected values. For each depth, the error was computed as:

E=hm-hw (3)

Where:

  • E = signed error (m)

  • hm = measured water column value from the ESPiezometer (raw or corrected) (m)

  • hw = reference water column calculated from cable depth (m)

For analysis, the following error metrics were considered:

Eraw=hraw-hw (4)
Ecorr=hcorr-hw (5)
Eraw%=Erawhw×100 (6)
Ecorr%=Ecorrhw×100 (7)

Where:

  • Eraw = error of the raw (uncorrected) measurement

  • Ecorr = error of the corrected measurement

  • hraw = raw water column value reported by the ESPiezometer (m)

  • hcorr = corrected water column value reported by the ESPiezometer (m)

  • Eraw% = relative raw error (%)

  • Ecorr% = relative corrected error (%)

The standard deviation of repeated measurements at each depth was also calculated to quantify measurement repeatability. The resulting dataset was then used to characterize measurement error and repeatability, as described in Section 7.2.

7.2. Performance evaluation

The results obtained from the field measurements are shown in Table 4.

Table 4.

Summary of field measurements: mean raw and corrected water levels (± standard deviation), comparison with reference water column, and resulting error at each depth.

Depth (m) h_raw_mean ± SD (m) h_corr_mean ± SD (m) Temp. mean ± SD (°C) Reference water column (m) Error_Raw (m) Error_Corr (m) Error_Raw (%) Error_Corr (%)
30 9.79 ± 0.02 9.81 ± 0.02 19.15 ± 0.14 9.91 −0.12 −0.1 1.21 1.01
40 19.75 ± 0.02 19.79 ± 0.02 19.16 ± 0.11 19.91 −0.16 −0.12 0.8 0.6
50 29.72 ± 0.01 29.77 ± 0.01 19.22 ± 0.10 29.91 −0.19 −0.14 0.64 0.47
60 39.68 ± 0.01 39.76 ± 0.01 19.39 ± 0.05 39.91 −0.23 −0.15 0.58 0.38
70 49.64 ± 0.01 49.74 ± 0.01 19.62 ± 0.00 49.91 −0.27 −0.17 0.54 0.34
80 59.59 ± 0.03 59.72 ± 0.03 20.03 ± 0.21 59.91 −0.32 −0.19 0.53 0.32
90 69.55 ± 0.01 69.70 ± 0.01 20.35 ± 0.14 69.91 −0.36 −0.21 0.51 0.3

It can be seen that the error obtained for the corrected measurements is lower, confirming that this is a good measure for reducing the deviation from the reference water column, even though it was found that the error increases with depth in both cases.

The largest deviation was observed in the raw measurement at 90 m, with an error of − 0.36 m (0.51%), while at the same depth, the corrected value presented an error of − 0.21 m (0.30%), indicating an improvement in accuracy after applying the correction. The standard deviation in all cases remained within ± 0.03 m, which confirms high repeatability and stability in the ESPiezometer readings.

Fig. 30 presents the measurement error of the raw and corrected readings with respect to depth. After applying the correction, the error values decreased and the points from the different repetitions appeared closer to each other, stability in the distribution of errors between repetitions are more stable and consistent.

Fig. 30.

Fig. 30

Measurement error vs depth for raw and corrected readings (replicated measurements).

Fig. 31shows the mean error of both raw and corrected measurements as a function of depth. Standard deviation bars corresponding to the three repeated measurements at each depth are also included to illustrate measurement variability. The variability between repetitions was small compared with the magnitude of the errors, indicating stable sensor readings during the validation procedure. In this figure, the trend of both metrics is easier to distinguish, with the corrected measurements consistently showing a lower absolute error than the raw values across the evaluated depths. A plot comparing measured values directly to the reference water column was not included, as the differences between curves were too small to be visually meaningful at this scale.

Fig. 31.

Fig. 31

Mean measurement error vs depth for raw and density-corrected values. Error bars represent the standard deviation of three repeated measurements at each depth.

In groundwater monitoring practice, the required operating range of a piezometric pressure transducer depends on the expected water-level conditions in the monitored well and should be selected so that anticipated water-level fluctuations remain within the operational range of the sensor. At the same time, increasing the measurement range generally reduces measurement resolution; therefore, transducers with smaller ranges are often preferred when higher precision measurements are required [15].

According to U.S. Geological Survey technical procedures for submersible pressure transducers, in-place water-level measurements used for calibration or validation should typically be made with a resolution of approximately 3 mm (0.01 ft), and the accuracy standard for most situations is 3 mm (0.01 ft), 0.1% of the range in water-level fluctuation, or 0.01% of the depth to water, whichever is least restrictive [16].

In this work, the validation tests covered depths between 30 and 90 m, representing realistic operational conditions for groundwater observation wells. The standard deviation of repeated measurements remained below 0.03 m with respect to the reference water column used for validation, indicating stable readings during the installation-stage verification procedure.

For the evaluated depth interval, this variability corresponds to less than 0.1% of the water-level range considered in the validation experiments, which is consistent with commonly accepted groundwater monitoring accuracy criteria for pressure-transducer measurements [16].

Because the ESPiezometer is intended as a field validation tool rather than as the sensing element itself, repeatability and consistency of readings during deployment were considered the primary performance indicators.

Finally, the temperature versus depth plot is presented in Fig. 32, where an exponential increase in temperature with depth can be observed. Based on this trend, it can be inferred that in deeper wells, the impact of correction should be even more significant than what is reported in this analysis.

Fig. 32.

Fig. 32

Mean temperature vs depth, showing exponential behavior with increasing depth.

Table 5 shows the overall performance metrics considering all repetitions, calculated in addition to the depth-specific analysis. These results indicate that density correction reduces the systematic underestimation of the water level and also improves the repeatability of measurements by approximately 55%. The correction reduced the average relative error from about 0.7% to 0.5%, which reflects a gain in accuracy and consistency across the full depth range.

Table 5.

Global performance metrics (Bias, SD, RMSE) for raw and density-corrected measurements.

Metric Raw measurements Corrected measurements
Bias (m) −0.23 −0.15
SD (m) 0.09 0.04
RMSE (m) 0.25 0.16

The results are presented in Fig. 33. In all cases, the corrected measurements performed better than the raw values.

Fig. 33.

Fig. 33

Global Error Metrics for raw and corrected measurements.

With the performance evaluation completed, the next step was to verify the operational behavior of the ESPiezometer during continuous use in the field. The focus was placed on communication stability, CRC integrity in each transmission, and continuous operation without interruption. Battery consumption was not fully characterized during field deployment, but observations were used as a basis for the laboratory-based autonomy analysis described below.

7.3. Operational parameters

The ESPiezometer remained active throughout the entire field deployment, operating continuously for approximately 1.07 h (from 08:51:01 to 09:57:49 a.m.) without any resets, packet loss, or interruptions in communication. All Modbus exchanges between the ESP32-C3 and the RS485 piezometric probe passed CRC validation, confirming stable data transmission under real operating conditions.

During the three consecutive measurement sequences, BLE communication with the Android application was maintained without disconnections or pairing issues. The mobile interface successfully received and stored all transmitted data, generating timestamped CSV files that matched the on-screen readings. This confirmed that the ESPiezometer can sustain uninterrupted BLE telemetry and data logging during active use in the field.

Thermal behavior was also stable. Neither the ESP32-C3 microcontroller nor the TP4056 charging circuit or Mini560 regulator showed perceptible heating, even during continuous OLED operation and BLE transmission. This suggests that the system’s power and thermal design are adequate for extended outdoor operation.

Although the field test did not aim to exhaust the battery, the 3.7 V / 2000 mAh rechargeable LiPo battery maintained stable operation for the entire session without voltage drop or instability. Complementary laboratory measurements indicated an average current draw of 0.064 A in low-power active mode (BLE disabled) and 0.13 A during continuous operation with BLE enabled. These values correspond to an estimated autonomy between 12 and 25 h, depending on usage mode and duty cycle.

To experimentally evaluate the runtime of the ESPiezometer under realistic operating conditions, controlled battery discharge tests were subsequently performed under three BLE operating states: BLE disabled, BLE advertising, and BLE connected with continuous data transmission. In all cases, the device operated continuously while powered by the same battery configuration used in the prototype.

The analysis focuses on the voltage range from approximately 4.0 V to 3.0 V, which corresponds to the practical operating range of the device. Below this threshold, the system approaches brownout conditions and reliable operation cannot be guaranteed.

Fig. 34 shows the measured battery voltage as a function of elapsed time for each operating mode. During the discharge tests, battery voltage and current were monitored using an INA219 power monitoring module temporarily inserted between the battery and the input of the TP4056 charging module. This configuration allowed measurement of the total current consumption of the ESPiezometer during operation. The discharge curves clearly illustrate the impact of BLE operation on the device runtime.

Fig. 34.

Fig. 34

Battery discharge curves of the ESPiezometer under three BLE operating states: BLE disabled, BLE advertising, and BLE connected with continuous data transmission. Each curve represents an independent discharge test performed under the corresponding operating condition.

When BLE was disabled, the ESPiezometer achieved the longest operating duration, reaching approximately 27.6 h before the battery voltage dropped to the operational cutoff of 3.0 V. When BLE functionality was enabled, the runtime decreased significantly due to the additional power consumption of the wireless subsystem. In BLE advertising mode, the device operated for approximately 15.7 h, while maintaining an active BLE connection with continuous data transmission resulted in a runtime of approximately 16.4 h.

Table 6 summarizes the experimentally measured runtime together with the mean and peak current consumption observed during operation for each BLE mode. The results indicate that enabling BLE substantially increases the average current consumption of the system. While the ESPiezometer consumed approximately 69.7 mA on average when BLE was disabled, the average current increased to about 125 mA during BLE advertising and 121 mA when the device maintained an active BLE connection. The relatively small difference between advertising and connected operation suggests that BLE advertising already dominates the radio-related energy consumption in this system.

Table 6.

Runtime and current consumption of the ESPiezometer under different BLE operating modes. Runtime was determined experimentally from battery discharge tests, while the mean and peak current values were derived from INA219 measurements during operation.

Mode Runtime (h) Mean current (mA) Peak current (mA)
BLE disabled 27.6 69.7 233.0
BLE advertising 15.7 125.0 289.0
BLE connected 16.4 121.4 230.0

These experimental results provide an empirical validation of the expected battery autonomy and demonstrate the impact of wireless communication on the runtime of the ESPiezometer under different operating conditions.

Further evaluation is planned to characterize long-term endurance under intermittent operation and to explore the benefits of light-sleep modes for optimizing power consumption during multi-day monitoring deployments.

7.4. Capabilities and limitations

The field validation tests showed that the ESPiezometer operated reliably during the installation and verification procedures. Continuous operation was confirmed during three complete measurement sequences without resets or data loss. All transmitted packets were received with valid CRC values, indicating stable RS485 communication with the sensor throughout the tests. Bluetooth Low Energy (BLE) transmission remained active during the entire field campaign, allowing the Android application to log the measurements without interruptions. The application also generated and exported CSV files automatically without corruption. In addition, the device allowed the operator to compare raw and density-corrected water level values directly in the field, making it possible to verify the sensor response during deployment. During the installation process, measurements were manually validated at fixed depth intervals (every 10 m), which helped maintain better control over the installation procedure. Finally, battery consumption was characterized through controlled discharge measurements, allowing an estimation of device autonomy under continuous operation conditions.

Despite these capabilities, several limitations remain in the current prototype. The present version of the device also does not include an automatic shutdown function or a low-battery warning system. The implemented density correction is based solely on temperature-dependent freshwater density and does not consider variations in salinity or dissolved solids that may occur in certain aquifer environments. In addition, the communication range of the BLE interface was not characterized beyond the immediate operational distance near the wellhead. Finally, the current workflow requires manual entry of measurement identifiers in the Android application; future versions could automate this process based on depth, timestamp, or acquisition sequence.

Ethics statements

No ethical issues to declare.

CRediT authorship contribution statement

Armando Daniel Blanco-Jáquez: Writing – original draft, Software, Methodology, Conceptualization. Diego Armando Martínez-Cruz: Project administration, Formal analysis, Conceptualization. María Teresa Alarcón-Herrera: Validation, Supervision, Methodology. Ana Elizabeth Marín-Celestino: Writing – review & editing, Visualization, Resources. Luz I. Valenzuela-García: Methodology, Investigation, Data curation.

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.

Acknowledgments

The authors would like to thank academic technicians Luis Arturo Torres Castañón and José Rafael Irigoyen Campuzano for their valuable collaboration during the analytical determinations and field setup.

Special thanks are also extended to Joel García Pazos and Oscar Abel González Vergara for their assistance in data collection during field validation activities.

This study was carried out with the support of a SECIHTI postgraduate scholarship (CVU No. 1047606) as part of a doctoral research program.

Biography

graphic file with name fx1.jpg

Armando Daniel Blanco-Jáquez is an environmental engineering researcher and currently a Ph.D. candidate at the Centro de Investigación en Materiales Avanzados (CIMAV), supported by a SECIHTI postgraduate scholarship. His research focuses on developing hardware and IoT-based systems for environmental monitoring and data-driven decision-making. His work integrates sensor design, embedded systems, and edge machine learning to enhance real-time analysis in field applications. He develops low-cost, open-source instruments to improve water-quality assessment, groundwater monitoring, and ecosystem observation through accessible, replicable technology.

References

  • 1.A. Mukherjee, M. K. Jha, K.-W. Kim, y F. A. L. Pacheco, “Groundwater resources: challenges and future opportunities”, Sci. Rep., vol. 14, núm. 1, pp. 28540, s41598-024-79936–5, nov. 2024, doi: 10.1038/s41598-024-79936-5. [DOI] [PMC free article] [PubMed]
  • 2.M. Shehata et al., “Integrated management of groundwater quantity, physicochemical properties, and microbial quality in West Nile delta using a new MATLAB code and geographic information system mapping”, Sci. Rep., vol. 14, núm. 1, p. 7762, abr. 2024, doi: 10.1038/s41598-024-57036-8. [DOI] [PMC free article] [PubMed]
  • 3.Keller AG für Druckmesstechnik, “Level and Pressure Transmitter Useŕs Guide”, Keller AG, Winterthur, Switzerland. [En línea]. Disponible en: https://us.keller-pressure.com/users_guide#page=4.11.
  • 4.Solinst Canada Ltd., “Levelogger Series Quick Start Guide”, Solinst Canada Ltd., Georgetown, Ontario, Canada. [En línea]. Disponible en: https://www.solinst.com/products/dataloggers-and-telemetry/3001-levelogger-series/operating-instructions/.
  • 5.In-Situ Inc., “Level TROLL 400/500/700 User Manual”, n-Situ Inc., Fort Collins, CO, USA, ene. 2024. [En línea]. Disponible en: https://in-situ.com/pub/media/support/documents/Level-TROLL-400-500-700-700h_Manual.pdf.
  • 6.Kombo O.H., Kumaran S., Bovim Y.A. Design and application of a low-cost, low- power, LoRa-GSM, IoT Enabled system for monitoring of groundwater resources with energy harvesting integration. IEEE Access. 2021;9:128417–128433. doi: 10.1109/ACCESS.2021.3112519. [DOI] [Google Scholar]
  • 7.M. Barzegar, S. Blanks, S. Gharehdash, y W. Timms, “Development of IOT-based low-cost MEMS pressure sensor for groundwater level monitoring”, Meas. Sci. Technol., vol. 34, núm. 11, p. 115103, nov. 2023, doi: 10.1088/1361-6501/ace78f.
  • 8.M. Espinoza Ortiz, J. P. Apún Molina, S. I. Belmonte Jiménez, J. Herrera Barrientos, H. J. Peinado Guevara, y A. Santamaria Miranda, “Development of Low-Cost IoT System for Monitoring Piezometric Level and Temperature of Groundwater”, Sensors, vol. 23, núm. 23, p. 9364, nov. 2023, doi: 10.3390/s23239364. [DOI] [PMC free article] [PubMed]
  • 9.A. J. Calderwood, R. A. Pauloo, A. M. Yoder, y G. E. Fogg, “Low-Cost, Open Source Wireless Sensor Network for Real-Time, Scalable Groundwater Monitoring”, Water, vol. 12, núm. 4, p. 1066, abr. 2020, doi: 10.3390/w12041066.
  • 10.R. Greswell, P. Ellis, M. Cuthbert, R. White, y V. Durand, “The design and application of an inexpensive pressure monitoring system for shallow water level measurement, tensiometry and piezometry”, J. Hydrol., vol. 373, núm. 3–4, pp. 416–425, jul. 2009, doi: 10.1016/j.jhydrol.2009.05.001.
  • 11.Anul Haq M., Khadar Jilani A., Prabu Y.P. Deep learning based modeling of groundwater storage change. Comput. Mater. Contin. 2022;vol. 70, núm. 3:4599–4617. doi: 10.32604/cmc.2022.020495. [DOI] [Google Scholar]
  • 12.A. Ahmadi et al., “Groundwater Level Modeling with Machine Learning: A Systematic Review and Meta-Analysis”, Water, vol. 14, núm. 6, p. 949, mar. 2022, doi: 10.3390/w14060949.
  • 13.G. S. Kell, “Density, thermal expansivity, and compressibility of liquid water from 0.deg. to 150.deg.. Correlations and tables for atmospheric pressure and saturation reviewed and expressed on 1968 temperature scale”, J. Chem. Eng. Data, vol. 20, núm. 1, pp. 97–105, ene. 1975, doi: 10.1021/je60064a005.
  • 14.F. E. Jones y G. L. Harris, “ITS-90 density of water formulation for volumetric standards calibration”, J. Res. Natl. Inst. Stand. Technol., vol. 97, núm. 3, p. 335, may 1992, doi: 10.6028/jres.097.013. [DOI] [PMC free article] [PubMed]
  • 15.Lawrence A. Freeman, Michael C. Carpenter, Donald O. Rosenberry,Joseph P. Rousseau, Randy Unger, John S. McLean, “Use Of Submersible Pressure TransducersIn Water-Resources Investigations”. Consultado: el 10 de marzo de 2026. [En línea]. Disponible en: https://pubs.usgs.gov/twri/twri8a3/.
  • 16.William L. Cunningham, Charles W. Schalk, “USGS Techniques and Methods 1-A1: Groundwater Technical Procedures of the U.S. Geological Survey”. Consultado: el 10 de marzo de 2026. [En línea]. Disponible en: https://pubs.usgs.gov/tm/1a1/.

Articles from HardwareX are provided here courtesy of Elsevier

RESOURCES