Overview

Water level sensors detect the presence and level of water in tanks, containers, and reservoirs. They're essential for automatic water management systems, preventing overflow and dry-run conditions in pumps. These sensors use conductivity principles to detect water contact and provide reliable monitoring for residential and industrial applications.

Technical Specifications

Operating Voltage: 3.3V - 5V DC
Operating Current: < 20 mA
Detection Method: Conductivity-based
Sensitivity: Adjustable (via potentiometer)
Output: Analog & Digital
Response Time: < 500 ms
Probe Length: 40mm (standard)
Operating Temperature: 0 °C to 50 °C

Key Features

  • Contact-based water level detection
  • Dual output: analog and digital signals
  • Adjustable sensitivity control
  • LED indicator for water detection status
  • Corrosion-resistant probe design
  • Easy integration with microcontrollers
  • Low power consumption
  • Compact size for easy installation

Wiring Diagram

Basic Connection (Arduino Uno)

Water Sensor Pin Arduino Pin
VCC 5V (or 3.3V)
GND GND
AO (Analog) Analog Pin A0
DO (Digital) Digital Pin 2

Note: Ensure proper waterproofing of connections when used in wet environments.

Common Applications

Water Tank Monitoring

Automatic water level monitoring in overhead tanks

Pump Control Systems

Prevent dry-run and overflow conditions in pumps

Irrigation Systems

Smart watering based on water availability

Flood Detection

Early warning systems for water level monitoring

Quick Info

Difficulty: Beginner
Price Range: ₹20-50
Interface: Analog/Digital

Sample Code

#define WATER_DIGITAL 2
#define WATER_ANALOG A0
#define PUMP_PIN 8

void setup() {
  Serial.begin(9600);
  pinMode(WATER_DIGITAL, INPUT);
  pinMode(PUMP_PIN, OUTPUT);
  
  Serial.println("Water Level Sensor Test");
}

void loop() {
  int digitalValue = digitalRead(WATER_DIGITAL);
  int analogValue = analogRead(WATER_ANALOG);
  
  if (digitalValue == HIGH) {
    digitalWrite(PUMP_PIN, LOW); // Stop pump
    Serial.println("Water Detected - Tank Full");
  } else {
    digitalWrite(PUMP_PIN, HIGH); // Start pump
    Serial.println("No Water - Tank Empty");
  }
  
  Serial.print("Water Level: ");
  Serial.println(analogValue);
  
  delay(1000);
}