PCBHub
December 1, 202576 min read 1 views

🌧️🧪 Smart Acid Rain Prediction System : 3 Steps (with Pictures) - Instructables

pcbhub
pcbhub
Author
🌧️🧪 Smart Acid Rain Prediction System : 3 Steps (with Pictures) - Instructables

Introduction: 🌧️🧪 Smart Acid Rain Prediction System

Article visual

Detecting danger before it reaches the ground.


Acid rain forms when harmful air pollutants like Sulfur Dioxide (SO₂) and Nitrogen Dioxide (NO₂) combine with moisture in the atmosphere. This project predicts the chances of acid rain before it occurs by monitoring SO₂, NO₂, humidity, and temperature in real time.


This Smart Acid Rain Prediction System is designed as an educational, low-cost project focused on science. It's perfect for school fairs, exhibitions, and STEM learning. The device uses gas sensors, a DHT11 weather module, and a custom algorithm to calculate an “Acid Rain Risk Score.” This score is displayed on a 16×2 LCD.


To enhance its appearance, the project is housed in a cloud-shaped 3D-printed case. This design gives it a neat, weather-themed look that grabs attention right away.

Supplies

Electronics

  1. Arduino Nano
  2. MQ-136 Gas Sensor (for SO₂ detection)
  3. NO₂ Sensor (MEMS/Electrochemical type)
  4. DHT11 Temperature & Humidity Sensor
  5. 16×2 LCD Display (I2C or standard pins)
  6. 5V Regulated Power Supply / USB power
  7. Jumper wires (male–male / male–female)
  8. Breadboard or custom PCB

Step 1:

Article visual
Article visual
Article visual

Step 1: 3D Printing the Enclosure


To give the project a polished, weather-themed look, we will use a cloud-shaped 3D-printed case. This enclosure protects the components and makes the project visually appealing for exhibitions, science fairs, and demonstrations.


What to Do


Download the 3D files

Get the cloud-shaped enclosure STL files from Thingiverse or your preferred source.


Slice the model

Import the STL files into a slicer like Cura, PrusaSlicer, or Bambu Studio.

Recommended settings:


Layer height: 0.2 mm


Infill: 15-20%


Material: PLA


Supports: Not required unless your design has overhangs


Start printing

Make sure your printer bed is leveled and the first layer sticks properly.

Print both the front panel (LCD window) and the back cover.


Finishing touches


Clean any stringing or rough edges.


Test-fit the LCD screen and sensors.


Sand lightly if needed for a snug fit.


Tips


Use white or light-blue PLA for a perfect cloud theme.


You can optionally print a transparent cover for the LCD window.


If you want better ventilation, add small holes for airflow in the back cover.

Step 2:

Article visual
Article visual
Article visual
Article visual
Article visual
Article visual

Step 2: Making the Circuit


In this step, we will wire all the sensors and modules to the Arduino Nano to build the main part of the Smart Acid Rain Prediction System. Double-check all connections before powering the system.


Connections Overview

MQ-136 (SO₂ Sensor)


VCC → 5V


GND → GND


AOUT → A0


NO₂ Sensor (MEMS/Electrochemical)


VCC → 5V


GND → GND


Analog Out → A1


DHT11 (Temperature & Humidity Sensor)


Signal → D2


VCC → 5V


GND → GND


16×2 LCD Display


If using I2C module:


SDA → A4


SCL → A5


VCC → 5V


GND → GND


If not using I2C, follow these example pin connections:


RS → D7


EN → D8


D4 → D9


D5 → D10


D6 → D11


D7 → D12


Building the Circuit


Place the Arduino Nano on a breadboard or custom PCB.


Connect the MQ-136 sensor to analog pin A0.


Connect the NO₂ sensor to analog pin A1.


Wire the DHT11 sensor to digital pin D2.


Connect the LCD using I2C or direct pins.


Use a 5V regulated power supply to power all modules.


Arrange wires neatly to reduce noise and interference.


Tips


Keep gas sensors slightly raised for better airflow.


Avoid placing the gas sensors too close to heat sources.


If using a PCB, label each pin clearly for easy debugging.

Step 3:

Step 3: Coding / Programming the System

Now that the circuit is ready, it’s time to upload the program that reads sensor data and calculates the Acid Rain Risk Level. The Arduino collects values from the SO₂ and NO₂ sensors, measures temperature and humidity, and combines everything to determine the risk percentage.

💻 What the Code Does

  1. Reads SO₂ and NO₂ gas levels through analog inputs
  2. Measures temperature and humidity using DHT11
  3. Calculates a risk score based on pollution + humidity
  4. Displays live data on the 16×2 LCD
  5. Updates the screen every second

🛠️ Uploading the Code

  1. Open the Arduino IDE.
  2. Select Board: Arduino Nano.
  3. Select the correct COM port.
  4. Paste the code into the IDE.
  5. Click Upload.
  6. When the LCD shows values, your system is working!

💡 Tips

  1. Let the MQ-136 sensor warm up for 2–5 minutes for stable readings.
  2. You can adjust the risk formula to be more accurate for your environment.
  3. Display custom messages like “LOW”, “MODERATE”, or “HIGH RISK”.


Enjoyed this article?

Support the author by leaving a like.