The Plantower PMS5003 and PMS7003 Air Quality Sensor experiment

Share: sensor/pms5003-7003/

For a complete list of all the Air Quality Sensors test on, check our sensor overview page.


Plantower PMS 5003 and PMS 7003 Sensor

The PMS 7003 and PMS 5003 sensors are the 7th resp 5th generation of the PMSx003 series developed by Plantower (chinese name 攀藤).

Experiment Setup

This experimentation is dedicated to our colleagues at Haier, IBM and Google.

For this experiment, 3 PMS 7003 and 3 PMS 5003 are co-located together. The objective is to understand the accuracy of individual sensor readings, and potential level of error induced by the lack of efficient calibration of low-cost sensors .

For each sensor (PMS5003 and PMS7003), there are 3 sensors (identified as PMSx003 #1, #2 and #3) running in alternation over a period of 3 minute. For each minute, only the last 30 seconds data is collected, as the first 30 seconds as kept to let the sensor stabilize its output.

There is additional PMS5003 sensor (number #4 ): It is a used (old) sensors which has been running in continuous mode for several months outdoor. The objective for this sensor is to understand if the accuracy decreases with the age (during to the laser or fan wearing off).

Specification sheets: PMS5003.pdf and PMS7003.pdf.

Note that the PMSx data from the Sensor comes in two flavors: '标准颗粒物' (Standard Particles or CF-1, bytes 4-9) and '大气环境下' (Atmospheric Environment, bytes 10-15). It is the second one which we use for this experiments (Thanks to Bart for the clarification).

Sensor tear-down

The following pictures are taken from a PMS5003 running for several months outdoor in continous mode.

The good news is that Plantower managed to do a pretty good mechanical design which prevents dust accumulation on the front-side of the PCB (see image A on the right), where laser and diode are mounted. Compared to the dust accumulation on the Dylos, that guarantees a much better lifetime and data accuracy over time.

In terms of electrical and electronic components, the PMS5003 is not quite different from the initial PMS1003 desing. The CPU is still a Cypress CY8C4245, which a combined ARM Cortex-M0 running at 48Mhz with dedicated ADC, used to sample the output from the diode.

Real-time data

db stands for dust bin and is measured in counts per minute. For instance, db2.5-um represents the count of particles with an aerodynamic diameter below 2.5 µm;

Time series for Meteorological Conditions

Meteorological conditions, and especially the Relative Humidity (RH) is needed as high RH might have a direct impact on the size of the particle size detected by the laser. For BAM sensors, there is actually a requirement for constant humidity.

Above graph is based on CWOP station EW2754. Below table is based on the real-time readings from our GAIA A12 station

Time series for Particulate Matter

Note that the first 3 time-series graphs are showing the values using AQI (and not raw mg/m3). The AQI is based on the US EPA breakpoints. For PM1, the PM2.5 breakpoints are used.

For the particulate matter graphs, the reference BAM measurements from the neighbor stations are shown, but not taken into account for the deviation plot ~ the aim of this experiments is to understand the deviation in between sensors of the same type (eg PMS) and not in between sensors using different technologies (eg Laser Counter vs Beta Attenuation).

The deviation plots below each time-series is computed as the difference between the minimum (in blue) resp. maximum (in red) value and the average reading for each 5 minute period block. The X axis is showing the average value, and the Y axis the difference between min/max and average. For the first 3 time-series graphs, the difference is expressed in AQI: This way, it is easy to asses the potential error in AQI value of those low-cost sensors.

Comparison between Std. Particle (标准颗粒物) and Std. Atmosphere (大气环境下)

CF1 refers to Std. Particle (标准颗粒物). SAT refers to Std. Atmosphere (大气环境下).

The graphs below shows the correlation for the CF1 (X, absyss) and the ratio CF1/SAT (Y, ordinate), for the PM2.5 and PM10 data.

The almost too perfect correlation between approx. 30 mg to 100 mg for PM2.5 / PMS5003, (40mg to 150 for PM10) does not sound too scientific...

cf1<30 ⇒ sat = cf1
cf1>100 ⇒ sat = cf1 * 2/3
cf1 in ∈ [30;100] ⇒ sat = 30 + cf1 * (cf1-30)/70 * 2/3

Note: Thanks to Bart for the comment on CF1>30 ⇒ SAT < CF1
The formula has been updated with correct ratio (2/3)

One interesting question is whether is CF-1/SAT ratio is part of the calibration process done by Plantower; At least, for PM2.5 the upper threshold for PMS7003 and PMS5003 are different (85 for the first, and 100 for the second). When sufficient data is available, this page will be updated with the answer...

Correlation between PM10 and PM2.5

Refering to the experiment on PM10 vs PM2.5, the question is weather the PMS sensor is able to correctly detect the particules. The graph below show the correlation between PM10 vs PM2.5 CF-1 readings for the past 10 days.

For now, the correlation seems perfectly linear, but as soon as the next PM10 pollution event comes, the graph will be able to confirm the efficiency of bin size detection.

Moreover, one interesting pattern to check for is the non-linear curve, which can be seen on the Dylos sensor. This curved pattern is due to the sensor not beeing able to properly detect the different particles bins, caused by a too high number of particles 'obstructing' the diode. For now, the Air Pollution is too low to detect this phenomenon, but as soon as winter arrives, the data will confirm the existence of this pattern or not.

Time series for Particulate Matter (Indoor setup)

There are 2 additonal indoor PMS5003 sensors:
The graphs below are expressed in AQI units.
And this is for the meteorological indoor sensor


For the list of all air quality sensors, check the Sensor Overview page

Read or publish comments (they rely on Disqus)

O pomiarach jakości powietrza i zanieczyszczeń:

O Poziomach Jakości Powietrza

- Wartości Indeksu Jakości Powietrza (AQI)Poziomy zagrożenia zdrowia
0 - 50 Dobra 0-50: Dobra - Jakość powietrza jest uznawana za zadowalającą, a zanieczyszczenie powietrza stanowi niewielkie ryzyko lub jego brak.
51 -100 Średnia 50-100: Średnia - Jakość powietrza jest dopuszczalna; jednak niektóre zanieczyszczenia mogą być umiarkowanie szkodliwe dla bardzo małej liczby osób, które są niezwykle wrażliwe na zanieczyszczenie powietrza.
101-150 Niezdrowa dla osób wrażliwych 100-150: Niezdrowe dla wrażliwych osób - u osób wrażliwych mogą wystąpić negatywne skutki dla zdrowia. Większość populacji może nie odczuwać negatywnych objawów.
151-200 Niezdrowa 150-200: Niezdrowe - Każdy może zacząć doświadczać negatywnych skutków zdrowotnych; U osób wrażliwych mogą wystąpić poważniejsze skutki zdrowotne.
201-300 Bardzo niezdrowa 200-300: Bardzo niezdrowe - Ostrzeżenie zdrowotne, poziom alarmowy. Bardzo prawdopodobny negatywny wpływ na całą populację.
300+ Zagrożenie dla życia 300 : Niebezpieczny - Alarm Zdrowotny: każdy może doświadczyć poważniejszych skutków zdrowotnych.

Aby dowiedzieć się więcej na temat jakości powietrza i zanieczyszczenia, sprawdź w wikipedii temat "jakość powietrza" lub nasz poradnik o jakości powietrza i jego wpływie na Twoje zdrowie.

Więcej przydatnych informacji zdrowotnych na blogu doktora Richarda Sainta z Pekinu: .

Usage Notice: All the Air Quality data are unvalidated at the time of publication, and due to quality assurance these data may be amended, without notice, at any time. The World Air Quality Index project has exercised all reasonable skill and care in compiling the contents of this information and under no circumstances will the World Air Quality Index project team or its agents be liable in contract, tort or otherwise for any loss, injury or damage arising directly or indirectly from the supply of this data.


Ustawienia Języka:

Temperature unit: