Raindrops Detection Sensor Module

  • 🌧️ Raindrop detection sensor module for water/rain sensing
  • 💧 Detects rain droplets and surface moisture
  • 📈 Provides analog output + digital trigger (module dependent)
  • 🎛️ Adjustable sensitivity via onboard potentiometer
  • ⚡ Works with 3.3V/5V microcontrollers
  • 🧩 Ideal for weather stations, smart windows, and irrigation control
  • 🛠️ Easy wiring: VCC, GND, AO, DO
  • ✅ Great for Arduino, ESP32, and IoT outdoor projects

Apple Shopping Event

Hurry and get discounts on all Apple devices up to 20%

35,00 EGP

17 People watching this product now!

Payment Methods:

Description

The Raindrops Detection sensor module is used for rain detection. It is also for measuring rainfall intensity. Rain sensor can be used for all kinds of weather monitoring and translated into output signals and AO.

Raindrops Detection Sensor Module Rain Weather Module for Arduino, etc. Rain sensor can be used to monitor a variety of weather conditions and turned into several fixed output signal and Analog output.

It includes a printed circuit board (control board) that “collects” the raindrops. As raindrops are collected on the circuit board, they create paths of parallel resistance that are measured via the op-amp. The lower the resistance (or the more water), the lower the voltage output. Conversely, the less water, the greater the output voltage on the analog pin. A completely dry board, for example, will cause the module to output 5V.

The module includes a rain board and a control board that is separate for more convenience. It has a power indicator LED and an adjustable sensitivity through a potentiometer. The module is based on the LM393 op-amp.


Features :

  1. The LM393, use of the wide voltage comparator
  2. Provide both digital and analog output
  3. Output LED indicator
  4. Compatible with Arduino
  5. TTL Compatible
  6. The sensor uses the high-quality FR – 04 double material, the large area of 5.5 * 4.0 CM
  7. Treatment of nickel plating and surface, have fight oxidation, electrical conductivity, and life has more superior performance
  8. The comparator output, signal clean, good waveform, driving ability is strong, for more than 15 mA;
  9. With potentiometer sensitivity adjustment
  10. The output format: digital switch output (0 and 1) and analog AO voltage output;
  11. Has a fixed bolt hole, convenient installation

Package Includes :

1 x Printed Circuit Board for Rain Water Collection

1 x Control Board with LM393 Voltage Comparator

A 5-Wire Dupont Cable

🔌
Pin Connections
1 Table
Pin Connections Table 1
BoardSensor PinConnection
Rain SensorVCC/GND/AOUT3.3-5V / GND / board analog pin
📟
Raindrops Detection Sensor Module
7 Examples • C/C++ | Boards: Arduino Uno, Arduino Nano, Arduino Mega, ESP32, ESP8266, STM32, Raspberry Pi Pico
Raindrops Detection Sensor Module - Arduino Uno
Raindrops Detection Sensor Module - Arduino Nano
Raindrops Detection Sensor Module - Arduino Mega
Raindrops Detection Sensor Module - ESP32
Raindrops Detection Sensor Module - ESP8266
Raindrops Detection Sensor Module - STM32
Raindrops Detection Sensor Module - Raspberry Pi Pico
📄 File: raindrops_detection_sensor_module_-_arduino_uno.inoArduino Uno
527 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: A0 on Arduino Uno (ADC range 0-1023, reference 5.0V)
6#define RAIN_PIN A0
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 5.0 / 1023.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
📄 File: raindrops_detection_sensor_module_-_arduino_nano.inoArduino Nano
528 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: A0 on Arduino Nano (ADC range 0-1023, reference 5.0V)
6#define RAIN_PIN A0
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 5.0 / 1023.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
📄 File: raindrops_detection_sensor_module_-_arduino_mega.inoArduino Mega
528 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: A0 on Arduino Mega (ADC range 0-1023, reference 5.0V)
6#define RAIN_PIN A0
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 5.0 / 1023.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
📄 File: raindrops_detection_sensor_module_-_esp32.inoESP32
521 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: 34 on ESP32 (ADC range 0-4095, reference 3.3V)
6#define RAIN_PIN 34
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 3.3 / 4095.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
📄 File: raindrops_detection_sensor_module_-_esp8266.inoESP8266
523 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: A0 on ESP8266 (ADC range 0-1023, reference 3.3V)
6#define RAIN_PIN A0
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 3.3 / 1023.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
📄 File: raindrops_detection_sensor_module_-_stm32.inoSTM32
523 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: PA0 on STM32 (ADC range 0-4095, reference 3.3V)
6#define RAIN_PIN PA0
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 3.3 / 4095.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
📄 File: raindrops_detection_sensor_module_-_raspberry_pi_pico.inoRaspberry Pi Pico
533 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// Analog pin: 26 on Raspberry Pi Pico (ADC range 0-4095, reference 3.3V)
6#define RAIN_PIN 26
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 int raw = analogRead(RAIN_PIN);
14 float voltage = raw * 3.3 / 4095.0;
15
16 Serial.print("Rain sensor raw: "); Serial.print(raw);
17 Serial.print(" Voltage: "); Serial.print(voltage);
18 Serial.println(raw < 400 ? " -> Wet / Rain detected" : " -> Dry"); // lower reading = more water bridging the plates
19
20 delay(500);
21}
Resistive rain-sensing board (analog) + comparator board; this reads the analog board directly.

Specification

Specification

WeightWeight6 g
Dimensions5,4 × 4 × 1 cm
Product NameRaindrops Detection Sensor Module
Sensor TypeRain / Water Detection Sensor
Detection MethodConductive Surface
Operating Voltage3.3V – 5V
Output TypeDigital & Analog
Sensitivity AdjustmentOnboard Potentiometer
Response TimeFast
IndicatorPower & Status LEDs
Control ICLM393 Comparator
Sensor PlateNickel-Plated
ApplicationRain Detection, Weather Monitoring, Smart Irrigation, DIY Electronics

Customer Reviews