(still under development)
AirQuality-Monitor-ESP32
An advanced IoT air quality monitoring system built with ESP32 to help protect asthma patients and sensitive individuals.
It measures PM2.5, temperature, and humidity, sends WhatsApp alerts during dangerous air conditions, and logs data onto an SD card for long-term analysis.
✅ PM2.5 Fine Dust Monitoring (SDS011 Sensor)
✅ Temperature, Humidity, and VOC Monitoring (BME680 Sensor)
✅ Real-Time Clock with Battery Backup (DS3231 RTC)
✅ Data Logging to MicroSD Card (CSV Format)
✅ WhatsApp Alert Notification (using CallMeBot API)
✅ Automatic Wi-Fi Reconnection
✅ RGB LED and Buzzer Alerts
✅ Professional Modular Arduino Code
✅ Expandable and Customizable
| Component | Model |
|---|---|
| Microcontroller | ESP32 Dev Board |
| PM2.5 Dust Sensor | SDS011 |
| Temperature, Humidity, VOC Sensor | BME680 |
| Real-Time Clock | DS3231 |
| MicroSD Card Module | Standard SPI-based |
| RGB LED | Common Cathode or Anode |
| Buzzer | 5V Active |
| Power Supply | Lithium Battery / USB |
| Breadboard + Jumper Wires | Various |
Detailed instructions are available inside tools/setup_instructions.md.
Quick Steps:
- Install Arduino IDE or PlatformIO.
- Install ESP32 Board Support via Board Manager.
- Install Required Libraries:
- Adafruit BME680
- Adafruit Unified Sensor
- RTClib
- SDS011
- SD
- WiFi
- HTTPClient
- Configure:
- Wi-Fi credentials in
wifi_manager.cpp. - WhatsApp API Key and Phone Number in
alert_manager.cpp.
- Wi-Fi credentials in
- Connect the hardware hardware/schematic
- Upload
src/main/main.inoto ESP32. - Monitor the Serial Monitor for system logs.
| Folder | Purpose |
|---|---|
src/main/ |
Main modular code (Sensors, Wi-Fi, Alerts, Logger) |
lib/ |
(Optional) Custom Libraries |
docs/ |
Architecture Diagrams, Flowcharts, Hardware Guides |
hardware/ |
Fritzing / Schematic Diagrams (>Progress<) |
tools/ |
Setup Guides, Helper Scripts |
data/ |
Example Data Logs |
- 🛰️ Upload data to ThingSpeak / InfluxDB Cloud
- 📊 Real-time dashboard via WebServer
- 🔋 Battery level monitoring and OTA updates
- 🏥 Integrate Air Quality Index (AQI) calculation
- 📡 Offline Mode enhancements with local buzzer-only alerts
This project is licensed under the MIT License — free for personal and commercial use with attribution.
Feel free to open an Issue or Pull Request to contribute improvements!
Let's protect health with technology! ❤️💨