← Back
Air quality sensor displaying PM2.5 and CO2 readings on a shelf
Environmental Monitoring

Building a Whole-Home Air Quality Monitoring System With IoT Sensors

Track PM2.5, CO2, VOCs, and humidity room by room using affordable IoT sensors. A practical guide to building your own monitoring network.

By Taylor Fox · Updated Apr 23, 2026

Indoor air quality affects sleep, focus, and long-term health — yet most of us have no idea what we are breathing. Commercial air quality monitors give you a single reading for one room. With a few IoT sensors and a free dashboard, you can monitor every room in your home continuously.

What to Measure and Why

  • PM2.5 — fine particulate matter from cooking, candles, wildfires, and outdoor pollution. Levels above 12 µg/m³ sustained are associated with respiratory issues.
  • CO2 — a direct proxy for ventilation. Bedrooms often exceed 2,000 ppm overnight with the door closed, causing groggy mornings. Target: under 1,000 ppm.
  • VOCs — volatile organic compounds from paint, cleaning products, new furniture. The sensor gives a composite reading rather than individual chemicals.
  • Temperature and humidity — humidity between 40-60% reduces virus transmission and prevents mold.

Recommended Hardware

For the best balance of accuracy and cost, consider these options:

  1. Sensirion SEN55 — a single module that measures PM1, PM2.5, PM4, PM10, VOC index, humidity, and temperature. Around $35 per unit. Needs a microcontroller.
  2. Senseair S8 — dedicated NDIR CO2 sensor, far more accurate than the VOC-estimated CO2 readings on cheaper units. About $25.
  3. ESP32 board — runs ESPHome firmware, connects to Wi-Fi, costs $5-8. One per room.

Total cost per room: roughly $65. For a three-bedroom home with living room and kitchen, that is $325 for comprehensive coverage — less than a single Awair Element that only covers one room.

Software Stack

Flash each ESP32 with ESPHome. Define the sensors in a YAML config file and it generates the firmware automatically. ESPHome integrates natively with Home Assistant, which becomes your central dashboard.

In Home Assistant, create a dedicated air quality dashboard with gauges for each room. Set up automations: if CO2 in the bedroom exceeds 1,200 ppm, turn on the ERV or send a notification to open a window. If PM2.5 spikes above 35 µg/m³ in the kitchen, automatically boost the range hood fan.

Placement Tips

Mount sensors at breathing height — roughly 3 to 5 feet on a wall or shelf. Keep them away from windows, air vents, and direct sunlight, which skew readings. In the kitchen, place the sensor at least 10 feet from the stove to avoid constant cooking spikes that obscure meaningful trends.

What I Learned After Six Months

Running this system revealed patterns I never expected. My home office CO2 hit 1,800 ppm by mid-afternoon with the door closed — explaining my daily 2 PM brain fog. The guest bedroom had persistent 65% humidity due to a slow bathroom fan leak, creating conditions for hidden mold. And PM2.5 spiked every Tuesday evening, which I eventually traced to my neighbor burning brush on the same day each week.

The data made invisible problems visible — and fixable.