Portfolio / ESP32 IoT Sensor Platform
2025 — 2026 ESP32 MQTT FreeRTOS Grafana

ESP32 IoT
Sensor Platform

A complete environmental monitoring platform: ESP32 with DHT22 sensor running FreeRTOS firmware, publishing over MQTT to a Dockerised backend stack of Mosquitto, InfluxDB, and Grafana for real-time dashboards.

Production-quality IoT monitoring from the ground up.

This platform demonstrates a full IoT monitoring stack built entirely from scratch using ESP-IDF — Espressif's production firmware framework — rather than higher-level Arduino abstractions. FreeRTOS tasks handle sensor reading, MQTT publishing, and watchdog operations as concurrent, loosely-coupled processes.

The backend is fully containerised with Docker Compose. Data flows from the ESP32 every five seconds into a Mosquitto MQTT broker, is consumed by a Python subscriber, written to InfluxDB, and visualised in Grafana dashboards that persist across restarts.

System architecture

DHT22
Temperature + humidity
ESP32
ESP-IDF FreeRTOS C
Mosquitto
MQTT broker
Python Subscriber
paho-mqtt + influxdb-client
InfluxDB 2.7
Time-series storage
Grafana
Live dashboards

Components

COMPONENTDETAIL
MicrocontrollerESP32-S3 DevKitC-1
SensorDHT22 — temperature/humidity (−40°C to 80°C)
Firmware frameworkESP-IDF v5.5.2 with CMake build
Publish intervalEvery 5 seconds
MQTT topicsesp32/dht/temperature, esp32/dht/humidity

Technologies used

FIRMWARE
C FreeRTOS ESP-IDF CMake
BACKEND
Python 3.11 paho-mqtt influxdb-client
INFRASTRUCTURE
Docker Docker Compose Mosquitto 2.0
DATA
InfluxDB 2.7 Grafana