

The 3-in-1 Soil Temperature, Soil Moisture, and Soil EC Sensor is a multifunctional device designed to measure three critical parameters for soil management: temperature, moisture content, and electrical conductivity (EC). This sensor provides accurate and real-time data, making it an essential tool for agricultural applications, gardening, and environmental monitoring.








Below are the key technical details of the 3-in-1 Soil Sensor:
| Parameter | Specification |
|---|---|
| Operating Voltage | 3.3V - 5.0V |
| Operating Current | ≤ 35mA |
| Soil Temperature Range | -40°C to 80°C |
| Soil Moisture Range | 0% to 100% |
| Soil EC Range | 0 to 2000 µS/cm |
| Output Signal | Analog (Moisture, EC), Digital (Temp) |
| Communication Protocol | I2C or UART (varies by model) |
| Probe Material | Stainless steel |
| Cable Length | 1 meter |
| Waterproof Rating | IP67 |
The sensor typically comes with a 4-pin interface. Below is the pinout description:
| Pin | Label | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V - 5.0V) |
| 2 | GND | Ground connection |
| 3 | DATA | Data output (analog or digital, depending on signal) |
| 4 | CLK | Clock signal for I2C communication (if applicable) |
VCC pin to a 3.3V or 5.0V power source and the GND pin to the ground of your circuit.DATA pin to an analog input pin on your microcontroller.DATA pin to a digital input pin or use the I2C interface.CLK pin to the clock line of your microcontroller.Below is an example code snippet to read soil moisture and temperature using the sensor with an Arduino UNO:
// Include necessary libraries
#include <Wire.h> // For I2C communication
// Define sensor pins
#define MOISTURE_PIN A0 // Analog pin for soil moisture
#define TEMP_PIN 2 // Digital pin for soil temperature
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(TEMP_PIN, INPUT); // Set temperature pin as input
}
void loop() {
// Read soil moisture (analog value)
int moistureValue = analogRead(MOISTURE_PIN);
float moisturePercent = map(moistureValue, 0, 1023, 0, 100);
// Map analog value to percentage (0-100%)
// Read soil temperature (digital value)
int tempValue = digitalRead(TEMP_PIN);
float temperature = tempValue * 0.48828125;
// Convert digital value to temperature in °C (example conversion)
// Print values to Serial Monitor
Serial.print("Soil Moisture: ");
Serial.print(moisturePercent);
Serial.println("%");
Serial.print("Soil Temperature: ");
Serial.print(temperature);
Serial.println("°C");
delay(1000); // Wait 1 second before next reading
}
Inaccurate Readings:
No Output Signal:
Fluctuating Readings:
Sensor Damage:
Q1: Can this sensor be used in hydroponics?
A1: Yes, the sensor can measure EC and temperature in hydroponic solutions, but ensure the probe is fully submerged and calibrated for liquid use.
Q2: How often should the sensor be calibrated?
A2: Calibration frequency depends on usage, but it is recommended to calibrate every 3-6 months for accurate readings.
Q3: Can the sensor be used with a Raspberry Pi?
A3: Yes, the sensor can be interfaced with a Raspberry Pi using its GPIO pins or I2C communication.
Q4: Is the sensor compatible with all soil types?
A4: The sensor works with most soil types but may require calibration for highly saline or sandy soils.
This documentation provides a comprehensive guide to using the 3-in-1 Soil Sensor effectively. For further assistance, refer to the manufacturer's datasheet or support resources.