HS-S10P Moisture Sensor - Analog and Digital Rain, Fog, and Vapor Detection for Arduino Projects The OpenELAB HS-S10P integrated analog digital moisture sensor is a compact humidity and water-presence detection module for rain, fog, vapor, condensation, and wet-surface sensing. It provides both analog and digital outputs, so developers can read a continuous moisture level with an ADC or use a threshold-style digital signal for simple alarms, weather stations, and robotics projects. The module is designed for 3.3V to 5.5V microcontroller systems and connects through a PH2.0-style interface. It is a practical fit for Arduino-compatible boards such as the ELAB Nano V3, quick wiring setups with the MB 102 Breadboard Kit, and larger learning builds using an UNO R3 Prototype Expansion Board. The sensor's small 30 x 20 x 7mm body and 3mm mounting holes make it easy to install in enclosures, model greenhouses, mobile robots, or outdoor experiment fixtures. Use the analog output when your software needs to distinguish dry, damp, and wet conditions. Use the digital output when you only need a clean trigger for a pump, buzzer, relay, or status LED. For broader environmental monitoring, it pairs well with temperature and humidity sensors such as the DHT22 AM2302 sensor. Technical Specifications Parameter Value SKU TB-HS-S10P Model HS-S10P Sensor Type Integrated analog/digital moisture sensor Detection Targets Rain, fog, vapor, condensation, wet surfaces Operating Voltage 3.3V-5.5V Working Current Less than or equal to 20mA Outputs Analog output and digital output Connector PH2.0 3-pin style connector, per current listing Pin Labels GND, VCC, signal output pins depending on cable version Sensor Principle Humidity-sensitive polymer sensing surface Dimensions 30 x 20 x 7mm Mounting Holes 3mm diameter, 10mm pitch Operating Temperature -20C to +60C Typical Platforms Arduino, ESP32, Raspberry Pi Pico, general MCU ADC/GPIO inputs Board Layout & Label Guide Sensing Surface - Expose this area to rain, fog, vapor, or condensation; avoid covering it with tape or sealant. VCC - Connect to a 3.3V or 5V supply within the listed voltage range. GND - Common ground shared with the host microcontroller. Analog Output - Connect to an ADC pin when proportional moisture measurement is needed. Digital Output - Connect to a GPIO input for threshold-style wet/dry detection. PH2.0 Connector - Plug-in connector for tidy wiring in robotics and STEM kits. Mounting Holes - Use the two 3mm holes to secure the board and keep the sensor face stable. Installation Note - Mount the board so water can contact the sensing surface without pooling across unrelated electronics. Application Scenarios 1. Arduino Analog Moisture Readout Read the analog output to classify the surface as dry, damp, or wet. const int moisturePin = A0; void setup() { Serial.begin(115200); } void loop() { int value = analogRead(moisturePin); Serial.print("Moisture ADC: "); Serial.println(value); delay(500); } 2. Digital Rain Alarm Use the digital output as a simple rain or condensation trigger for an alarm LED. const int sensorPin = 2; const int ledPin = 13; void setup() { pinMode(sensorPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { int wet = digitalRead(sensorPin); digitalWrite(ledPin, wet == HIGH ? HIGH : LOW); } 3. ESP32 Pump Safety Lockout Prevent a pump or actuator from running when the sensor detects moisture. const int moisturePin = 34; const int relayPin = 26; const int wetThreshold = 1800; void setup() { pinMode(relayPin, OUTPUT); } void loop() { int moisture = analogRead(moisturePin); digitalWrite(relayPin, moisture > wetThreshold ? LOW : HIGH); delay(1000); } 4. MicroPython Wet Surface Logger Log ADC readings on a Pico-style board for a classroom weather experiment. from machine import ADC, Pin import time sensor = ADC(Pin(26)) while True: print(sensor.read_u16()) time.sleep(1) Packing List 1 x OpenELAB HS-S10P Integrated Analog Digital Moisture Sensor FAQ Q: What does this sensor detect?A: It detects moisture-related conditions such as rain, fog, vapor, condensation, and wet surfaces. Q: What is the difference between analog and digital output?A: Analog output gives a changing value, while digital output gives a simple threshold state. Q: Can I use it with Arduino?A: Yes. It can connect to Arduino ADC and GPIO pins. Q: Does it work at 3.3V?A: The current listing specifies 3.3V to 5.5V operation. Q: Can it be used outdoors?A: It can be used for outdoor experiments, but protect non-sensing electronics from direct water exposure. Q: Is it a soil moisture sensor?A: It is better described as a rain, fog, vapor, and surface-moisture detector rather than a probe-style soil sensor. Q: How should I mount it?A: Use the mounting holes and keep the sensing surface exposed to the target moisture source. Q: What should I check if readings are unstable?A: Check wiring, ground reference, supply voltage, water residue, and ADC threshold calibration.