PM2.5 low-cost sensors and calibration data for SDS011 and PMS7003

5. Personal experience on observed value and calibration

During the first 6-month of 2019, I collaborated with SPARC lab, Hanoi University of Science and Technology, Vietnam to evaluate the PMS7003 sensors. The PMS7003 is the heart of AirSENSE kit that has been used as a demo for high-school and students for STEM education. This kit could also use as low-cost PM2.5 monitor with additional calibration. In addition to the sensors from SPARC's lab, I bought one SDS011 sensor and collected PM2.5 concentration measured by the US. Embassy at Vietnam (Hanoi) as the reference station. The reference station was using MetOne BAM 1020. The station stopped working from the end of April 2019 for "technical difficulty". The location of PMS and SDS011 is 5.3 km to the South-West of the reference station. During winter and spring seasons, the dominant wind direction in Hanoi is North-East.

The data is collected using Raspberry Pi with Python script or available Arduino libraries for ESP8266 or ESP32. I also coded up a Python library for PMS7003 to run simultaneously 4 sensors in one script. The code also works with other x003 sensors from Plantower since they use the same bit stream format.

Fig. 1: Location and distance between the PMS7003 and SDS011 site to the reference station (MetOne BAM 1020).

The graph below shows over 60-day collecting data. The data was cleaned up for peaks that is larger than 300 (µg/m3). PMS7003 produced more abnormal peaks than SDS011. Finally, a total of 1451 rows, equipvalents to 1451 hours, was used for further analysis.

60 days data
Fig. 2: One-hour averaged data from PMS7003 and SDS011 and from the reference station (MetOne BAM 1020).

Using Seaborn library, the relational plots between each sensor to the reference stations are shown below.

Fig. 3: Correlation of 1-hour average PM2.5 from SDS011 and PMS7003 with MetOne BAM 1020.

The graph shows at low concentration, the correlation between PMS7003 and SDS011 to the reference station is high. At a higher PM2.5, concentration, a cluster of points above the fitting lines suggested some systematic changes relative to the reference.

Correlation between SDS011 and PMS7003 is surprisingly well which could interpret that either sensor is suitable for a low-cost device for PM2.5 monitor.

Fig. 4: Correlation of 1-hour average PM2.5 from SDS011 with PMS7003.

The Seaborn library provides nice visualization but does not have available fitting statistics. Nevertheless, using library such as SkLearn, we can fit the data with linear regression with an option to intercept to the origin. The results are summarized in Table 3.

Table 3: Linear regression from 60-day data collection, Hanoi Vietnam.
# PMS7003* SDS011* SDS011/PMS7003**
R2 0.66 0.51 0.84
Slope 0.66 0.77 0.81
*: x axis for SDS011 or PMS7003, y axis for BAM (FEM) **: x axis for PMS7003, y axis for SDS011

The results in Table 3 are inline with the literature review in Table 2, in which SDS011, PMS7003 overestimated the PM2.5 by a reference method or a FEM device. The PMS7003 displayed a higher overestimation than SDS011 and a higher R2 as well.

adjust data
Fig. 5: PM2.5 concentration by SDS011, PMS7003 after adjustment with the coefficient factors in Table 3 along with MetOne BAM 1020 .

Other sensors such as HPMA115S0, one Dylos DC1100 Pro and a second one SDS011 has been in operation recently. The data is not sufficient to included for an analysis at this time of writing.