Binh Nguyen, Independent Researcher, Hanoi, Vietnam
Three popular models of low-cost sensors for PM2.5 in 2019 are Plantower PMS7003, Nova Fitness SDS011 and Honeywell HPMA115S0. Plantower has other older models such as PMS5003, and PMS3003. The fourth version is not low-cost by a developing country standard, Dylos DC1100 Pro.
Laser-scattering method is mentioned in low-cost sensors with different nuances such as based on the principle of laser scattering (SDS011, PMS7003), laser-based sensor (HPM), and true laser particle counter (DC1100). The distinction is needed because laser emits a narrow region of wavelengths, created a perception of a higher accurate device. Light scattering is used interchangeably in this article. In a true technical term, light scattering referred to a lower accuracy, less expensive LED as the light source. The laser is used in laboratory-grade equipment such as Met One E-Sampler or GRIMM EDM 180.
What I learned from the Internet about laser-scattering method is shining a laser beam onto a particle, light can be scattered, diffracted, absorped or extincted. Measuring size of a particle and how many particle in that size is based Mie Theory with inelastic scattering. To read more about laser-scattering, refer to this 7-page write-up.
|Range (µg/m3||0-500 (1000)*||0-999||0-1000||N/A|
|Error||10% and ±10µg/m3||15% and ±10µg/m3||15% and ±10µg/m||N/A|
|Lifespan (h)||8,000||8,000||20,000||several years|
|Communication||Serial with headers, baudrate 9600|
|Mode||Continuous or passive query by Serial input||1-minute or 1-hour sampling|
|Output||PM1,PM2.5,PM10, counts with size of 0.3, 0.5, 10, 2.5, 5, 10 µm||PM2.5, PM10 in float||PM2.5, PM10 in integer||small (> 0.5µm) and large (>2.5µm) for Pro model|
|Software||Arduino, Python libraries||Data logger (Windows), customized Python script|
If we only look at the specifications, PMS7003 is very promising with the lowest cost, smallest footprint, available third-party library for DIY. Particle counting with 0.3 µm at 50% and 0.5µm at 98% efficiency making this sensor stands out for its wealth of outputs. The SDS011 has a sampling hose that can draw sample upto 1m. This is convenient for a setup with no fan installed. HPMA115S0's datasheet is pleasant compared to the first and the brand name brings some ease as well. DC1100 has been used as a middle-device and has shown a good correlation to lab-grade equipment.
The first use for the low-cost sensors is comparative monitoring, in which values of PM2.5 and PM10 (PMs) are compared with the time event. This analysis provides patterns of the concentration with the change of experimental conditions such as road vs. home, cooking vs. none, day vs. night, construction site vs. residential home. The comparative analysis is suitable for high-school and undergrad students to have some peek into the change of PMs with the condition.
I myself conducted three studies by the time writing this post using the comparative analysis. The first one is to evaluate the PMs inside a closed room and the balcony during a 5-day vacation. The next two are PMs emitted by a firewood cook stove and removal efficiencies of face masks to PMs. The details of these studies posted here. For each study, I compared PMs concentration from a sensor measuring the background or ambient concentration and the other for the experimental conditions. When one sensor is available, I have to move between experimental conditions and the one for the background.
Comparative studies are simple and useful for hobyist and personal uses. When communicating results to the public or for a research level, the accuracy of the low cost devices to the standard method is a must. Table 1 listed the error of PMS7003, SDS011, HPMA115S0 is 10% and ±15µg/m3 which is a good start, but to be sure with local conditions, the so-called "co-location" study is needed. In a co-location study, all devices are placed in proximity and expose to the same ambient condition. The output of sensors is cross-checked with additional to a calibration curve based a reliable device using the reference method.
Available testing on optical sensors measuring PMs including the low-cost class are carried out by the US. EPA and the Air Quality Sensor Performance Evaluation Center (AQ-SPEC). The study done by the US. EPA included mid-range devices in term of price, from $500-$2500. Only DC1100 Pro was included in this study in North Carolina, US. The AQ-SPEC carried extensive testing on commerical devices ranging from $150-$300. Testing bare sensors is not included rather a package with possible customized calibration by the device's maker. The reference device is Federal Equipment Monitor (FEM) approval such as GRIMM (EDM 180) or Met One (BAM-1020).
|AQ-SPEC (R2||0.85 (Edimax PMS5003)*, 0.93-0.97 (PurpleAir, PMS5003)||N/A||N/A||0.81|
|AQ-SPEC (Regression)||FEM=0.563x+3.90, FEM=0.625x+2.73||N/A||N/A||FEM = -8E12x2+5E-05x+3.97 (x: particle count/ft3|
|Johnston (2019), UK, ρ as Pearson coefficient||0.88||N/A||0.85||N/A|
|Badura (2018), Poland||R2=0.73-0.75, FEM=0.413x||R2=0.66-0.70,FEM=0.592x||N/A||N/A|
|Liu (2018), Norway||N/A||R2=0.71-0.80,FEM=0.645x+1.32||N/A||N/A|
Over 10 reports and journal articles I skimmed through, a conscensus summary as follow:
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 simultanously 4 sensors in one script. The code also works with other x003 sensors from Plantower since they use the same bitstream format.
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.
Using Seaborn library, the relational plots between each sensor to the reference stations are shown below.
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.
The Seaborn 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.
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.
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.
Located 5.3km way from a reference station is less than ideal. Variation of wind and PM2.5 sources introduces more uncertainty. Nevertheless, this analysis and data show resonable fittings of PM2.5 monintoring from low-cost sensors.
For more information about technical of each sensor mentioned above, checkout its datasheet: