Built to order

IoT Weather Station with Mobile Dashboard

This project builds a complete IoT weather station: an ESP32 node reads temperature, humidity, pressure, rainfall and wind speed from real sensors and publishes the data to a live web dashboard with graphs, daily summaries and threshold alerts. The deliverable is the full loop — sensing hardware, firmware, cloud pipeline and the working dashboard demonstrated alongside the prototype. Suitable for B.E./B.Tech final-year projects in IoT and Embedded Systems.

IoT Weather Station with Mobile Dashboard — project thumbnail preview
More project photos (2)

The problem

Weather data is the classic first IoT project, and for a reason: it exercises the entire pipeline in one build — sensing, calibration, wireless telemetry, storage, visualization and alerting. This weather station does it properly. A DHT22 measures temperature and relative humidity, a BMP280 adds barometric pressure, a tipping-bucket rain gauge counts rainfall in 0.3 mm tips, and a cup anemometer with a reed switch reports wind speed. An ESP32 samples all four, converts raw counts to physical units, and publishes to a cloud dashboard over Wi-Fi using MQTT, where live values, 24-hour graphs, daily rainfall totals and heat-index calculations are displayed. Threshold alerts (heat, storm-level rain rate, high wind) fire push notifications. The project is honest about sensor accuracy: datasheet values are stated, and the calibration procedure against a reference thermometer is part of the deliverable.

How it works

  1. The ESP32 samples the DHT22, BMP280, rain-gauge tip counter and anemometer pulse counter on a fixed schedule.
  2. Raw counts are converted to physical units: tips × 0.3 mm for rainfall, pulses-per-interval for wind speed, with debouncing on the reed contacts.
  3. Readings are packed into a JSON payload and published over Wi-Fi via MQTT to the cloud broker.
  4. The dashboard backend stores the series and renders live values, 24-hour graphs, daily rainfall totals and heat-index values.
  5. When a reading crosses a configured threshold (heat, rain rate, gust), the alert service sends a push notification to the phone.
  6. A solar + Li-ion option with ESP32 deep-sleep between readings supports unattended outdoor deployment; the accuracy note in the report compares each sensor's datasheet tolerance with the buyer's calibration check.

Tech stack:

  • ESP32 development board
  • DHT22 temperature/humidity sensor
  • BMP280 barometric pressure sensor
  • Tipping-bucket rain gauge (reed-switch)
  • Cup anemometer (reed-switch pulse)
  • MQTT broker + cloud dashboard (web)
  • Arduino IDE (C/C++ firmware)
Parameter Value
Controller ESP32, Wi-Fi telemetry via MQTT (JSON payloads)
Sensors DHT22 (temp/RH), BMP280 (pressure), tipping bucket (rain), anemometer (wind)
Sensor accuracy DHT22: ±0.5 °C / ±2% RH typical (datasheet); BMP280: ±1 hPa typical (datasheet); rain: 0.3 mm per tip (design target)
Reporting Configurable interval, design target 60 s; MQTT reconnect with backoff
Dashboard Live values, 24-hour graphs, daily rainfall total, heat index, threshold configuration
Alerts Push notification on heat-index, rain-rate and wind-gust thresholds
Power USB 5 V, or solar + Li-ion with deep-sleep between readings

Project features

  • [Multi-sensor node] DHT22 (temperature/humidity), BMP280 (pressure), tipping-bucket rain gauge and reed-switch anemometer — four real sensing channels, each converted to physical units in firmware.
  • [Live web dashboard] Current values, 24-hour trend graphs, daily rainfall total and computed heat index, served as a working dashboard alongside the hardware.
  • [MQTT telemetry] ESP32 publishes JSON readings over Wi-Fi via MQTT with a configurable reporting interval (design target: 60 s) and reconnect handling.
  • [Threshold alerts] Heat-index, rain-rate and wind-gust thresholds trigger mobile push alerts; thresholds are configurable from the dashboard.
  • [Tipping-bucket rain gauge] Self-built or sourced tipping bucket with 0.3 mm-per-tip resolution; firmware debounces the reed contact and accumulates daily totals.
  • [Heat-index computation] Apparent temperature is computed from temperature and humidity using the standard heat-index formula — a real derived quantity, not a raw sensor dump.
  • [Solar/battery power option] The node runs from USB or a documented solar + battery option with deep-sleep between readings to extend field life.

What is included

  • Working weather-station node prototype (ESP32, DHT22, BMP280, rain gauge, anemometer)
  • Complete firmware source code (sensing, unit conversion, MQTT telemetry, deep-sleep)
  • Cloud pipeline + working dashboard (live values, graphs, alerts) demonstrated with the prototype
  • Circuit and wiring documentation with sensor calibration notes
  • Component list with ratings
  • Buyer-run calibration procedure (reference thermometer comparison)
  • Project report PDF (meteorological sensing background, MQTT/IoT architecture, methodology, test procedure)
  • PPT presentation for final review
  • Viva Q&A preparation document (sensor principles, MQTT, heat-index derivation)
  • Setup and demonstration guide

Limitations & prerequisites

  • Sensor accuracies are datasheet values (DHT22 ±0.5 °C, ±2% RH typical); this is a teaching station, not a meteorological instrument — readings are compared against a reference during the buyer's calibration, not claimed as lab-grade.
  • The rain gauge resolution is 0.3 mm per tip by design; drizzle below that per event is under-counted.
  • Telemetry needs a stable 2.4 GHz Wi-Fi link; long outdoor runs depend on signal quality and are not part of the base build.
  • The anemometer measures wind speed only; wind direction needs an additional vane sensor (listed as future scope).
  • Push alerts need internet on both the node and the phone; local Wi-Fi outages queue nothing.

Frequently Asked Questions

What does the station measure?

Temperature and humidity (DHT22), barometric pressure (BMP280), rainfall via a tipping-bucket gauge, and wind speed via a cup anemometer — four real channels converted to physical units.

How does the dashboard work?

The ESP32 publishes JSON readings over Wi-Fi via MQTT; a cloud dashboard shows live values, 24-hour graphs, daily rainfall totals and computed heat index, with configurable alert thresholds.

How accurate are the readings?

Datasheet values are stated honestly (e.g. DHT22 ±0.5 °C typical). The calibration procedure shows how to check the station against a reference thermometer; no lab-grade claims are made.

Can it run outdoors unattended?

Yes, with the documented solar + Li-ion option and ESP32 deep-sleep between readings. Outdoor range still depends on Wi-Fi signal quality.

What are the main limitations?

Teaching-grade sensor accuracy, 0.3 mm rain resolution, wind speed only (no direction), and alerts need internet on both ends.

Is this project suitable for a final-year project?

Yes — for IoT and Embedded Systems programs. It covers the complete IoT loop: multi-sensor interfacing, MQTT telemetry, cloud dashboards, derived quantities and honest calibration, all strong viva material. Suitable for B.E./B.Tech final-year projects in IoT and Embedded Systems.

Components & software requirements
  • ESP32 development board
  • DHT22 temperature/humidity sensor
  • BMP280 barometric pressure sensor
  • Tipping-bucket rain gauge (reed-switch)
  • Cup anemometer (reed-switch pulse)
  • MQTT broker + cloud dashboard (web)
  • Arduino IDE (C/C++ firmware)
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Blueprint-style technical illustration of an ESP32 development board at the centre, with sensor nodes, data-flow arrows and a circuit-brain motif representing an AI agent reasoning and sending decisions back.Engineering students building IoT or embedded final-year projects who want to add local AI agent behaviour with ESP32, MQTT and a small language model.

AI Agents on ESP32: Agentic IoT Final-Year Projects

An agentic IoT system observes, reasons, acts, remembers and explains. On ESP32 that means a split architecture: the chip senses and acts while a small local model (Ollama on your laptop) reasons over MQTT — a full LLM needs gigabytes of RAM the chip doesn't have. This guide covers three working patterns (host-reasoned agent, on-device tinyML on ESP32-S3, and a hybrid of both), plus Wi-Fi CSI presence sensing, parts and budget for India, code shapes, and honest limits to state in your report.

Read guide
Technical illustration of three electronic control units linked by a twisted-pair CAN bus cable carrying signal pulses between them.Electronics, E&TC, IoT and robotics students who keep hearing “CAN bus” in EV, automotive and industrial project ideas and want to understand it properly before wiring anything

CAN Bus Basics for Students: How ECUs Communicate

CAN bus is the shared network that lets dozens of controllers in a car, EV or robot communicate over two wires. This guide explains message IDs, arbitration, the physical layer, frame structure, error handling and CAN FD, then walks through building a working two-node bench network with an ESP32 and a transceiver.

Read guide
Illustration of a quadcopter drone build showing labeled parts including frame, motors, propellers, ESCs, flight controller, and battery.B.E./B.Tech Electronics, Mechanical, and Computer Science students planning to build a quadcopter drone who need to select compatible parts without wasting money on mismatched

Drone Build: Parts Selection Guide

Picking drone parts that actually work together is a sizing problem, not a shopping problem. This guide walks the compatibility chain — frame to props to motors to ESCs to battery — with the thrust math, firmware choices, LiPo safety, and the bench-test order that prevents disasters.

Read guide
Get a quotation