Back to Smartcitizen.me

PM Sensor always reading 0.0

Thanks @bryn.parrott! Haven’t had an opportunity to take it inside and open the container, but I will follow those steps.

Was just curious because it seemed to have identical symptoms and shipped likely from the same batch :slight_smile:

I did not mention that obvious coincidence.
Seeed might have fallen down on the QA testing side of things. Unheard of !!

But, as 'aforesaid its best to make no assumptions. If you go through the procedure and come up with the same results independently then its is more powerful than just assuming its that same problem. Its a larger hammer to clobber Seeed with; that can be best used to effect by the fablabsbcn team in their discussions with them. ( @pral2a1 )

Cheers

I got a chance to move the device inside and open the case.

Things I’ve done:

  • Turned off the device, then turned it back on
  • Pressed the reset button
  • Reset via CLI
  • Disconnected and reconnected the ribbon cable to the PM sensor

A few observations:

  • The ribbon cable is securely connected
  • My multimeter reads 5 volts across the pins described in this post at the sensor
  • When I ask for a reading on the CLI, I see the fan on the PM sensor spin

Some CLI output, including version, sensor list, I2C list, and read attempts, showing 0 for all PM metrics:

version
Hardware Version: 2.1
SAM Hardware ID: FC62E4F950573738352E3120FF15190E
SAM version: 0.9.8-e283e58
SAM build date: 2021-08-26T16:38:29Z
ESP MAC address: 9E:9C:1F:40:14:7D
ESP version: 0.9.8-e283e58
ESP build date: 202{
SCK > sensor

Disabled
----------
PM board Dallas Temperature
Direct Dallas Temperature
Ext Temperature
Ext Humidity
Temperature BME680
Humidity BME680
Battery voltage
SDcard present
Noise dBC
Noise dBZ
Noise FFT
Altitude
Pressure internal temperature
Gases Board 1A
Gases Board 1W
Gases Board 2A
Gases Board 2W
Gases Board 3A
Gases Board 3W
Gases Board Temperature
Gases Board Humidity
Groove ADC
INA219 Bus voltage
INA219 Shunt voltage
INA219 Current
INA219 Load voltage
DS18B20 Water temperature
Atlas Temperature
Atlas PH
Atlas Conductivity
Atlas Total Dissolved Solids
Atlas Salinity
Atlas Specific gravity
Atlas Dissolved Oxygen
Atlas DO Saturation
Soil Moisture Raw
Soil Moisture Percent
Soil Temperature
Soil Light
Ext Range Light
Ext Range Distance
Barometric pressure BME680
VOC Gas BME680
GPS Fix Quality
GPS Latitude
GPS Longitude
GPS Altitude
GPS Speed
GPS Horizontal Dilution of Position
GPS Traked Satellites
ADS1x15 ADC 0x48 Ch0
ADS1x15 ADC 0x48 Ch1
ADS1x15 ADC 0x48 Ch2
ADS1x15 ADC 0x48 Ch3
ADS1x15 ADC 0x49 Ch0
ADS1x15 ADC 0x49 Ch1
ADS1x15 ADC 0x49 Ch2
ADS1x15 ADC 0x49 Ch3
ADS1x15 ADC 0x4A Ch0
ADS1x15 ADC 0x4A Ch1
ADS1x15 ADC 0x4A Ch2
ADS1x15 ADC 0x4A Ch3
ADS1x15 ADC 0x4B Ch0
ADS1x15 ADC 0x4B Ch1
ADS1x15 ADC 0x4B Ch2
ADS1x15 ADC 0x4B Ch3
SCD30 CO2
SCD30 Temperature
SCD30 Humidity
Ext PM_A 1.0
Ext PM_A 2.5
Ext PM_A 10.0
Ext PN_A 0.3
Ext PN_A 0.5
Ext PN_A 1.0
Ext PN_A 2.5
Ext PN_A 5.0
Ext PN_A 10.0
Ext PM_B 1.0
Ext PM_B 2.5
Ext PM_B 10.0
Ext PN_B 0.3
Ext PN_B 0.5
Ext PN_B 1.0
Ext PN_B 2.5
Ext PN_B 5.0
Ext PN_B 10.0
PN 0.3
PN 0.5
PN 1.0
PN 2.5
PN 5.0
PN 10.0
Groove OLED

Enabled
----------
Temperature -> every 1 int (60 sec) 
Humidity -> every 1 int (60 sec) 
Battery -> every 1 int (60 sec) 
Light -> every 1 int (60 sec) 
Noise dBA -> every 1 int (60 sec) 
Barometric pressure -> every 1 int (60 sec) 
VOC Gas CCS811 -> every 1 int (60 sec) 
eCO2 Gas CCS811 -> every 1 int (60 sec) 
PM 1.0 -> every 5 int (300 sec) 
PM 2.5 -> every 5 int (300 sec) 
PM 10.0 -> every 5 int (300 sec) 
SCK > i2c
Searching for devices on internal I2C bus...
I2C device found at address 0x29!!
I2C device found at address 0x44!!
I2C device found at address 0x5a!!
I2C device found at address 0x60!!
I2C device found at address 0x6b!!
Found 5 devices

Searching for devices on auxiliary I2C bus...
Found 0 devices
SCK > read pm
Your reading will be ready in 15 seconds try again!!
SCK > 
-----------
2021-11-07T06:49:46Z
Temperature: 21.67 C
Humidity: 35.44 %
Battery: 99 %
Light: 585 Lux
Noise dBA: 38.43 dBA
Barometric pressure: 83.43 kPa
VOC Gas CCS811: 0.00 ppb
eCO2 Gas CCS811: 400.00 ppm
PM 1.0: 0 ug/m3
PM 2.5: 0 ug/m3
PM 10.0: 0 ug/m3
-----------
(2021-11-07T06:49:46Z) Readings saved to flash memory.
(2021-11-07T06:49:46Z) 11 readings saved to sdcard.
it's time to publish
Connecting to Wifi...
ESP on...
ESP finished booting
Synced config with ESP!!
Connecting to Wifi...
Connected to wifi!!
(2021-11-07T06:48:46Z) Sent readings to platform.
{t:2021-11-07T06:48:46Z,10:99,14:0,55:21.65,56:35.25,53:55.88,58:83.44}
Network publish OK!! (6 readings)
(2021-11-07T06:49:46Z) Sent readings to platform.
{t:2021-11-07T06:49:46Z,10:99,14:585,55:21.65,56:35.58,53:38.43,58:83.43,113:0.00,112:400.00,89:0,87:0,88:0}
it's time to publish
Network publish OK!! (11 readings)
ESP off...
read pm
Your reading will be ready in 15 seconds try again!!
-----------
(2021-11-07T06:50:46Z) Readings saved to flash memory.
(2021-11-07T06:50:46Z) 8 readings saved to sdcard.
read pm
PM 1.0: 0 ug/m3
SCK > read pm5
Not found sensor is disabled!!!
SCK > read pm 5
PM 2.5: 0 ug/m3
SCK > read pm 
Your reading will be ready in 15 seconds try again!!
SCK > 
-----------
-----------
(2021-11-07T06:53:46Z) Readings saved to flash memory.
(2021-11-07T06:53:46Z) 8 readings saved to sdcard.
monitor pm
Time	Miliseconds	PM 1.0
2021-11-07T06:53:53Z	6		0
2021-11-07T06:53:53Z	17		0
2021-11-07T06:53:53Z	12		0
2021-11-07T06:53:53Z	12		0
2021-11-07T06:53:53Z	12		0
2021-11-07T06:53:53Z	12		0
2021-11-07T06:53:53Z	12		0
...

SCK > 
-----------
2021-11-07T06:54:46Z
Temperature: 21.78 C
Humidity: 35.14 %
Battery: 99 %
Light: 0 Lux
Noise dBA: 50.31 dBA
Barometric pressure: 83.44 kPa
VOC Gas CCS811: 115.00 ppb
eCO2 Gas CCS811: 1156.00 ppm
Adding PM 1.0 to pending sensor list
Adding PM 2.5 to pending sensor list
Adding PM 10.0 to pending sensor list
Waiting for 3 sensors to finish the reading process
PM 1.0: 0 ug/m3
PM 10.0: 0 ug/m3
PM 2.5: 0 ug/m3
-----------
(2021-11-07T06:54:46Z) Readings saved to flash memory.
(2021-11-07T06:54:46Z) 11 readings saved to sdcard.

-----------
2021-11-07T06:59:46Z
Temperature: 21.96 C
Humidity: 38.95 %
Battery: 99 %
Light: 0 Lux
Noise dBA: 69.17 dBA
Barometric pressure: 83.43 kPa
VOC Gas CCS811: 117.00 ppb
eCO2 Gas CCS811: 1174.00 ppm
Adding PM 1.0 to pending sensor list
Adding PM 2.5 to pending sensor list
Adding PM 10.0 to pending sensor list
Waiting for 3 sensors to finish the reading process
PM 1.0: 0 ug/m3
PM 10.0: 0 ug/m3
PM 2.5: 0 ug/m3
-----------
(2021-11-07T06:59:46Z) Readings saved to flash memory.
(2021-11-07T06:59:46Z) 11 readings saved to sdcard.

@bryn.parrott or anyone else reading, are you running the same firmware version (0.9.8) with successful PM readings?

That would be a quick way to isolate hardware issue vs. firmware regression.

Hi @jtleniger

My Smart Citizen Station kit is not the same as your Smart Citizen Kit; since it has two Dust Sensors connected to a secondary SAMD21G18 processor board instead of the Urban Board.

My system is not yet up and running; because I extended it; I am developing custom firmware which is not yet ready for prime time… It will nonetheless be running the same base version of firmware.
For these reasons I am unable to help as I do not yet have any readings at all; my system is not running. <sorry !>

However having said that I would lean away from a direction of firmware being the cause of this issue; mainly because this version was tested in beta for months prior to being released; and following release it has been installed by many; who would surely have made a noise by now if the dust sensor stopoed working. For many; this version 0.9.8 solved a myriad of different issues.

Others might be able to help though; here’s hoping someone else can respond.

Good to know, thanks. It’s a new-ish update and I don’t really have visibility into the number of users or adoption of the update :slight_smile:

That probably eliminates firmware being the cause then.

1 Like

edit: new sensor is able to get readings!

Hi all!

Couple of comments regarding this:

  1. If the sensor is always reading zero, there is a way to take measurements of the actual number the sensor counts PN (not PM) by:
sensor -enable PN
read PN

If the PN readings are 0 #/m3 as well, then the sensor might be clogged or malfunctioning.

  1. About clogged sensors: we have seen sometimes bugs (insects) inside the sensors themselves. This made some sensors not able to read anything because the bugs had build small nets around the sensing components. @airsentio Opening the sensor is sadly not easy, and we would recommend to drop a message to SEEED’s hardware support for replacement in case they don’t work. This applies for every hardware component, not only the PM:
  1. As for the swap category, sure. I think maybe it makes more sense to make something more related to replacements and anyone can post there to discuss about swapping elements. Also, I think we can channel proposals regarding better replaceability or improvements (as @bron and @bryn.parrott suggested for the Urban Board). Any proposal for names?

  2. If this happens in new sensors frequently, we will need to tell SEEED about it. They normally take care of these things quite well based on our experience.

Something that I’m trying to test a bit more for anyone else reading:

I’m wondering if perhaps these sensors aren’t very sensitive. With my new working one, it still outputs 0 the vast majority of the time in the place it is located. I was able to see readings by extinguishing a candle below it.

Hi Oscar
I will weigh in with this suggestion:
“Spare parts exchange”
Along with a pinned post explaining that people might post that :
a) have an excess of some parts or
b) if they need a particular part.

Cheers

Hello,
same problem here, I bought a new kit because the data board has stopped working, and received a faulty PM sensor.

Now I am contacting Seed for a replacement, or I will start a PayPal controversy.

Some better Quality Control would be appreciated…

Hi all, thanks for this thread. I also have this issue with a new SC kit; I bought a new kit which arrived in the last month with a faulty PM sensor (always reads 0), and the eCO2 sensor which only reads 400ppm. I have a thread with Seeed support about how to resolve this, but no luck yet.

I’ve tried the latest firmware for SAM and ESP (which it came with) 0.9.8, as well as the previous version from the archive.

Both of those devices connect via the Urban Board.

I had a similar issue when firing up my SCS recently.

The problem turned out to be slightly skew seating of the urban board onto its connector on the Data board. A very slight tilt. There was a tiny gap on one side of the connector when viewed from one side; and I could see the pins through the gap.
I straightened the seating and all came good.

May I suggest that you look into this possibility.

Concerning the VOC/eCO2 sensor the fact you are getting anything out of it at all is encouraging. I found that it took quite a while before the CCS811 Sensor and the PM sensor started delivering sensible readings. Like 20 mins or so. My suggestion is that after bringing your kit on line; just leave it turned on for an hour then perform a reset; see if readings are delivered now.
You can easily test the VOC sensor by taking the device into your kitchen whilst cooking is going on. OR dare I say expose them to cigarette smoke. VOC and PM readings should increase dramatically.

I also have just received a new SCK 2.1 a few days ago and am suffering from a similar issue. I tried checking via the shell and found the following behavior:

  • If reading the data at an interval of 15 seconds (note this means you also have to change the interval for the particle sensor to 15 seconds), then data is read from the sensor. But after 30 minutes, the 0 values resume. Pressing on/off button will then result in resumption of reading data for another 30 minutes
  • Setting higher values for the read interval (e.g. 30 seconds) will stay stuck at the 0 value always

I’ve been reaching out to seeed on this, let’s see what they say.

1 Like

Hello everyone,

So we have just received ourselves a lot of kits and we are seeing similar issues. So far, we have seen flat PM=0ug/m3 values with the new batch, whereas old batches of PM sensor with similar firmware revisions show non-null values. We are thinking it might be something related to the way we interact with the PM sensor, so before handling complaints with SEEED, we would encourage to post here the following:

  1. Purchase date
  2. Device URL
  3. Is it always reading 0ug/m3?
  4. Picture of the PM sensor label that is on the side. This information is valuable to understand batches.

We would thank you for this info. We are checking this on our side to see if it can be solved with a firmware update or if we need to reach out to SEEED / Plantower.

Thanks

1 Like

Just fyi.
The two PM sensors included with my SCS V3 do not exhibit this problem. But then they are likely an earlier batch and of course SCS operates 2x PM alternately so it’s different; but may be a clue to what happening on the data board.

Hello,

We have been checking this issue on the last days. We have found that something has changed on the PM sensor behavior since the last batch. Now the first two readings delivered by the sensor after startup are zero, the third one and up seem to be correct.

For now there is a firmware branch that fixes the issue here: https://github.com/fablabbcn/smartcitizen-kit-21/tree/PMfix. If someone want’s to use this patched firmware version for now the binary is here. You can update the SAM firmware as usual.

We are not merging this in to the master branch until we do some more tests and we are sure that this is the only thing that has changed.

Cheers!
Victor

1 Like

Any updates here?
Thanks

Many, we are finalising the testing stage, but summarising what’s coming up soon:

  1. There are two modes of operation of the PMS5003 - active and passive. Active mode gives data anytime the sensor is powered, whereas passive only when we ask for it. We were using PMS5003 in active mode, shutting it down every time, and turning it on for 15s to measure. Passive mode also accepts the sensor to be sent to sleep after the reading is requested. We used active mode because it’s the default one, and because information on the PMS5003 is not very well documented unless you really insist to plantower
  2. Changes on the behaviour are seen after an update on the PMS5003 and made the active mode unusable as we were using it, which seems to be linked to the sensor being shut down abruptly. This basically provokes that the 15s where not enough anymore, and that not even 30 or 35s seems to provide good data (there is always correlation but the slope of the calibration is off)
  3. For these reasons, passive mode is now being evaluated, with measurements at 15s and sensor sleep in the meantime to keep the battery saving, and adding a control shell command to improve how the sensors is interacted with (adding stabilisation period in seconds, or none (continuous mode)). This is what you would test in the PMfix branch. It is not merged yet because it will take more testing on our side to make a release. Results though, seem promising, correlating to the previous PMS5003 batches and also to continuous mode

If you want to test it (experimental yet) you can use the PMfix branch on the firmware repository

2 Likes

Hi all,

Finally, we have a complete assessment of this issue and a release is coming in very few days (0.9.9). The PMfix branch has already the fix, as mentioned in the post above. You can find a complete evaluation of the changes is this note

Note that we not only saw there was an issue with the new batch of sensors, but also on how the old batch sensor readings were taken. The explanation is in the first part of the note and a dedicated forum post is here. Please, leave this thread for the issue with the sensor always reading 0.

2 Likes