Smart Room Monitor
Real-time IoT dashboard
An end-to-end monitoring system: an ESP32 reads temperature and humidity from a DHT22 sensor, publishes over MQTT, and a Flask service pushes live readings to a browser dashboard through Socket.IO.
Live readings render in under a second from sensor to browser, with a simulated build published on Wokwi so the system can be demonstrated without hardware.
- ESP32
- DHT22
- MQTT
- Flask
- Socket.IO
- Chart.js

System architecture
- 01ESP32 + DHT22 sensor node samples on a fixed interval
- 02MQTT broker decouples the device from the application
- 03Flask subscriber normalises payloads and keeps a rolling window
- 04Socket.IO streams updates to a Chart.js dashboard without polling
Problem
Room conditions change constantly, but a sensor reading is only useful if you can see it as it happens and understand the trend behind it.
Challenge
Keeping the socket stream stable when the device reconnects, and avoiding chart jitter from noisy sensor samples.
Learning
How a publish/subscribe boundary makes hardware and application code independently testable, and why buffering matters before visualising sensor data.




