Close Menu
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
Facebook X (Twitter) Instagram
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us
Facebook X (Twitter) Instagram Pinterest YouTube LinkedIn
How To Electronics
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
How To Electronics
Home » Rain Detection using Raindrop Sensor Module & Arduino
Arduino Projects

Rain Detection using Raindrop Sensor Module & Arduino

Mamtaz AlamBy Mamtaz AlamUpdated:February 2, 20254 Mins Read
Share Facebook Twitter LinkedIn Telegram Reddit WhatsApp
Rain Detection using Raindrop Sensor Module & Arduino
Share
Facebook Twitter LinkedIn Pinterest Email Reddit Telegram WhatsApp

Overview

In this tutorial, we will make a Rain Detection System using a Raindrop Sensor Module & Arduino UNO Board. A raindrop sensor, or raindrop detection sensor, is used to detect whether it is raining and also the rainfall. It is widely used in the automatic wiper system, smart lighting system and sunroof system of automobiles.

In this guide, we will first interface the Raindrop Sensor Module with Arduino. Then we will write an Arduino Code to activate a buzzer and an LED whenever the Rainfall is detected. Earlier we built Rainfall Detector using 555 Timer, which is the easiest way to play with Raindrop sensor.


Bill of Materials

For this tutorial, I am using the SunFounder Arduino Starter Kit which has 90+ components.

Here is the list of components I am using from this Kit.

S.N.ComponentsQuantityPurchase Links
1Arduino UNO R4/R3 Board1Amazon | AliExpress
2RainDrop Sensor Module1Amazon | AliExpress | SunFounder
3Buzzer 5V1Amazon | AliExpress | SunFounder
4LED1Amazon | AliExpress | SunFounder
5220-ohm Resistor1Amazon | AliExpress| SunFounder
6Connecting Wires10Amazon | AliExpress | SunFounder
7Type C USB Cable1Amazon | AliExpress
8Breadboard1Amazon | AliExpress | SunFounder




FC-37 or YL-83 Raindrop Sensor Module

The FC-37, also known as the YL-83, is a simple sensor designed to detect the presence of water droplets on its conductor strip.

FC-37 or YL-83 Raindrop Sensor Module

By sensing moisture, it effectively determines the weather conditions, specifically indicating whether it is raining, snowing, or if the weather is dry with no precipitation.

Working Principle of Raindrop Sensor Module

A Raindrop sensor is a board on which nickel is coated in the form of lines. It works on the principle of resistance. When there is no raindrop on board. Resistance is high so we get high voltage according to V=IR.

  • Wet: the resistance increases, and the output voltage decreases
  • Dry: the resistance is lower, and the output voltage is higher

RainDrop Sensor Working Principle

When rain drop present it reduces the resistance because water is the conductor of electricity and the presence of water connects nickel lines in parallel reducing resistance and reducing voltage drop across it. The more intense the rainfall the lower the resistance.


Features of FC-37 or YL-83 Raindrop Sensor Module

  • Comes with a wide area conductor strip for sensing water droplet
  • Comes with 8 8-inch Dupont cable for detected signal transmission
  • Built-in LM393 comparator
  • Operating Voltage : 3–5 Volt
  • Signal Output Current: 15 mA
  • Type of Output : 3–5 Volt (Digital TTL)
  • Analog Output : 0–5 Volt max.
  • Comes with M3 mounting holes for easier installation
  • Built-in LED power indicator
  • Built-in LED output indicator

Pinout of FC-37 or YL-83 Raindrop Sensor Module

The FC-37 or YL-83 Raindrop Sensor Module typically includes the following pins:

RainDrop Sensor Pinout

  1. VCC: Powers the sensor (3.3V to 5V).
  2. GND: Ground connection.
  3. D0: Digital output (low when water is detected, high otherwise).
  4. A0: Analog output, varies with water amount detected.

The rain sensor board, which is a separate component that connects to the control board, typically has two pins:

  1. Rain Sensor Pad: This is the part of the sensor that detects rain or water droplets.
  2. Connector Pins: These pins connect the rain sensor board to the control board, typically marked with ‘+’ and ‘-‘ to indicate the correct orientation.



Rain Detection using Raindrop Sensor Module & Arduino

Lets interface the Raindrop Sensor Module with Arduino to build a Rain Detection System. First we need to assemble the hardware as per circuit diagram and then write an Arduino code, so that the Sensor Working can be tested.

Hardware Connection & Circuit

Here is the connection diagram for Rain Detection System using Raindrop Module and Arduino.

Rain Detection using Raindrop Sensor Module & Arduino

In the given setup, each component—the raindrop sensor, LED, and buzzer—is connected to a specific digital pin on the Arduino:

  1. Raindrop Sensor: This sensor is connected to digital pin 2. The Arduino will monitor this pin to detect changes in the sensor’s status, indicating the presence or absence of rain.
  2. LED: The LED is attached to digital pin 3. The Arduino controls this LED, turning it on or off based on the rain detection status from the raindrop sensor.
  3. Buzzer: The buzzer is connected to digital pin 4. Similar to the LED, the Arduino uses this pin to activate the buzzer in response to rain detection.

You can use the breadboard to assemble all the components using jumper wires.



Source Code/Program

Now lets write an Arduino Code for the Rain Detection System. In the following code, whenever the rain falls on RainDrop Sensor, the LED and Buzzer turns on simultaneously.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Define pin numbers
const int sensorPin = 2;   // Raindrop sensor module
const int ledPin = 3;      // LED
const int buzzerPin = 4;   // Buzzer
 
void setup()
{
  pinMode(sensorPin, INPUT);   // Set sensorPin as input
  pinMode(ledPin, OUTPUT);     // Set ledPin as output
  pinMode(buzzerPin, OUTPUT);  // Set buzzerPin as output
  Serial.begin(9600);          // Start serial communication at 9600 baud rate
}
 
void loop()
{
  int sensorState = digitalRead(sensorPin);  // Read the digital value from the sensor
 
  if(sensorState == HIGH)  // Rain detected
  {
    digitalWrite(ledPin, LOW);  // Turn LED OFF
    noTone(buzzerPin);           // Stop playing any tone on the buzzer
  }
  else  // No rain detected
  {
    digitalWrite(ledPin, HIGH);   // Turn LED ON
    tone(buzzerPin, 1000);       // Play a tone at 1000 Hz on the buzzer
  }
 
  Serial.println(sensorState);  // Print the sensor state to the serial monitor
  delay(50);
}

Working of the Project

In operation, when the raindrop sensor detects water, it sends a signal to the Arduino through pin 2. The Arduino then processes this signal and, depending on the programming, can activate the LED and buzzer by sending output signals to pins 3 and 4, respectively.

RainFall Detector Rain Sensor Arduino

For example, the LED might light up and the buzzer sound when rain is detected, signaling an alert.

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Reddit Telegram WhatsApp
Previous ArticleHow to use HC-SR501 PIR Motion Sensor with Arduino
Next Article IoT Patient Health Monitoring with ESP8266 & Arduino

Related Posts

DC Energy Meter using Arduino

Build a DC Energy Meter using Arduino – 32V/5A

Updated:August 26, 20252K
Interfacing ADXL375 Accelerometer with Arduino

Interfacing ADXL375 Accelerometer with Arduino (±200g)

Updated:June 28, 2025
PZEM-004T Arduino Energy Meter

DIY AC Energy Meter using PZEM-004T & Arduino

Updated:March 6, 20258K
Interfacing BMI160 Accelerometer & Gyroscope with Arduino

Interfacing BMI160 Accelerometer & Gyroscope with Arduino

Updated:February 2, 20259K
Password Based Door Lock Security System Using Arduino & Keypad

Password Based Door Lock Security System Using Arduino & Keypad

Updated:February 2, 20252436K
Earthquake Detector Alarm with with Accelerometer & Arduino

Earthquake Detector Alarm with Accelerometer & Arduino

Updated:February 2, 2025661K
Add A Comment

CommentsCancel reply

Latest Posts
ESP32 Fingerprint Attendance System with Live Web Dashboard

ESP32 Fingerprint Attendance System with Live Web Dashboard

June 21, 2026
IoT Based PM & Air Quality Monitoring System using ESP32

IoT Based PM & Air Quality Monitoring System using ESP32

June 14, 2026
DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

May 10, 2026
IoT Activity Tracker with ESP32 & Accelerometer Gyroscope

IoT Activity Tracker with ESP32 & Accelerometer/Gyroscope

May 2, 2026
A Guide to Sourcing Obsolete ICs for Vintage Projects

Beyond AliExpress: A Guide to Sourcing Obsolete ICs for Vintage Projects

April 21, 2026

ESP32 IoT Vehicle Motion Analyzer with MPU6050 & LIS3MDL

April 27, 2026
Building a Smart Sensor Node with a BLE Microcontroller

Building a Smart Sensor Node with a BLE Microcontroller

February 26, 2026
High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

April 27, 2026
Top Posts & Pages
  • ESP32 Fingerprint Attendance System with Live Web Dashboard
    ESP32 Fingerprint Attendance System with Live Web Dashboard
  • IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
    IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
  • 12V DC to 220V AC Inverter Circuit & PCB
    12V DC to 220V AC Inverter Circuit & PCB
  • ESP32 CAN Bus Tutorial | Interfacing MCP2515 CAN Module with ESP32
    ESP32 CAN Bus Tutorial | Interfacing MCP2515 CAN Module with ESP32
  • How to use Modbus RTU with ESP32 to read Sensor Data
    How to use Modbus RTU with ESP32 to read Sensor Data
  • IoT Based ECG Monitoring with AD8232 ECG Sensor & ESP32
    IoT Based ECG Monitoring with AD8232 ECG Sensor & ESP32
  • MAX30102 & Arduino: Heart Rate + Blood Oxygen Monitoring
    MAX30102 & Arduino: Heart Rate + Blood Oxygen Monitoring
  • Buck Converter: Basics, Working, Design & Application
    Buck Converter: Basics, Working, Design & Application
Categories
  • Arduino Projects (197)
  • Articles (60)
    • Learn Electronics (19)
    • Product Review (15)
    • Tech Articles (28)
  • Electronics Circuits (46)
    • 555 Timer Projects (21)
    • Op-Amp Circuits (7)
    • Power Electronics (13)
  • IoT Projects (205)
    • ESP32 MicroPython (7)
    • ESP32 Projects (82)
    • ESP32-CAM Projects (15)
    • ESP8266 Projects (76)
    • LoRa/LoRaWAN Projects (22)
  • Microcontrollers (38)
    • AMB82-Mini IoT AI Camera (4)
    • BLE Projects (18)
    • STM32 Projects (19)
  • Raspberry Pi (93)
    • Raspberry Pi Pico Projects (57)
    • Raspberry Pi Pico W Projects (12)
    • Raspberry Pi Projects (24)
Follow Us
  • Facebook
  • Twitter
  • Pinterest
  • Instagram
  • YouTube
About Us

“‘How to Electronics’ is a vibrant community for electronics enthusiasts and professionals. We deliver latest insights in areas such as Embedded Systems, Power Electronics, AI, IoT, and Robotics. Our goal is to stimulate innovation and provide practical solutions for students, organizations, and industries. Join us to transform learning into a joyful journey of discovery and innovation.

Copyright © How To Electronics. All rights reserved.
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Looks like you're using an ad blocker. Please allow ads on our site. We rely on advertising to help fund our site.