Important Note

This entire repo was AI created - including all of the data within. The intent was to A) help me with my personal electronics inventory; and B) see how I could use AI to make that process a bit easier. DO NOT TRUST!

Water Level and Soil Moisture Sensors

Collection of water detection and soil moisture sensors for irrigation systems, plant monitoring, and environmental sensing applications.

Overview

This collection includes water level sensors and soil moisture sensors designed for agricultural, gardening, and environmental monitoring applications. These sensors provide both analog and digital outputs for detecting water presence and measuring soil moisture content.

Included Sensors

Funduino Water Level Sensors (5)

Drop Sensor Water Level Sensor for Microcontroller

Key Features

  • Water detection through conductivity measurement
  • Analog output proportional to water level/coverage
  • Digital output with adjustable threshold
  • Corrosion-resistant gold-plated traces
  • Compact design for easy integration
  • Wide voltage range operation

Technical Specifications

  • Operating Voltage: 3.3V to 5V
  • Output Type: Analog (0-VCC) and Digital (HIGH/LOW)
  • Detection Area: Graduated sensing traces
  • Response Time: <1 second
  • Operating Temperature: -10°C to +85°C
  • Dimensions: Approximately 62mm × 20mm × 8mm

Applications

  • Water tank level monitoring
  • Rain detection systems
  • Flood warning systems
  • Irrigation control automation
  • Leak detection in appliances

YL-69/HL-69 Soil Moisture Sensors (4)

Capacitive and Resistive Soil Moisture Sensors

Key Features

  • Soil moisture measurement through conductivity
  • Analog output proportional to moisture content
  • Digital output with adjustable sensitivity
  • Probe design for soil insertion
  • Weather-resistant construction
  • Easy calibration for different soil types

Technical Specifications

  • Operating Voltage: 3.3V to 5V
  • Output Type: Analog (0-VCC) and Digital (HIGH/LOW)
  • Probe Length: 60mm typical
  • Sensing Depth: 0-60mm in soil
  • Response Time: 1-2 seconds
  • Operating Temperature: -40°C to +85°C
  • Humidity Range: 0-100% RH

Sensor Types

  1. Resistive Type: Measures soil conductivity between probes
  2. Capacitive Type: Measures dielectric constant changes
  3. Both types provide similar functionality with different sensing methods

Technical Specifications Comparison

Water Level Sensors

ParameterSpecification
Detection MethodConductivity between traces
SensitivityVariable based on water coverage
Output Range0V (dry) to VCC (fully wet)
ThresholdAdjustable via potentiometer
Response Time<1 second
DurabilityGold-plated for corrosion resistance

Soil Moisture Sensors

ParameterSpecification
Detection MethodSoil conductivity/capacitance
Moisture Range0% (dry) to 100% (saturated)
Output Range0V (wet) to VCC (dry) - inverted
CalibrationAdjustable sensitivity
Probe MaterialNickel-plated or stainless steel
Insertion DepthUp to 60mm

Applications

Agricultural Monitoring

  • Automated irrigation systems
  • Greenhouse monitoring for optimal plant growth
  • Field crop moisture monitoring
  • Hydroponic systems water level control
  • Precision agriculture data collection

Home and Garden

  • Smart plant watering systems
  • Garden irrigation automation
  • Houseplant monitoring for proper care
  • Lawn sprinkler control systems
  • Rain garden water management

Environmental Monitoring

  • Soil research and analysis
  • Weather station precipitation measurement
  • Flood monitoring and early warning
  • Water conservation systems
  • Environmental data logging

Industrial Applications

  • Process water level monitoring
  • Leak detection in industrial systems
  • Agricultural automation equipment
  • Water treatment facility monitoring
  • Storage tank level indication

Programming Examples

Water Level Sensor with Arduino

const int waterSensorPin = A0;    // Analog pin for water sensor
const int digitalPin = 2;         // Digital pin for threshold
const int ledPin = 13;            // LED indicator
 
void setup() {
  pinMode(digitalPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
 
void loop() {
  int analogValue = analogRead(waterSensorPin);
  int digitalValue = digitalRead(digitalPin);
  
  // Convert to percentage (0-100%)
  int waterLevel = map(analogValue, 0, 1023, 0, 100);
  
  Serial.print("Water Level: ");
  Serial.print(waterLevel);
  Serial.print("% (");
  Serial.print(analogValue);
  Serial.print(") - Digital: ");
  Serial.println(digitalValue ? "WET" : "DRY");
  
  // Control LED based on water detection
  digitalWrite(ledPin, digitalValue);
  
  delay(500);
}

Soil Moisture Sensor with Irrigation Control

const int moistureSensorPin = A1;  // Analog pin for soil moisture
const int pumpRelayPin = 7;        // Relay control for water pump
const int dryThreshold = 300;      // Threshold for dry soil (0-1023)
const int wetThreshold = 600;      // Threshold for wet soil (0-1023)
 
bool pumpRunning = false;
 
void setup() {
  pinMode(pumpRelayPin, OUTPUT);
  digitalWrite(pumpRelayPin, LOW);  // Pump off initially
  Serial.begin(9600);
}
 
void loop() {
  int moistureValue = analogRead(moistureSensorPin);
  
  // Convert to moisture percentage (inverted - lower value = more moisture)
  int moisturePercent = map(moistureValue, 1023, 0, 0, 100);
  
  Serial.print("Soil Moisture: ");
  Serial.print(moisturePercent);
  Serial.print("% (Raw: ");
  Serial.print(moistureValue);
  Serial.print(")");
  
  // Control irrigation based on moisture level
  if (moistureValue > dryThreshold && !pumpRunning) {
    // Soil is dry, start pump
    digitalWrite(pumpRelayPin, HIGH);
    pumpRunning = true;
    Serial.println(" - PUMP ON (Soil Dry)");
  } else if (moistureValue < wetThreshold && pumpRunning) {
    // Soil is wet enough, stop pump
    digitalWrite(pumpRelayPin, LOW);
    pumpRunning = false;
    Serial.println(" - PUMP OFF (Soil Wet)");
  } else {
    Serial.print(" - PUMP ");
    Serial.println(pumpRunning ? "ON" : "OFF");
  }
  
  delay(1000);
}

Multi-Sensor Monitoring System

const int numSensors = 4;
const int sensorPins[numSensors] = {A0, A1, A2, A3};
const char* sensorNames[numSensors] = {"Plant 1", "Plant 2", "Plant 3", "Water Tank"};
const int sensorTypes[numSensors] = {1, 1, 1, 0};  // 1=soil, 0=water
 
void setup() {
  Serial.begin(9600);
  Serial.println("Multi-Sensor Monitoring System");
  Serial.println("==============================");
}
 
void loop() {
  for (int i = 0; i < numSensors; i++) {
    int rawValue = analogRead(sensorPins[i]);
    int percentage;
    
    if (sensorTypes[i] == 1) {
      // Soil moisture sensor (inverted)
      percentage = map(rawValue, 1023, 0, 0, 100);
      Serial.print(sensorNames[i]);
      Serial.print(" Moisture: ");
    } else {
      // Water level sensor
      percentage = map(rawValue, 0, 1023, 0, 100);
      Serial.print(sensorNames[i]);
      Serial.print(" Level: ");
    }
    
    Serial.print(percentage);
    Serial.print("% (");
    Serial.print(rawValue);
    Serial.println(")");
  }
  
  Serial.println("------------------------------");
  delay(2000);
}

Calibration and Setup

Water Level Sensor Calibration

  1. Dry calibration: Record reading with sensor completely dry
  2. Wet calibration: Record reading with sensor fully submerged
  3. Threshold adjustment: Set digital output threshold via potentiometer
  4. Environmental testing: Test in actual deployment conditions
  5. Corrosion check: Inspect traces for corrosion over time

Soil Moisture Sensor Calibration

  1. Dry soil calibration: Test in completely dry soil
  2. Saturated soil calibration: Test in water-saturated soil
  3. Soil type adjustment: Calibrate for specific soil composition
  4. Depth consideration: Account for probe insertion depth
  5. Temperature compensation: Consider temperature effects on readings

Installation Best Practices

  1. Proper insertion: Insert probes fully into soil
  2. Avoid air gaps: Ensure good soil contact around probes
  3. Consistent depth: Maintain same insertion depth for repeatability
  4. Multiple sensors: Use multiple sensors for area coverage
  5. Protection: Protect electronics from moisture and weather

Design Considerations

Power Management

  • Low power operation: Use sleep modes for battery applications
  • Supply voltage: Ensure stable power supply
  • Current consumption: Minimize power for long-term deployment
  • Solar charging: Consider solar power for remote installations

Environmental Protection

  • Waterproofing: Protect electronics while allowing sensor exposure
  • Corrosion resistance: Use appropriate materials for wet environments
  • Temperature range: Design for expected operating conditions
  • UV protection: Shield from direct sunlight if needed

Signal Processing

  • Analog filtering: Implement noise filtering for stable readings
  • Digital thresholds: Set appropriate trigger levels
  • Hysteresis: Implement to prevent oscillation around thresholds
  • Calibration storage: Store calibration values in EEPROM

Troubleshooting

Common Issues

  • Erratic readings: Check for loose connections or corrosion
  • No response: Verify power supply and wiring
  • False triggers: Adjust sensitivity or add filtering
  • Corrosion: Clean or replace corroded sensors

Maintenance

  • Regular cleaning: Remove soil and debris from sensors
  • Corrosion inspection: Check for trace degradation
  • Calibration verification: Periodic recalibration
  • Connection check: Ensure secure electrical connections

Advantages and Limitations

Advantages

  • Simple interface: Easy analog and digital outputs
  • Cost effective: Inexpensive for basic monitoring
  • Immediate response: Fast detection of water/moisture changes
  • Wide compatibility: Works with most microcontrollers
  • Adjustable sensitivity: Customizable threshold settings

Limitations

  • Corrosion susceptibility: Metal traces can corrode over time
  • Soil type dependency: Readings vary with soil composition
  • Limited precision: Basic sensors with moderate accuracy
  • Maintenance required: Regular cleaning and calibration needed
  • Environmental sensitivity: Affected by temperature and salinity

Storage Information

  • Location: Cabinet 3, Bin 30
  • Quantity: 9 sensors total (5 water level, 4 soil moisture)
  • Condition: New, unused sensors
  • Variety: Different types and manufacturers
  • Applications: Irrigation, agriculture, environmental monitoring