IoT Portfolio
ESP32 · Adafruit IO · MQTT · IFTTT · Firebase — five tasks, one rig.
These five pages document the IoT assignments from my ProtoSem 1.18 semester at Forge. They build on each other: one ESP32 starts by switching an LED from a browser and ends up as a logged, automated, cloud-connected light with a voice assistant and a web dashboard.
Task 1ESP32 Web Server & HTML LED ControlESP32 web server on the local network; an LED switched from a phone browser.Task 2Adafruit IO Dashboard & MQTTA mains bulb on a relay, switched from an Adafruit IO dashboard over MQTT.Task 3IFTTT + Adafruit IO Voice AutomationGoogle Assistant voice commands through IFTTT to the same Adafruit IO feed.Task 4Firebase IoT Monitoring DashboardDHT11 + LDR readings and bulb control on a Firebase dashboard with login.Task 5Firebase Logging, Automation & Data ExportTimestamped logging, automatic lighting from the LDR, a history chart and CSV export.
The rig
| Part | Pin | Used in |
|---|---|---|
| ESP32 DevKit V1 | — | All tasks |
| LED + 220 Ω | GPIO2 | Task 1 |
| Relay module + bulb | GPIO26 (my Task 2–3 sketch) / GPIO5 (Firebase firmware) | Tasks 2–5 |
| DHT11 | GPIO4 | Tasks 4–5 |
| LDR + 10 kΩ divider | GPIO34 | Tasks 4–5 |
Links
- Source code for every task: https://github.com/TringyTrongy/protosem-iot
- Firebase dashboard: https://bulb-v2.web.app/ · with history: https://bulb-v2.web.app/v2.html
- Adafruit IO: feed and dashboard
bulb-relay(account TringyTrongy)
Passwords, Wi-Fi details and API keys are kept out of the repository; each sketch has a *.example.h template instead.