Contents
In recent years, smart agriculture has transformed how farmers monitor and manage soil conditions. One of the most vital parameters in soil management is soil water tension, which indicates how tightly water is held in the soil and how easily plants can absorb it. Traditional soil tensiometers work manually, only show readings on a gauge, but today, we can make them smart and connected using pressure sensors and IoT technology for real-time and remote soil moisture monitoring.
In this article, we’ll explore how to choose the right pressure sensor, set up your tensiometer tube, and connect it to an Arduino-based (or ESP8266/ESP32/Raspberry Pi) IoT system, from basic components to data visualization through the Internet of Things, perfect for smart agriculture or environmental research projects.
What Is a Soil Tensiometer?
A soil tensiometer measures the suction pressure the soil exerts on water, technically known as soil water potential or matric potential. When soil is wet, suction is low (close to 0 kPa). As soil dries, suction increases (down to –80 kPa or more). This suction is directly related to how hard plants must “pull” to extract water from the soil. A soil tensiometer works as follows: a porous ceramic cup is inserted into the soil, then a water-filled tube connects the cup to a pressure sensor at the top. As the soil dries, water is pulled out of the tube through the ceramic cup, creating a vacuum (negative pressure). The pressure sensor measures that vacuum, giving you the soil’s water tension.
Smart Soil Tensiometer Building Materials
For building a smart soil tensiometer, you will need materials as follows:
1. A porous ceramic cup
2. A negative pressure sensor (suction sensor/vacuum gauge). We use a pressure transmitter with a range -1 – 1 bar (-100 – 100 kPa)
3. An acrylic tube, a cover, and a T-junction transparent pipe
4. An IoT smart system, based on your preferred controller (Arduino, ESP, Raspberry Pi, STM32, etc.)
5. Communication module. WIFI/4G module is the popular option, but currently our system needs RS485 and Modbus protocol for our EWS (Early Warning System) monitoring system

To use such a sensor in a soil tensiometer setup, the tube should indeed be filled with water and properly sealed with a porous ceramic tip that allows water exchange with the surrounding soil. When the soil becomes drier, water moves out of the tube through the porous tip, creating a vacuum inside the tube. The pressure sensor detects this vacuum and converts it into a voltage signal that your IoT system can log or transmit wirelessly. Maintaining the tube full of water and avoiding air bubbles is crucial for accurate readings.
Hardware Setup
For our purpose, the soil tensiometer will be measured by a pressure (suction) sensor, and the result will be transmitted to the main controller (in our case is a Raspberry Pi) through a communication module. Raspi will convert the voltage value from the sensor to the soil tension value. Here is the design

After a few minutes of assembling, here is our smart soil tensiometer 😊

Interested? Contact me through my email hansapw@gmail.com. Any custom requests (for instance, WIFI or 4G communication module replacement for a pure IoT system) are welcome.
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com