IoT PM2.5 and Air Quality Monitoring System using ESP32
Monitor particulate matter PM2.5, PM10, temperature, humidity and gas levels using ESP32 with PMS5003 sensor and cloud dashboard.
- Suitable forB.Tech IoT students
- Build time3-4 weeks
- LevelIntermediate
- Available atAjvika Labs, Kakinada
About this project
IoT Air Quality Monitoring uses Plantower PMS5003 laser particle counter with ESP32 to measure PM1.0, PM2.5, and PM10 in µg/m3. MQ-135 monitors CO2/VOC levels. DHT22 measures temperature and humidity. System calculates AQI using EPA standards and displays health category. Data uploaded to Thingspeak every minute. Local web dashboard shows real-time values with color-coded AQI gauge. Telegram bot sends hourly reports and immediate alerts when PM2.5 > 35 µg/m3. PMS5003: UART at 9600 baud, 5V power. Data packet parsing: 32-byte frame with start codes 0x42, 0x4D. OLED display shows PM2.5, AQI, WiFi status. Battery-powered with deep sleep for outdoor deployment.
Detailed Project Description
IoT PM2.5 and Air Quality Monitoring System using ESP32 monitors air (or noise) quality in real time and classifies it into readable levels so users can react to unhealthy conditions.
How It Works
1. Gas / particulate / microphone sensors are sampled and calibrated.
2. Values are converted to standard units (ppm, µg/m³, dB) and an index or level (Good / Moderate / Poor).
3. Readings are displayed locally and logged to a dashboard.
4. Alerts are raised when a level becomes unhealthy.
Key Components and Their Role
- ESP32: dual-core Wi-Fi + Bluetooth microcontroller that runs the firmware, reads the sensors and hosts the network connection.
- DHT22: digital temperature and humidity sensor with better accuracy than DHT11.
- OLED display (SSD1306): 128x64 I2C display used to show live readings and status.
- MQ-135: gas sensor sensitive to air-quality pollutants (NH3, NOx, benzene, smoke, CO2 equivalent).
- PM2.5 sensor (PMS5003/SDS011): laser particulate sensor for fine-dust concentration.
- Li-ion battery + charger (TP4056): portable power with charge management.
- MQTT: lightweight publish/subscribe messaging protocol used for IoT data.
- ThingSpeak: IoT cloud platform for logging and charting sensor data.
- Telegram Bot API: messaging channel used to send alerts and receive commands.
Implementation Steps
1. Collect the components and study each module's datasheet (pin-out, voltage, interface).
2. Wire the circuit on a breadboard following the pin mapping; power sensors from the correct rail (3.3 V / 5 V).
3. Install Arduino IDE, ThingSpeak, Telegram Bot API and the required libraries; flash a minimal test sketch for each module separately.
4. Write the main firmware: read sensors → process → drive outputs / send data.
5. Configure network or cloud credentials and test communication end-to-end.
6. Calibrate thresholds, add error handling (reconnect, sensor time-out) and run a long-duration test.
7. Finalise on a PCB / enclosure and document wiring, code and results.
Key Features
- Multi-parameter sensing
- Calibrated readings
- Colour-coded levels
- Cloud logging
Expected Output
On completion the student will have a live air-quality reading with its category and a history chart.
Deliverables
- Complete source code with comments
- Circuit diagram and pin mapping
- Project report with screenshots and results
- Demonstration-ready build
Detailed Project Description
IoT PM2.5 and Air Quality Monitoring System using ESP32 monitors air (or noise) quality in real time and classifies it into readable levels so users can react to unhealthy conditions.
How It Works
1. Gas / particulate / microphone sensors are sampled and calibrated.
2. Values are converted to standard units (ppm, µg/m³, dB) and an index or level (Good / Moderate / Poor).
3. Readings are displayed locally and logged to a dashboard.
4. Alerts are raised when a level becomes unhealthy.
Key Components and Their Role
- ESP32: dual-core Wi-Fi + Bluetooth microcontroller that runs the firmware, reads the sensors and hosts the network connection.
- DHT22: digital temperature and humidity sensor with better accuracy than DHT11.
- OLED display (SSD1306): 128x64 I2C display used to show live readings and status.
- MQ-135: gas sensor sensitive to air-quality pollutants (NH3, NOx, benzene, smoke, CO2 equivalent).
- PM2.5 sensor (PMS5003/SDS011): laser particulate sensor for fine-dust concentration.
- Li-ion battery + charger (TP4056): portable power with charge management.
- MQTT: lightweight publish/subscribe messaging protocol used for IoT data.
- ThingSpeak: IoT cloud platform for logging and charting sensor data.
- Telegram Bot API: messaging channel used to send alerts and receive commands.
Implementation Steps
1. Collect the components and study each module's datasheet (pin-out, voltage, interface).
2. Wire the circuit on a breadboard following the pin mapping; power sensors from the correct rail (3.3 V / 5 V).
3. Install Arduino IDE, ThingSpeak, Telegram Bot API and the required libraries; flash a minimal test sketch for each module separately.
4. Write the main firmware: read sensors → process → drive outputs / send data.
5. Configure network or cloud credentials and test communication end-to-end.
6. Calibrate thresholds, add error handling (reconnect, sensor time-out) and run a long-duration test.
7. Finalise on a PCB / enclosure and document wiring, code and results.
Key Features
- Multi-parameter sensing
- Calibrated readings
- Colour-coded levels
- Cloud logging
Expected Output
On completion the student will have a live air-quality reading with its category and a history chart.
Deliverables
- Complete source code with comments
- Circuit diagram and pin mapping
- Project report with screenshots and results
- Demonstration-ready build
Technologies used
Hardware components
- ESP32 DevKit
- PMS5003 Laser Particle Sensor
- MQ-135 Gas Sensor
- DHT22 Sensor
- OLED Display 0.96 inch
Software & tools
- Arduino IDE
- ThingSpeak
- Telegram Bot API
- PMS Library
What you get
- Working project / hardware kit, tested before delivery
- Complete source code with explanation
- Project demo and guidance for your viva
- Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed.
Payment is in two parts:
• 50% advance to start the project
• Remaining 50% before delivery
Note:
• Documentation and PPT are not included by default
• If you need documentation/PPT, it can be arranged for extra time and cost
We'll confirm the exact timeline and cost with you after reviewing your requirements.