Enviro+ PMS5003 particulate sensor showing zero readings

We’ve had out Enviro+ setup outside through lockdown for an experiment with the kids. All was working fine, but the particulate bit just seems to have stopped working.

I’ve brought it inside and installed a fresh copy of Raspian and gone through the whole set up process again, but still no joy.

pi@airq:~/enviroplus-python/examples $ python combined.py
    2021-01-20 09:43:21.578 INFO     combined.py - Displays readings from all of Enviro plus' sensors

    Press Ctrl+C to exit!


    2021-01-20 09:43:24.043 INFO     temp: 20.6 C
    2021-01-20 09:43:24.170 INFO     pres: 972.0 hPa
    2021-01-20 09:43:24.292 INFO     humi: 43.2 %
    2021-01-20 09:43:24.298 INFO     ligh: 64.0 Lux
    2021-01-20 09:43:24.467 INFO     oxid: 27.9 kO
    2021-01-20 09:43:24.470 INFO     redu: 28.4 kO
    2021-01-20 09:43:24.474 INFO     nh3: 39.8 kO
    2021-01-20 09:43:24.600 INFO     pm1: 0.0 ug/m3
    2021-01-20 09:43:24.603 INFO     pm25: 0.0 ug/m3
    2021-01-20 09:43:24.606 INFO     pm10: 0.0 ug/m3
    2021-01-20 09:43:24.771 INFO     temp: 18.9 C
    2021-01-20 09:43:24.899 INFO     pres: 972.0 hPa


    pi@airq:~/enviroplus-python/examples $ python luftdaten.py
    luftdaten.py - Reads temperature, pressure, humidity,
    PM2.5, and PM10 from Enviro plus and sends data to Luftdaten,
    the citizen science air quality project.

    Note: you'll need to register with Luftdaten at:
    https://meine.luftdaten.info/ and enter your Raspberry Pi
    serial number that's displayed on the Enviro plus LCD along
    with the other details before the data appears on the
    Luftdaten map.

    Press Ctrl+C to exit!

    Raspberry Pi serial: xx
    Wi-Fi: connected

    {'P2': '0', 'pressure': '63010.21', 'P1': '0', 'temperature': '20.61', 'humidity': '100.00'}
    {'P2': '0', 'pressure': '97196.32', 'P1': '0', 'temperature': '18.28', 'humidity': '44.25'}
    {'P2': '0', 'pressure': '97196.64', 'P1': '0', 'temperature': '17.79', 'humidity': '44.21'}
    {'P2': '0', 'pressure': '97197.18', 'P1': '0', 'temperature': '18.29', 'humidity': '44.17'}
    {'P2': '0', 'pressure': '97196.90', 'P1': '0', 'temperature': '18.29', 'humidity': '44.14'}
    {'P2': '0', 'pressure': '97196.35', 'P1': '0', 'temperature': '18.06', 'humidity': '44.16'}
    {'P2': '0', 'pressure': '97196.70', 'P1': '0', 'temperature': '18.29', 'humidity': '44.26'}
    {'P2': '0', 'pressure': '97197.72', 'P1': '0', 'temperature': '18.29', 'humidity': '44.32'}
    {'P2': '0', 'pressure': '97197.16', 'P1': '0', 'temperature': '18.29', 'humidity': '44.34'}
    {'P2': '0', 'pressure': '97196.68', 'P1': '0', 'temperature': '18.29', 'humidity': '44.41'}
    {'P2': '0', 'pressure': '97196.14', 'P1': '0', 'temperature': '18.29', 'humidity': '44.38'}
    {'P2': '0', 'pressure': '97197.00', 'P1': '0', 'temperature': '18.29', 'humidity': '44.24'}
    {'P2': '0', 'pressure': '97196.74', 'P1': '0', 'temperature': '18.29', 'humidity': '44.16'}
    {'P2': '0', 'pressure': '97196.34', 'P1': '0', 'temperature': '18.29', 'humidity': '44.13'}

> ^Cpi@airq:~/enviroplus-python/examples $ python particulates.py
> 2021-01-20 09:50:08.487 INFO     particulates.py - Print readings from the PMS5003 particulate sensor.
> 
> Press Ctrl+C to exit!
> 
> 
> 2021-01-20 09:50:11.165 INFO
> PM1.0 ug/m3 (ultrafine particles):                             0
> PM2.5 ug/m3 (combustion particles, organic compounds, metals): 0
> PM10 ug/m3  (dust, pollen, mould spores):                      0
> PM1.0 ug/m3 (atmos env):                                       0
> PM2.5 ug/m3 (atmos env):                                       0
> PM10 ug/m3 (atmos env):                                        0
> >0.3um in 0.1L air:                                            0
> >0.5um in 0.1L air:                                            0
> >1.0um in 0.1L air:                                            0
> >2.5um in 0.1L air:                                            0
> >5.0um in 0.1L air:                                            0
> >10um in 0.1L air:      

The fan on the PMS5003 spins, so it’s alive. Other bits of the Enviro+ work (light sensor etc), although the screen seems to have given up the ghost?

Anyone any ideas? Or do you think it’s just not enjoyed being outside?

Cheers

I can’t help with the particulate matter sensor, but make sure SPI is enabled or the screen won’t work.

Thanks for that. To be honest, i’m not that bothered about the screen as it’s sat outdoors in some piping as above.

I’m wondering if the PMS5003 has just given up the ghost?

Kind of sounds like it, but I don’t have one and don’t know what you’d check / look at to figure out if its actually a hardware issue?

Hi

What happened? Did you find a solution.

I ordered one last week and disappointingly mine shows zero readings too. I wrote to support and waiting on an answer. Seems the pms5003 sensor is flaky or in combo with enviro plus board.

Rich

Did you manage to fix the problem? I have exactly the same problem - the pi and Enviro+ with pms5003 sensor has been running OK for a few years but now the pms5003 just returns 0 for all values.

Might be worth checking if the fan that sucks air into the particulate sensor’s still turning - they can sometimes get gummed up with spiders / leaves / gunk?

The fan works OK and it all looks clean when I open up the case.

Maybe the sensor/laser have stopped working because it’s been in use continuously for a few years (running the Pimoroni enviroplus luftdaten.py example code)? Is there an example which puts the sensor into sleep mode to extend its lifetime?

I have got it working again.

When I opened up the pms5003 sensor, it seemed clean - there was a small spider’s web on the outside near the connector, but the circuit board didn’t have any obvious dust on it. I blew on the PCB and reseated the cable connectors at both ends, but this had no effect.
Then I roughly brushed the circuit board of the sensor with a stiff oil painting brush (on the side where the components are), and it started working again. So, it looks like there was some kind of dust on the circuit board that was causing the zero readings (the sensor seemed to work OK with no errors reported, but the PM readings were always zero).
It has been working OK for a week or so since I did this.

1 Like