Arduino Weather Station

Overview

A couple days ago I saw some really cool Arduino projects on reddit and decided to get myself an Arduino kit. After trying out all the sensors included I got the idea to make my own weather station with the help of an LCD, a DHT11 temperature and humidity sensor, and an Arduino Uno.

Components

  • Arduino Uno — The brain of the project
  • 16×2 LCD — Displays temperature and humidity readings
  • DHT11 sensor — Measures temperature and humidity
  • 10kΩ potentiometer — Adjusts LCD contrast
  • Breadboard & jumper wires — For connections

Wiring

LCD Connections

LCD pin Arduino pin
VSS GND
RW GND
K GND
RS 7
E 8
D4 9
D5 10
D6 11
D7 12
VDD 5V
A (backlight) 5V

Potentiometer: Place across breadboard halves. Two outer pins → GND and 5V. Middle pin → LCD V0 (contrast).

DHT11: Left pin → Arduino pin 2. Middle pin → 5V. Right pin → GND.

Arduino weather station full setup

Code

#include "DHT.h"
#include <LiquidCrystal.h>

#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup() {
  dht.begin();
  lcd.begin(16, 2);
}

void loop() {
  delay(500);
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  lcd.print("Humid: ");
  lcd.print(h);
  lcd.print("%");
  lcd.setCursor(0, 1);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.print((char)223);
  lcd.print("C");
  delay(2000);
  lcd.clear();
}

Finished Product

The LCD shows Humidity (%) and Temperature (°C) readings, which are described as accurate.

LCD showing temperature and humidity

Optional: Mini Version

Built on a tiny breadboard fitted onto a prototyping shield — same wiring but much tighter layout. The advantage is portability: carry only the Arduino and a battery.

Mini Arduino weather station on proto shield

Related Projects

Leave a Comment