Overview

The PMS5003 (and its smaller counterpart PMS7003) is a digital laser-scattering particulate matter (PM) air quality sensor manufactured by Plantower. It uses a semiconductor laser diode, a low-noise internal fan, and a photodetector to count microscopic airborne dust particles down to 0.3 µm in diameter.

It streams real-time mass concentration values (μg/m3\mu\text{g/m}^3) for PM1.0, PM2.5, and PM10 over a 9600-baud UART serial interface, serving as standard hardware for indoor/outdoor air quality monitors (ESPHome pmsx003 integration, PurpleAir monitors, Home Assistant).

Quick reference

Operating Voltage (VCC)4.5 V to 5.5 V DC (5.0 V nominal for fan motor)
UART Logic Level3.3 V TTL
Particle Detection Range0.3 µm to 10 µm
PM2.5 Measurement Range0 to 500 µg/m³ (up to 1000 µg/m³ max)
Counting Efficiency50% @ 0.3 µm, 98% @ 0.5 μm\ge 0.5\text{ }\mu\text{m}
Response Time1 second\le 1\text{ second} real-time update rate
Default Baud Rate9600 bps (9600,N,8,1)
Operating Current~100 mA (fan running), <200 μA< 200\text{ }\mu\text{A} standby

Pinout

Standard 10-Pin 1.27mm Connector (PMS5003)

PinNameTypeDescription
1VCCPower InputSupply voltage (+4.5 V to +5.5 V DC)
2VCCPower InputSupply voltage (+4.5 V to +5.5 V DC)
3GNDPowerGround (0 V)
4GNDPowerGround (0 V)
5RESETDigital InputActive-LOW Hardware Reset pin (pull HIGH for normal operation)
6NCNot ConnectedUnused
7RXDigital InputUART Receive data (3.3V logic level)
8NCNot ConnectedUnused
9TXDigital OutputUART Transmit data (3.3V logic level output, 9600 baud)
10SETDigital InputSleep control pin (HIGH = Normal mode, LOW = Standby mode fan OFF)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply VoltageVCCV_{CC}4.55.05.5VDC
Active Supply CurrentICCI_{CC}100120mAFan & laser active
Standby CurrentISTBYI_{STBY}100200µASET=LOWSET = LOW
PM2.5 ConsistencyΔPM2.5\Delta PM2.5-10+10%@100 to 500 μg/m3@ 100\text{ to } 500\text{ }\mu\text{g/m}^3
Laser Life SpanMTBFMTBF35yearsContinuous operation

UART Packet Frame (32 Bytes Data Frame)

The sensor streams a 32-byte binary packet every 1 second starting with header bytes 0x42 0x4D:

Byte IndexFieldDescription
0, 1Header0x42 0x4D ('BM')
2, 3Frame Length0x00 0x1C (28 bytes payload)
4, 5PM1.0 StandardPM1.0 concentration (μg/m3\mu\text{g/m}^3, CF=1 factory standard)
6, 7PM2.5 StandardPM2.5 concentration (μg/m3\mu\text{g/m}^3, CF=1 factory standard)
8, 9PM10 StandardPM10 concentration (μg/m3\mu\text{g/m}^3, CF=1 factory standard)
10, 11PM1.0 AtmosphericPM1.0 concentration under atmospheric environment (μg/m3\mu\text{g/m}^3)
12, 13PM2.5 AtmosphericPM2.5 concentration under atmospheric environment (μg/m3\mu\text{g/m}^3)
14, 15PM10 AtmosphericPM10 concentration under atmospheric environment (μg/m3\mu\text{g/m}^3)
30, 31ChecksumSum of Bytes 0 to 29 (16-bit integer check)

Wiring

PMS5003 PinMicrocontroller (Arduino / ESP32)Notes
VCC (Pins 1 & 2)5VMust be 5V DC for internal fan
GND (Pins 3 & 4)GNDGround
TX (Pin 9)RX (e.g. GPIO16 / D2 for SoftwareSerial)3.3V logic output
RX (Pin 7)TX (e.g. GPIO17 / D3 for SoftwareSerial)3.3V logic input
SET (Pin 10)3.3V (or GPIO Pin)Pull HIGH to enable fan/laser
RESET (Pin 5)3.3V (or GPIO Pin)Pull HIGH for normal operation

Common mistakes

  • Powering with 3.3V: Microcontroller 3.3V power rails cannot power the 5V fan motor. The fan will stall or fail to draw air across the laser chamber.
  • Vertical Orientation Mounting: The PMS5003 air intake/exhaust vents MUST be mounted horizontally on the side of enclosures to prevent dust accumulation inside the optical cavity.
  • Running continuous fan non-stop in battery projects: The laser diode and fan wear out over 3 years of continuous operation. Use the SET pin to toggle sleep mode (fan OFF) and wake the sensor for 30 seconds before taking periodic readings.

Notes

  • Fully integrated into ESPHome via platform: pmsx003 component.

Assets & downloads