A complete IoT thermostat system powered by Flutter, Firebase, and MQTT, integrating live sensor data from an ESP8266 Wi-Fi-enabled microcontroller.
📺 Develop IoT App with Flutter – YouTube Live
🕙 Join on 19-05-2024 10 PM IST
- ✨ Beautiful Material 3 Themed UI
- 🔐 Firebase Login/Register with password reset
- 📶 Wi-Fi provisioning flow to connect ESP8266
- 📋 Device Manager (Add, Edit, Delete devices)
- 📊 Live Dashboard:
- Radial gauges for temperature & humidity
- Line charts for trends (last 10 values)
- 📁 Export as CSV from charts
- ☁️ Firebase Realtime DB for syncing per-user device data
- Supports Wi-Fi provisioning via mobile app
- Hosts local HTTP server on
192.168.4.1in AP mode - Parses JSON POST request:
{ "ssid": "YourWiFiName", "password": "YourWiFiPassword" } - Generates random 10-digit
deviceId, saves it to EEPROM - Sends temperature & humidity data to public MQTT broker
- Broker:
broker.hivemq.com - Topic format:
deviceId/data - Payload format:
"25.3,60.2"(temp, humidity)
- Broker:
- Fallback to hotspot if Wi-Fi credentials are invalid
- Reset logic via long-press (to clear EEPROM and re-provision)
| Login/Register | Wi-Fi Provisioning | Dashboard |
|---|---|---|
![]() |
![]() |
![]() |
- Flutter 3.19+
- Firebase Authentication
- Firebase Realtime Database
- MQTT via HiveMQ
- ESP8266 + DHT22
- Syncfusion Charts & Gauges
lib/
├── auth_page.dart
├── devices.dart
├── home_page.dart
├── profile.dart
├── theme.dart
└── main.dart
firmware/
└── firmware.ino
- Clone this repo
- Add your Firebase
google-services.jsonand setup Firebase project - Flash
firmware/firmware.inoto ESP8266 - Run the Flutter app
- Provision device Wi-Fi using app
Have questions or want to collaborate?
Reach out to me on jigneshk19978@gmail.com
Hire me on Fiverr: https://www.fiverr.com/iot_guy/develop-an-app-for-your-iot-business



