Skip to content
Buy 10+ on select items — save 10% auto-applied
Free US shipping on orders $35+
Order by 3pm ET — ships same-day from the US
Skip to main content

ESP32 DHT22 BMP180: Live Blynk Weather Dashboard | ShillehTek

July 29, 2026 29 views

ESP32 DHT22 BMP180: Live Blynk Weather Dashboard | ShillehTek
Project

Build an ESP32 weather station with DHT22, BMP180, and SI1145 sensors that streams six readings to Blynk with live web and mobile dashboards from ShillehTek.

Beginner to Intermediate11 parts

Project Overview

ESP32 IoT Weather Station: Use an ESP32 with a DHT22, BMP180, and SI1145 sunlight sensor to stream six live weather parameters over WiFi to Blynk, complete with web and mobile dashboards and history charts.

The hardware is simple, but the result is a genuinely useful always-on station and a solid introduction to end-to-end IoT.

  • Time: An afternoon (most of it is the dashboard setup)
  • Skill level: Beginner to Intermediate
  • What you will build: A six-parameter weather station with live web and mobile dashboards plus historical charts.
ESP32 weather station project showing sensors connected and live Blynk dashboard
Sensors to cloud: the station and its live dashboard.
Assembled ESP32 weather station with DHT sensor, BMP180 pressure sensor, and SI1145 sunlight sensor
The whole station: ESP32 plus three sensors.

Parts List

From ShillehTek

External

  • SI1145 sunlight sensor (UV/IR/visible; Grove or breakout version) - or skip it and run a temperature/humidity/pressure station with just the parts above
  • Free Blynk account

Note: The DHT talks on one digital pin, while the BMP180 and SI1145 share the I2C bus. That is why three sensors need only three signal wires.

Step-by-Step Guide

Step 1 - Wire the Three Sensors

Goal: Connect all sensors to the ESP32.

What to do: Power every sensor from Vin and GND, then connect the signal lines like this:

DHT:     SIG -> D5               (one digital pin)
BMP180:  SDA -> D21, SCL -> D22  (I2C)
SI1145:  SDA -> D21, SCL -> D22  (same I2C bus)

A tidy option is to solder a mini shield with parallel male headers for the busiest pins (Vin, GND, D21, D22) so all three sensors plug in cleanly.

ESP32 wiring diagram showing DHT sensor on D5 and BMP180 plus SI1145 on I2C pins D21 (SDA) and D22 (SCL)
One digital pin plus a shared I2C bus covers all three sensors.
ESP32 connected to DHT sensor, BMP180 pressure sensor, and SI1145 sunlight sensor with jumper wires
All sensors connected.
Neatly assembled ESP32 weather station with sensors mounted on a board and organized wiring
Mounted on a board with the wiring tamed.

Expected result: A clean, compact sensor cluster connected to the ESP32.

Step 2 - Set Up the IDE for ESP32

Goal: Install ESP32 board support and required libraries.

What to do: Add the Espressif boards URL (https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json) in Preferences, install "ESP32 by Espressif Systems" from the Boards Manager, then install four libraries from the Library Manager: Blynk (Volodymyr Shymanskyy), DHT Sensor Library (Adafruit), Grove Barometer Sensor (Seeed), and Grove Sunlight Sensor (Seeed). Download the project sketch from the original write-up (linked below in the conclusion credit).

Arduino IDE Boards Manager showing installation of ESP32 by Espressif Systems
ESP32 boards installed.
Arduino IDE Library Manager showing Blynk, DHT, Grove Barometer, and Grove Sunlight Sensor libraries
The four required libraries.

Expected result: The sketch compiles.

Step 3 - Create Your Blynk Template

Goal: Create the cloud template for the station.

What to do: Sign up at blynk.io, then create a New Template named "Weather Station" with Hardware = ESP32 and Connection = WiFi. Blynk assigns it a unique Template ID.

Blynk signup screen used to create an account for the ESP32 weather station dashboard
Free account, free tier is plenty.
Blynk console showing creation of a new template configured for ESP32 over WiFi
Template: ESP32 over WiFi.

Expected result: A template with its ID ready.

Step 4 - Create Six Datastreams

Goal: Assign one virtual pin per measurement.

What to do: Under Datastreams, add six Virtual Pin streams, all Data Type "Double" with two decimals (#.##): Temperature on V0 (°C, 0-100), Humidity on V1 (%, 0-100), Pressure on V2 (0-2000), Visible Light on V3, IR Radiation on V4, and UV Index on V5 (each 0-300). Save.

Blynk datastreams page showing virtual pins V0 through V5 configured for weather station measurements
V0 to V5, one stream per parameter.

Expected result: Six datastreams saved.

Step 5 - Build the Web Dashboard

Goal: Create labels for live values and charts for history.

What to do: Drag six Label widgets onto the dashboard and bind each to its datastream (the gear icon opens settings; you can color-code by value and show level bars). Then add six Chart widgets, one per stream (the free tier shows one datastream per chart), choose line/area/column styles, and enable autoscale. Save.

Blynk web dashboard editor showing label widgets bound to ESP32 weather station datastreams
Six labels for six live values.
Blynk web dashboard editor showing chart widgets for temperature, humidity, pressure, and light datastreams
Charts give you history for every parameter.

Expected result: A dashboard showing (for now) sample data.

Step 6 - Create the Device and Copy Credentials

Goal: Link your hardware device to the Blynk cloud.

What to do: Create a New Device from your template. Blynk shows three credentials: Template ID, Device Name, and Auth Token. Paste them into the sketch's BLYNK_TEMPLATE_ID, BLYNK_DEVICE_NAME, and auth[] defines, and fill in your WiFi ssid[] and pass[]. If you are using a DHT11 or DHT21 instead of a DHT22, uncomment the matching #define DHTTYPE line.

Blynk console showing creation of a new device from the ESP32 Weather Station template
Device created from the template.
Blynk device credentials screen showing Template ID, Device Name, and Auth Token being copied into code
Three credentials into three defines.
Arduino sketch snippet showing DHT sensor type selection for DHT11, DHT21, or DHT22
Pick your DHT variant with one uncomment.

Expected result: A sketch personalized for your device and network.

Step 7 - Upload and Verify

Goal: Get the station online and publishing real sensor data.

What to do: Select your ESP32 board and COM port, click Upload, and hold the BOOT button when "connecting..." appears. Then open the serial monitor at 115200 and press reset; the Blynk logo appears when WiFi connects. Your Blynk device flips to Online and real values replace the sample data.

If it does not work, check systematically: wrong credentials means no connection, wrong datastream binding means wrong widget values, and sensor issues can be isolated by testing each sensor with its example sketch.

Arduino IDE uploading weather station firmware to ESP32 with BOOT button prompt
Upload (hold BOOT at "connecting...").
Blynk web dashboard showing live ESP32 weather station values and history charts
Live data: breathe on the DHT and watch temperature and humidity change.

Expected result: Hours-long chart history without a hiccup (the reference build ran for 6+ hours cleanly).

Step 8 - Add the Mobile Dashboard (Optional)

Goal: View the weather station on your phone.

What to do: Install the Blynk IoT app and log in; your device syncs automatically. Build the phone layout with six Labeled Value widgets (you can append units like °C and %) plus SuperCharts with selectable history ranges (15 minutes to hours).

Blynk mobile app showing the ESP32 weather station dashboard with live values and charts
The same station, phone-sized.

Expected result: Live weather anywhere you are.

Conclusion

You built a complete IoT pipeline: three sensors into an ESP32, six datastreams into Blynk, and live dashboards on web and phone with historical charts.

If you want to extend it, add more virtual pins for additional sensors such as a wind speed anemometer or a rain sensor.

Credit: The reference build photos and original guide/code are from Instructables by Saiyam.

Want the exact parts used in this build? Grab them from ShillehTek.com. If you want help customizing this project or building something for your product, check out our IoT consulting services.