Indoor Air Quality Monitor

Overview

This project focused on the design and development of a smart indoor air quality (IAQ) monitoring system utilizing an ESP32 microcontroller and a suite of environmental sensors. The system measures real-time data on particulate matter (PM1.0, PM2.5, PM10), temperature, humidity, pressure, and gas levels. As part of a collaborative senior impact project, I led the development of the embedded firmware for the ESP32, designed the circuit architecture, created the custom 3D-printed housing, and built a companion website to display live air quality data. The site allows users to monitor indoor environmental conditions remotely and receive real-time feedback. In addition, machine learning functionality was implemented by other team members to analyze collected data and provide predictive insights.


Key Objectives

  • Comprehensive Environmental Monitoring: The primary objective was to develop a reliable and scalable system capable of continuously tracking critical indoor air quality metrics. By monitoring particulate matter, temperature, humidity, pressure, and gas levels, the system aims to support healthier indoor environments and raise awareness about air quality.

  • Multidisciplinary Skill Application: This project served as a hands-on opportunity to apply and deepen my knowledge in embedded systems, circuit design, sensor integration, and IoT development. It also strengthened my skills in cross-functional collaboration, technical leadership, and full-stack development through the integration of hardware, firmware, and a live data visualization website.

System Design & Implementation

  1. System Architecture: I led the design of the overall system architecture, selecting and integrating key components including the PMS5003 particulate matter sensor, the BME680 for temperature, humidity, pressure, and gas measurements, and a WS2812B RGB LED for real-time visual feedback. The ESP32 microcontroller was chosen for its robust wireless capabilities, sufficient processing power, and compatibility with cloud-based platforms.

  2. Hardware Integration: I was responsible for prototyping the circuit, ensuring proper sensor communication and power regulation. After thorough testing and validation on a breadboard, the design was transferred to a custom 3D-printed enclosure that I also designed for airflow, accessibility, and durability.

  3. Firmware & Data Visualization: I developed the firmware for the ESP32 using the Arduino framework to read data from the sensors and upload it to ThingSpeak for real-time cloud-based monitoring. I also programmed the RGB LED to reflect air quality levels based on AQI thresholds, providing an intuitive and immediate visual indicator.

  4. Backend & Web Interface: To enhance user interaction, I built a backend system that pulls data from ThingSpeak and sends email alerts when custom thresholds are breached. I also developed a user-friendly web interface that allows visitors to subscribe or unsubscribe from alerts, ensuring accessible control over their air quality notifications.

  5. Team Collaboration & Leadership: While this was a collaborative team project, I took the lead on the technical development, including system architecture, hardware integration, firmware programming, and website implementation. I worked closely with teammates to ensure our components were compatible and successfully integrated into a unified system. While I did not directly contribute to the machine learning portion, I supported the team by providing the necessary data pipeline and system infrastructure that enabled its implementation.

Testing & Calibration

The system underwent thorough testing to validate sensor accuracy, data transmission stability, and alert functionality. Sensor readings were compared against known reference values to assess consistency and reliability. Based on these results, firmware-level adjustments were made to improve measurement precision and ensure real-time responsiveness. Additional testing was conducted to verify seamless integration with the cloud platform and to confirm that email alerts were triggered appropriately when air quality thresholds were exceeded.


Outcomes and Next Steps

The final system successfully monitors indoor air quality, visualizes real-time trends through a cloud-connected web interface, and sends automated alerts when user-defined thresholds are exceeded. The responsive website supports both desktop and mobile viewing and allows users to subscribe or unsubscribe from alerts directly through the interface.

Looking ahead, potential improvements include deploying additional units to build a network of monitors across multiple locations and adding SD card support for local data logging. There is also interest in further enhancing the system's accessibility through dedicated mobile app integration and exploring additional features to make the platform even more user-friendly.

This project offered meaningful experience in IoT development, embedded systems, hardware integration, and full-stack web development—skills I plan to continue building on in future technical and entrepreneurial endeavors.

Project information

  • Category IoT / Embedded Systems
  • Type Senior Engineering Project
  • Project date Aug, 2024 - May, 2025
  • Links bcaqiq.netlify.app