Tasmota Air Quality Sensor (PMS5003 Particulate Matter) - image 1
Tutorialbeginner

Tasmota Air Quality Sensor (PMS5003 Particulate Matter)

Build a WiFi air quality sensor using a Plantower PMS5003 particulate matter sensor with Wemos D1 Mini and Tasmota. Measures PM1.0, PM2.5, and PM10 with MQTT publishing for health monitoring.

Boards:ESP8266ESP32
Firmware:Tasmota
Use Cases:Air Quality MonitoringHealth MonitoringEnvironmental MonitoringIndoor Air QualityHome Automation

Tasmota Air Quality Sensor (PMS5003)

Build a WiFi-connected air quality sensor that measures particulate matter (PM1.0, PM2.5, PM10) using a Plantower PMS5003 sensor and a Wemos D1 Mini running Tasmota.

Why This Project

  • Health monitoring — PM2.5 is a key indicator of air quality affecting respiratory health
  • Indoor/outdoor — monitor both indoor air quality and outdoor pollution
  • Real data — much more accurate than most consumer air quality monitors
  • MQTT integration — automated alerts when air quality drops
  • Affordable — under $20 total

Components Required

Component Purpose Est. Cost
Wemos D1 Mini WiFi microcontroller $3
Plantower PMS5003 Particulate matter sensor $12-15
PMS5003 breakout/adapter cable Connects sensor to D1 Mini $1
Optional: 3D-printed enclosure Houses the sensor Free

How PMS5003 Works

The PMS5003 uses laser scattering to count particles in the air:

  • PM1.0 — particles ≤1.0µm (ultrafine, penetrate deep into lungs)
  • PM2.5 — particles ≤2.5µm (key health metric, WHO guidelines)
  • PM10 — particles ≤10µm (dust, pollen, mold spores)

Reports both "standard" (factory environment) and "environmental" (real atmosphere) concentrations in µg/m³.

Wiring

PMS5003          Wemos D1 Mini
───────          ─────────────
VCC (Pin 1)  →   5V
GND (Pin 2)  →   GND
TX  (Pin 5)  →   GPIO14 (D5) — Tasmota RX
RX  (Pin 4)  →   GPIO12 (D6) — Tasmota TX (optional, for commands)

Tasmota Setup

  1. Flash tasmota-sensors.bin to the Wemos D1 Mini
  2. Configuration → Configure Module
  3. Set GPIO14 to PMS5003 Rx
  4. Optionally set GPIO12 to PMS5003 Tx (for sleep/wake commands)
  5. Reboot — sensor data appears on the dashboard

Tasmota Template (Quick Setup)

{"NAME":"AQ Sensor","GPIO":[0,0,0,0,0,0,0,0,69,0,68,0,0],"FLAG":0,"BASE":18}

JSON Output

{
  "PMS5003": {
    "CF1": 2, "CF2.5": 4, "CF10": 5,
    "PM1": 2, "PM2.5": 4, "PM10": 5,
    "PB0.3": 540, "PB0.5": 150, "PB1": 20,
    "PB2.5": 2, "PB5": 0, "PB10": 0
  }
}

Air Quality Index Reference

PM2.5 (µg/m³) AQI Level Health Impact
0-12 Good No risk
12-35 Moderate Sensitive groups affected
35-55 Unhealthy (sensitive) Reduce outdoor activity
55-150 Unhealthy Everyone affected
150-250 Very unhealthy Health alert
250+ Hazardous Emergency conditions

SuperHouse Build Guide

SuperHouse TV Episode 38 provides an excellent step-by-step video build guide with 3D-printable enclosure STL files.

Full guide: superhouse.tv/38 — DIY Air Quality Sensor

Compatible Boards

  • Wemos D1 Mini — most popular choice, compact
  • NodeMCU — more GPIOs for additional sensors
  • Any ESP32 board — add a display for local readings

Resources