This repository contains the C++ firmware and hardware configuration for the Clairvo Smart Air Quality Monitoring System. The physical node collects environmental data using various sensors and transmits it to a Firebase NoSQL database in real-time, while also automatically controlling an exhaust fan based on air quality thresholds.
The full-stack Next.js web dashboard that displays this sensor data can be found here:
Clairvo Air Quality Monitor - Web Dashboard
(Live Demo: clairvo-air-quality-monitor.vercel.app)
Figure 1: IoT Node Schematic Wiring.
Figure 2: Physical Enclosure Setup with Exhaust Fan.
The smart monitor is built using the following physical components:
- Microcontroller: ESP32 (Wi-Fi enabled)
- Gas Sensor: MQ-135 (Detects harmful gases and overall air quality)
- Particulate Sensor: PMS6003 (Measures PM2.5 and PM10 particles)
- Display: LCD Module (For local data monitoring inside the enclosure)
- Actuator: 5V Relay Module
- Output: Exhaust Fan (Triggered automatically to clear bad air)
- Reads real-time analog and digital data from the MQ-135 and PMS6003 sensors.
- Processes and calibrates sensor values.
- Connects to a local Wi-Fi network.
- Transmits data securely to the Firebase cloud database.
- Controls an external exhaust fan system via relays based on predefined air quality thresholds.
- Clone this repository to your local machine:
git clone https://github.com/dlynndaaa/clairvo-esp32-node.git
- Open the smart_air_quality.ino file using the Arduino IDE.
- Ensure you have installed the ESP32 board manager and the necessary sensor libraries (e.g., for the PMS6003 sensor and LCD).
- Update the Wi-Fi credentials (SSID and PASSWORD) and Firebase configuration keys in the code.
- Connect your ESP32 board via USB, select the correct COM port, and click Upload.
Delinda Mega Putri
- 🎓 Informatics Engineering, Universitas Muhammadiyah Sukabumi
- 📧 Email: delindamegaputri123@gmail.com