
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.
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
- Flash
tasmota-sensors.binto the Wemos D1 Mini - Configuration → Configure Module
- Set GPIO14 to PMS5003 Rx
- Optionally set GPIO12 to PMS5003 Tx (for sleep/wake commands)
- 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






