IoT Smarthome Control and Monitoring System Using ESP32 and Ngrok
A prototype smart home system built with ESP32, asynchronous web serving, SPIFFS-based web assets, and ngrok-backed remote access for controlling a servo, two LEDs, and monitoring DHT11 temperature-humidity data.
- Role
- Developer · Web IoT Integration & Embedded Control
- Timeframe
- Feb 2025
- Domain
- IoT & Automation
- Status
- archived
- Actuators
- 1 Servo + 2 LEDs
- Sensors
- DHT11
- Connectivity
- Local WiFi + Ngrok
Overview
This project is a smart home prototype that combines ESP32-based device control with live temperature-humidity monitoring through a browser interface.
The system is designed around local WiFi access first, then extended for remote accessibility using ngrok so the same interface can be reached outside the local network.
The Challenge
The hard part was not toggling a servo or blinking LEDs. It was building a control layer that stays stable on local WiFi, serves assets cleanly from SPIFFS, and remains reachable remotely without turning the whole setup into a brittle demo.
Approach
- 01Implemented an ESP32 asynchronous web server for responsive browser-based control.
- 02Stored and delivered web assets through SPIFFS for lightweight on-device hosting.
- 03Connected a DHT11 sensor for live temperature and humidity monitoring.
- 04Integrated ngrok to expose the local interface through a public tunnel for remote access.
Outcomes
- Delivered a working browser-controlled smart home prototype.
- Enabled live environmental monitoring alongside actuator control.
- Established a scalable path from local WiFi demo to remote-access deployment.
Stack
Hardware
- ESP32
- Servo Motor
- LEDs
- DHT11
Firmware
- Arduino C++
- Async Web Server
- SPIFFS
Access
- WiFi
- Ngrok
- Web Interface