PMS5003 Particulate Matter Sensor with Cable
Monitor air pollution cheaply and accurately with this matchbox-sized particulate matter (PM) sensor from Plantower! It senses particulates of various sizes (PM1, PM2.5, PM10) from sources like smoke, dust, pollen, metal and organic particles and more.
Pair this particulate matter sensor with our Enviro Plus and a Raspberry Pi to build your own air quality monitoring station to contribute to citizen science. Just plug the cable into the sensor and then into the connector on the underside of Enviro plus, and away you go!
The sensor has a small fan that sucks air through the sensor and past a laser that can detect both the number (and hence concentration) and size of particles in the surrounding air.
Features
- Plantower PMS5003 Particulate Matter (PM) Sensor (datasheet)
- Detects PM1, PM2.5, PM10 particulates
- 15cm Picoblade cable
- UART serial interface
- Python library
- Dimensions: 50x38x21mm
PMS5003 vs PMS7003 vs PMSA003
We stock three different models of particulate sensor from Plantower, so the first question you might have is “What’s the difference between the PMS5003, the PMS7003 and the PMSA003?”.
There’s a slight difference in price between the models, and from a technical perspective, here are the differences from Plantower’s website –Â there’s not a lot in it – physical size being the main difference along with some slight differences in current usage:
Parameter | PMS5003 | PMS7003 | PMSA003 | Unit |
Particle Range of measurement | 0.3~1.0;  1.0~2.5; 2.5~10  | 0.3~1.0;  1.0~2.5; 2.5~10  | 0.3~1.0;  1.0~2.5; 2.5~10  | μm |
Particle  Counting Efficiency | 50%@0.3µm 98%@≥0.5µm |
50%@0.3µm 98%@≥0.5µm |
50%@0.3µm 98%@≥0.5µm |
|
Particle Effective Range (PM2.5 standard) |
0~500 | 0~500 | 0~500 | μg/m³ |
Particle Maximum Range    (PM2.5 standard)* |
≥1000 | ≥1000 | ≥1000 | μg/m³ |
Particle  Resolution | 1 | 1 | 1 | μg/m³ |
Particle Maximum Consistency Error (PM2.5Â standard data) |
±10%@100~500µg/m³ ±10µg/m3@0~100µg/m³ |
±10%@100~500μg/m³ ±10μg/m³@0~100μg/m³ |
±10%@100~500μg/m³ ±10μg/m³@0~100μg/m³ |
|
Particle  Standard Volume | 0.1 | 0.1 | 0.1 | Litre(L) |
Single  Response Time | <1 | <1 | <1 | Second(s) |
Total  Response Time | <10 | <10 | <10 | Second(s) |
DC Â Power Supply | Typ: 5.0 Min: 4.5 Max :5.5Â |
Typ: 5.0 Min: 4.5 Max :5.5Â |
Typ: 5.0 Min: 4.5 Max :5.5Â |
Volt(V) |
Active  Current | ≤100 | ≤100 | ≤100 | mA |
Standby  Current | ≤10 | ≤10 | ≤2 | mA |
Interface  Level |  L<0.8 @3.3 H>[email protected] |  L<0.8 @3.3 H>[email protected] |  L<0.8 @3.3 H>[email protected] | Volt(V) |
Working  Temperature Range | -10~+60 | -10~+60 | -10~+60 | ℃ |
Working  Humidity Range |  0~99 |  0~99 |  0~99 | |
Storage  Temperature Range | -40~+80 | -40~+80 | -40~+80 | ℃ |
MTTF | ≥3  | ≥3 | ≥3 | Year |
Physical Size | 50mm×38mm×21mm | 48mm×37mm×12mm | 38mm×35mm×12mm | mm |
Connection differences
- The PMS5003‘s connector is a Molex Picoblade i.e. a direct connection to the included wire.
- This can be used with one of our adapter boards to break all six pins out to 2.54mm jumper wires.
- The PMS7003 and PMSA003 have small 2×5 block connectors which their included adapter board slots into.
- This included adapter board only offers VCC/GND/RX/TX on the 2.54mm breakout (fine for Pi projects) and does not break out the SET or RST pins (unless you use the Picoblade header).
Release date
The sensors reduced in size each release, however, as per the table above, technically there’s very little difference between them. In order of old to new:
-
- PMS5003
- PMS7003
- PMSA003
Software
The Pimoroni Python library for the PMS5003 sensor lets you read PM1, PM2.5, and PM10 in both standard and environmental units, and numbers of particles of various sizes: >0.3, >0.5, >1.0, >2.5, >5, and >10um.
Note that if you’re using this sensor with Raspberry Pi, then you’ll need to make a couple of changes to its configuration. Type sudo raspi-config
in the terminal and then under “Interfacing options” and “Serial” disable the login shell and enable the serial port hardware. Edit your /boot/config.txt
file and add the lines enable_uart=1
and dtoverlay=pi3-miniuart-bt
to the bottom of the file.
The Enviro plus installation script will do all of this configuration for you.
Notes
There’s a blue protective film that covers the metal casing of the sensor, and you can peel this off before use.