Arduino Weather Station using DHT11 Sensor


We’re diving back into the world of DIY electronics with a fresh endeavour. Today, we’re guiding you step-by-step through creating your own weather monitoring system using an Arduino board. While there are plenty of pre-made weather devices out there, there’s nothing quite like building one with your own two hands. Don’t forget to bookmark our site for more Arduino-centric projects and insights!

All it takes is following our straightforward guide. This DIY weather monitoring system will display both temperature and humidity on an LCD screen. What’s unique about our setup is the use of the DHT11 sensor – a versatile component capable of detecting both temperature and humidity simultaneously. Dive into the world of Arduino with this hands-on project!

Introduction Arduino Weather Station:

The essence of monitoring weather conditions lies in understanding the temperature and humidity of our immediate surroundings. At the heart of our device is the DHT11 sensor, a marvel of modern technology. This compact component houses two distinct sensors: one for temperature and the other for humidity. Despite being two-in-one, it operates seamlessly, presenting both readings with precision.

With our system, you’ll witness real-time temperature and humidity data being showcased on a 16×2 LCD display. This data refreshes every second, ensuring you’re always informed of the latest atmospheric shifts. For those passionate about staying attuned to their environment, this project is a must-build! Dive in and experience the thrill of DIY Arduino magic.


Components Required to Build the Weather Monitoring Station:

  • Arduino Uno: The brain of our project, this microcontroller board is the foundation for our weather monitoring system.
  • DHT11 Sensor: A dual-function sensor, capable of gauging both temperature and humidity, ensuring accurate atmospheric readings. (Also can be used DHT22)
  • Jumper Wires: Essential for connecting our components and establishing the communication lines within our setup.
  • LCD 1602 Module: Our real-time data window, this screen will showcase the temperature and humidity readings for easy viewing.

Circuit Diagram of the Weather Monitoring System:

image 1

Code in use:

#include <dht.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

dht DHT;

#define DHT11_PIN 2

#define SCREEN_WIDTH 128 // OLED display width, in pixels

#define SCREEN_HEIGHT 64 // OLED display height, in pixels

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);





void loop() {


  int current_temp = DHT.temperature;

  int current_humi = DHT.humidity;

  display.setCursor(0, 0);



  display.drawCircle(88, 3, 3, WHITE); // Print degree character

  display.setCursor(95, 0);


  display.setCursor(0, 31);






How Arduino Weather Station Works

Upon powering up the system, the magic begins. The sensor springs to life, diligently capturing and transmitting temperature and humidity data to the Arduino. The Arduino, acting as the brains of the operation, processes this raw data and transforms it into comprehensible readings. These readings are then displayed on the LCD in real-time. It’s a straightforward yet ingenious process!

A Closer Look at the DHT11 Sensor:

The DHT11 is more than meets the eye. Housed within its compact frame are two distinct sensors, each operating in tandem. This dual-functionality allows for simultaneous tracking of both temperature and humidity, ensuring comprehensive atmospheric insights.

For those eager to replicate this weather monitoring marvel, simply follow our step-by-step guide. Should any questions or uncertainties arise, don’t hesitate to drop them in the comment section.

Check out our other projects:

To learn about The Best Arduino Starter Kits from Kunkune Click Here!