PMS5003 New Batch Issue

Smart Citizen Logo

Test details

Devices summary

Devices list
Device Blueprint Timezone Batch Mode / Period Active / Passive
14687 SCK 21 Europe/Madrid First batch One-shot / 15s Active
14688 SCK 21 Europe/Madrid First batch One-shot / 15s Active
14769 SCK 21 Europe/Madrid New batch One-shot / 30s Active
14842 SCK 21 Europe/Madrid First batch Continous Active
14843 SCK 21 Europe/Madrid New batch Continous Active
14850 SCK 21 Europe/Madrid New batch Continous Active
14851 SCK 21 Europe/Madrid New batch Continous Active
14853 SCK 21 Europe/Madrid New batch Continous Active
14854 SCK 21 Europe/Madrid New batch One-shot / 30s Active
14855 SCK 21 Europe/Madrid New batch One-shot / 30s Active
14885 SCK 21 Europe/Madrid New batch One-shot / 35s Active
14888 SCK 21 Europe/Madrid New batch One-shot / 35s Active
14889 SCK 21 Europe/Madrid New batch One-shot / 30s Active
14946 SCK 21 Europe/Madrid New batch One-shot / 15s Active
14947 SCK 21 Europe/Madrid New batch One-shot / 15s Active
14948 SCK 21 Europe/Madrid New batch One-shot / 15s Active
14949 SCK 21 Europe/Madrid New batch One-shot / 15s Active
14994 SCK 21 Europe/Madrid New batch 15s Passive
14995 SCK 21 Europe/Madrid New batch 15s Passive
14996 SCK 21 Europe/Madrid New batch 15s Passive

Device information

Below is a description of each device, finding documentation and data sources.

All devices
Channel Units Type (raw/processed) Algorithm Description
BATT % Raw n/a Device battery status
CCS811_ECO2 ppm Raw n/a Equivalent CO2
CCS811_VOCS ppb Raw n/a total Volatile Organics Compounds
HUM %rh Raw n/a Urban board humidity (SHT31)
LIGHT lux Raw n/a Urban board ambient light
NOISE_A dBA Raw n/a A-scale noise SPL
PM_1 ug/m3 Raw n/a PM1 measurement from PMS5003
PM_10 ug/m3 Raw n/a PM10 measurement from PMS5003
PM_25 ug/m3 Raw n/a PM2.5 measurement from PMS5003
PRESS kPa Raw n/a Atmospheric pressure
TEMP degC Raw n/a Urban board temperature (SHT31)

Analysis

This note tries to shed some light on the recent issues found with the Plantower PMS5003 sensor in the SC project. Two issues were identified:

Countermeasures for these issues are proposed in this note, and implemented in the PMfix branch of the firmware repository. The master branch will incorporate these fixes in the 0.9.9 release.

TL;DR

⚠️ Serial buffer issue ⚠️

An issue has been identified with how the readings are taken from the PMS5003. This issue is analysed first, as it has no relation at all with the new batch of the PMS5003 zero readings issue. This is related to how the readings are requested to the PMS5003 sensor: a bug in the firmware, which was fixed in this commit, made the SCK to not discard the initial readings accumulated in the serial buffer coming from the PMS5003. This meant the readings were actually not the readings from 15s after the sensor was turned on, but likely after some few seconds (1 or 2) after turning on the PMS. The blue trace in the graph below shows the corrected output, versus the readings before the fix (in orange). As seen in the graph, this lead to:

  1. Lower readings in general (approx 50% understimation).
  2. Lower SNR (signal to noise ratio from 3.85 to 2.62 in the image below).

First Batch Assessment

An analysis of the 15s one-shot interval is done in this part. The 15s one-shot mode means that the sensor is turned on only for 15s in order to take a measurement, and that the rest of the time is switched off for battery saving purposes. The reading (ideally, see above) is taken after 15s of being turned on, in "one-shot" mode. This method has been evaluated in this AN. In order to re-assess the validity of this mode, two units are tested in one-shot 15s mode, and compared against the readings of one unit in continuous mode. The figure below shows the comparison.

Batch comparison - One-shot 15s

In parallel to this test, a comparison between sensors of the new and old batches is done. Three sensors of the first batch in one-shot mode at 15s are compared against 5 sensors of the new batch. The figure below shows a clear gap between the readings in all reading levels.

Batch comparison - Continous mode

In order to assess where this issue comes from, a comparison between the sensors of the new and old batches is done in continous mode. Two sensors of the first batch in continous mode are compared against 5 sensors of the new batch. The figure below shows that both readings are closer to each other, and there is a potential change in the new PMS5003 in low PM levels.

New batch

One-shot assessment

After analysing the continous mode, the sensors are then assessed with different one-shot periods versus the continous mode, only for the new batch of the sensors. An increasing correlation in the readings appears as the one-shot period increases as seen in the figure below.

Zoom-in for new batch one-shot comparison

Here we take a closer look to the one-shot comparison in the case of the new batch. Contrary to the firmware bug detailed above, no SNR improvement is found. However, the gap shown in the larger plot from above is clearly seen.

Zoom-in for new batch one-shot comparison (30s)

Similarly to the 15s, a closer look to the 30s one-shot of the new sensor versus the continous mode is assessed. This means that the one-shot method is no longer valid for improving battery consumption since not even 30s of one-shot show proper readings in comparison to the continous mode.

Introducing Passive mode 💥

Another approach is tested by using the PMS5003 in passive mode. This mode differs from the active mode, in a way that the sensor only gives data when requested, instead of continously. The sensor can be commanded to turn off the fan in the meantime, while in active mode, specially in what we have called the one-shot mode, the sensor is switched off abruptly by simply cutting off its power feed from the SCK. This mode shows a clear improvement and similar performance to that of continuous mode. This mode will be used from now on, with no need to increase the one-shot period.

🔋 Battery comparison

Below is a comparison of the different battery durations (for the standard 2000mAh) for each mode. All the sensors were in network mode, posting with defaults:
Device Mode Battery duration
14843 PMS5003 Active - Continous operation 14h 20min
14688 PMS5003 Active - One shot 15s Default in 0.9.8 1d 5h
14995 PMS5003 Passive - One shot 15s Default in 0.9.9 2d 1h

The image below shothe battery (in %) of each device. Other devices were tested in paralell with similar performances. Ranges are indicated in the table above.