This Arduino-based weather station will measure temperature, humidity, and atmospheric pressure.
🔧 Requirements (Materials Needed)
1️⃣ Electronic Components:
✅ Arduino Uno (or Nano) – The brain of the project
✅ DHT11 or DHT22 Sensor – Measures temperature & humidity
✅ BMP180 Sensor – Measures atmospheric pressure
✅ 16×2 LCD Display with I2C Module – Displays weather data
✅ Jumper Wires & Breadboard – For easy connections
✅ 9V Battery & Connector – To power the system
🛠️ How to Build the Weather Station
Step 1: Wiring the Circuit
Connections for DHT11 Sensor:
DHT11 Pin | Arduino Pin |
---|---|
VCC (Power) | 5V |
GND | GND |
Data | D2 |
Connections for BMP180 Sensor:
BMP180 Pin | Arduino Pin |
---|---|
VCC (Power) | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Connections for LCD Display:
- Connect I2C LCD module:
- SDA to A4
- SCL to A5
- VCC to 5V
- GND to GND
Step 2: Upload the Code to Arduino
Here’s a simple Arduino program to read and display the weather data:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <Adafruit_BMP085.h>
// Sensor and LCD setup
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
Adafruit_BMP085 bmp;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin();
lcd.backlight();
dht.begin();
bmp.begin();
}
void loop() {
float temp = dht.readTemperature();
float humidity = dht.readHumidity();
float pressure = bmp.readPressure() / 100.0; // Convert to hPa
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: "); lcd.print(temp); lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Hum: "); lcd.print(humidity); lcd.print("% ");
lcd.print("P: "); lcd.print(pressure); lcd.print("hPa");
delay(2000); // Refresh data every 2 seconds
}
Step 3: Assemble the Components on a Board
- Mount the LCD display and sensors securely on a cardboard or wooden base.
- Keep wires organized to avoid tangling.
- Attach a small plastic case for the Arduino and battery.
Step 4: Testing the Weather Station
- Power on the Arduino.
- The temperature, humidity, and pressure values should display on the LCD.
- Compare readings with real weather data to check accuracy.
🛠️ Circuit Diagram

No responses yet