Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Yes—you can build a Wi-Fi air-quality monitor that appears in Home Assistant with an ESP32, ESPHome firmware and the sensor hardware suited to the pollutants you actually need. The simplest route uses the ESPHome-supported SM300D2 module, while a modular design gives you better control over CO₂ measurement, particulate sensing and calibration. The important limitation is interpretation: a PM-based number from ESPHome is an estimate, not the complete U.S. EPA Air Quality Index, and the SM300D2’s CO₂ field is calculated eCO₂ rather than a direct CO₂ measurement.

What the finished system does

The ESP32 provides Wi-Fi and runs ESPHome. You describe the hardware and entities in an ESPHome YAML file, compile and flash the firmware, then add the device to Home Assistant through its native ESPHome API. Each configured reading becomes a Home Assistant sensor entity that can be displayed on a dashboard or used in an automation.

Home Assistant’s Air quality integration can combine pollutant entities and provide pollutant-aware conditions and triggers. It supports PM2.5, PM10, CO₂, carbon monoxide, volatile organic compounds (VOCs), ozone, nitrogen dioxide, and gas or smoke detector data. You can therefore use the raw readings directly, or build ventilation and warning automations around thresholds that make sense for your home.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the sensor architecture

All-in-one: SM300D2

ESPHome has an official SM300D2 platform. With one UART-connected module, the configuration can expose seven measurement groups:

#1 Best Overall
EC Buying DC01 Infrared PM2.5 Air Quality Sensor Module Air Quality Detection Module dust Concentration Detection DC01 PM 2.5 UART ZH1.5mm 4P
  • Highly accurate and efficient DC01 infrared PM2.5 air quality sensor module. Detects dust concentration and fine particles, perfect for monitoring haze. Small size, low power consumption, wide measurement range, and quick response time make it ideal for indoor air quality testing
  • Utilizes optical principles and circuit conversions to measure dust concentration within a wide range. Detects particles above 1mm in diameter with precision. Easy to use with single-chip microcontrollers for UART communication
  • Detects PM0.3 to PM10 particles with a range of 5-2500 μg/m3. High accuracy of ±20ug/m or ±20% of the reading. Provides reliable air quality monitoring for improved indoor environments
  • Compact design with high precision and low power consumption. Swift response time ensures quick and convenient application. Effectively measures a broad range of particles to enhance air quality monitoring
  • Stay ahead with the DC01 infrared PM2.5 air quality sensor module. Monitor dust concentration and fine particles effortlessly. Achieve accurate results with ease, thanks to the sensor's compact size and efficient operation
  • CO₂ (reported by the module as ppm)
  • Formaldehyde (µg/m³)
  • TVOC
  • PM2.5
  • PM10
  • Temperature
  • Relative humidity

The SM300D2 project publishes an operating and accuracy table claiming CO₂ of 400–5,000 ppm with ±50 ppm accuracy and PM2.5 of 5–100 µg/m³ with ±10% accuracy. Those are the project’s module claims, recorded in an ESP-Air project snapshot accessed in 2026; they are not a universal validation of every seller’s board revision.

Modular sensors

A modular build uses separate ESPHome components for the measurements that matter most. The component catalog includes direct CO₂ platforms such as SCD30, SCD4X and SenseAir, particulate platforms such as SPS30, PMSA003, PMSX003, SDS011 and HM3301, and separate VOC, NOx, temperature and humidity sensors.

This approach adds wiring and configuration, but lets you choose a direct CO₂ instrument, a particulate sensor with better documentation, or a narrower and less expensive combination. It is also easier to replace one sensor when its calibration drifts or when you later need another pollutant.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Decision checklist

Question SM300D2 all-in-one Modular design
Pollutant coverage CO₂/eCO₂, formaldehyde, TVOC, PM2.5, PM10, temperature and humidity in one module Select only the pollutant platforms required
CO₂ type eCO₂ inferred from TVOC, not directly measured Can use a direct CO₂ sensor such as SCD30, SCD4X or SenseAir
Wiring and setup One UART sensor and one ESPHome platform More buses, pins, power checks and YAML components
Calibration evidence Use the particular module revision’s documentation Evaluate each sensor’s calibration and accuracy documentation separately

Understand the eCO₂ limitation before automating

The SM300D2 project explicitly states that its CO₂ sensor is actually an “eCO2 (equivalent carbon dioxide) sensor”: the value is calculated or approximated from the TVOC reading rather than measured as CO₂. Treat that number as an indicative air-quality signal. Do not present it as measured CO₂ or use it as the sole basis for precise ventilation control.

Rank #2
KOOKYE 16 in 1 Smart Home Sensor Modules Kit for Arduino Raspberry Pi DIY Professional
  • SMART HOME LEARNING KIT--This kit combines the most common electronic components of smart home projects,developed specially for those beginners who are interested in Arduino and raspberry pi DIY.
  • THE PROFESSIONAL SMART HOME KIT--This has 16 sensors modules and delicately selected sensors to detect temperature, humidity, sound, light, infrared, motion, flame,vibration,digital touch, air pressure and many other commonly-used sensors modules.
  • THE MOST COMPLETE SMART HOME KIT--This universal kit are compatible for Arduino UNO R3 / Mega2560 / Mega328 /Nano / Raspberry Pi, it could DIY 16 projects according to your need.
  • HIGH QUALITY GUARANTEE--We eliminate many old-fashioned sensors which have low reliability and duplicate function as other sensor in the kit, the kookye modules sensor kits are choosed carefully for our user.
  • DETAILED TUTORIAL ON OUR WEBSITE--Our website provide step-by-step instruction, detailed circuit connection graph/video, verified sample code and library package which can save lot of user's research time and speed up the learning progress.

If an automation must respond to actual carbon-dioxide concentration—for example, controlling outdoor-air ventilation in an occupied room—use a modular build with a direct CO₂ sensor and follow that sensor’s calibration and placement guidance.

Assemble the hardware safely

  1. Select an ESP32 development board. Confirm that it has the USB connection and GPIOs needed for your chosen interface.
  2. Select the sensor architecture. Use the SM300D2 for a compact seven-group monitor, or combine dedicated platforms when direct CO₂ or specific particulate performance is more important.
  3. Wire the sensor interface. The SM300D2 ESPHome example uses UART. Connect power, ground, transmit and receive lines according to the module’s datasheet and the pin assignment you choose on the ESP32.
  4. Verify electrical compatibility. Check the sensor’s supply voltage and logic levels against the exact ESP32 board and module revision. The available documentation does not provide one wiring diagram that is valid for every ESP32 board revision.
  5. Keep the air inlet unobstructed. Mount the sensor where room air can reach it, away from direct exhausts, condensation and sources of heat that could bias temperature or humidity.

Configure ESPHome

Create a device configuration in ESPHome and give it a unique name. Add the platform for your sensor, the UART pins (for the SM300D2), and a deliberately chosen update interval. Name entities clearly—such as PM2.5, PM10, eCO₂, TVOC, temperature and humidity—so they are understandable after Home Assistant discovers them.

For a modular build, add one ESPHome component per sensor family and assign the correct bus or UART address. Keep units explicit in the entity names or metadata, especially for particulate readings in µg/m³ and gas readings in ppm.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Compile the configuration and flash it to the ESP32 over USB for the initial installation. After the device joins Wi-Fi, subsequent firmware updates can normally use ESPHome’s network update path. Watch the compile and device logs for UART errors, unavailable entities or repeated resets before mounting the hardware permanently.

Rank #3
Sale
LAFVIN Basic Starter Kit for ESP32 ESP-32S WiFi IoT Development Board with Tutorial Compatible with Arduino IDE
  • Perfect choice for beginners to learn, electronics and program.
  • The Basic Starter Kit is easy to use and you can learn to program at an introductory level.
  • You can use ESP32 modules to control other modules, such as LED,DHT11,OLED module, etc
  • The tutorial include codes and lessons.It will teach every users how to assembly Basic Starter Kit for ESP32.
  • Please download our tutorial and learn after you receive the goods.

Add the device to Home Assistant

  1. Open Home Assistant and go to Settings → Devices & services.
  2. Use the ESPHome integration to discover or add the ESP32 device.
  3. Complete adoption through the native ESPHome API connection.
  4. Open the device page and confirm that every expected pollutant, environmental and diagnostic entity is present.
  5. Add the entities to a dashboard, then create thresholds or schedules only after observing their normal readings for several days.

Use the Air quality integration when you want pollutant-aware triggers and conditions rather than a dashboard of unrelated numeric sensors. Keep the raw PM2.5, PM10 and gas entities available even if you also create a combined air-quality indicator.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What the ESPHome AQI value means

ESPHome’s aqi sensor accepts PM2.5 and PM10 readings and can apply AQI or CAQI calculations. Its documentation warns that this is a PM-only estimate, not the complete U.S. EPA AQI.

The EPA AQI accounts for ozone, particle pollution, carbon monoxide, sulfur dioxide and nitrogen dioxide. Its particle method uses 24-hour averages or NowCast-style hourly estimates. A fast-changing PM reading from a room sensor does not automatically satisfy those averaging rules, and it omits the other pollutants unless you measure them separately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Label a derived entity honestly—for example, “PM-based AQI estimate” or “CAQI”—and document which calculation and averaging interval you selected. Do not label it simply “EPA AQI” when it contains only PM2.5 and PM10.

Rank #4
Lonely Binary 46-in-1 Sensor Kit for ESP32, Raspberry Pi Pico and STM32
  • 【46 TINKERBLOCK SENSOR MODULES IN ONE KIT】Includes 1.8" TFT LCD, 8x8 LED Matrix, 4-Digit 7-Segment Clock Display, Rotary Encoder, IR Sender & Receiver, Hall Sensor, Microphone, Joystick, Steam Sensor, EEPROM Memory, and 36 more. Every module takes standard 2.54mm jumper wires — no soldering. Storage case and quick-start card included; jumper wires and development board not included.
  • 【WORKS WITH EVERY MAJOR BOARD】Compatible with UNO R3, ESP32, ESP32-S3, Raspberry Pi Pico, and other 3.3V/5V microcontrollers. Supports DIGITAL, ANALOG, I2C, SPI, PWM, and IR interfaces. No soldering required. Each module clearly labeled.
  • 【IMMERSION GOLD (ENIG) PCB】Gold-plated contacts via the ENIG process for good signal integrity and corrosion resistance. Lead-free and RoHS-compliant.
  • 【BEGINNER-FRIENDLY GUIDED LEARNING】Each module comes with reference code, wiring diagrams, and step-by-step tutorials. Suitable for beginners, students (ages 12+), STEM educators, hobbyists, and engineers. Build weather stations, alarms, clocks, and games.
  • 【ORGANIZED FOR EDUCATION AND DIY】All modules are neatly packaged in a storage case with labeling for easy identification. Suitable for STEM classrooms, makerspaces, and personal projects — expand your skills in electronics and coding without sourcing parts individually.

Common failure modes

No sensor entities appear

Recheck the selected ESPHome platform, UART transmit/receive orientation, power and ground connections, and the configured GPIO numbers. Confirm that the module’s voltage and logic levels are compatible before reconnecting it.

Values are implausible or stuck

Inspect the device logs for communication errors, allow the sensor to warm up as specified by its documentation, and check that the inlet is not blocked. Compare the reading with a known-good instrument before changing automations.

CO₂ automation behaves poorly

Determine whether the entity is eCO₂ inferred from TVOC. If it is, replace it with a direct CO₂ platform for decisions that require measured concentration, then revisit thresholds and placement.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The AQI number disagrees with an official report

Check whether your entity uses PM only, which pollutants are missing, and whether it uses instantaneous, hourly or 24-hour data. Those methodological differences can produce legitimately different values.

A practical build plan

  1. Start with the ESP32 and SM300D2 if you want the fewest parts and broad room-monitoring coverage.
  2. Expose and name all seven measurement groups, but mark the CO₂ entity as eCO₂ in your dashboard.
  3. Observe raw readings before creating alerts; establish normal ranges for the room and time of day.
  4. Add PM-based calculations only with a label that identifies the method and averaging assumptions.
  5. Move to a modular design with a direct CO₂ sensor or dedicated particulate sensor when the measurement’s accuracy, calibration behavior or automation consequence justifies extra wiring.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.