Hi guys, I authored the tutorial that @Phil_Wilko mentioned. I’m so glad that you found it useful! Allow me to chip in with a bit of further explanation:
On 30s offset requirement
I didn’t find the 30-seconds requirement in my 5003 datasheet, and I suppose it might have been coined by the users finding out that the initial measurements are skewed. The only thing mentioned there is “the response time less than 10s”, and indeed around 5-7 seconds is needed from booting up the sensor until it starts transmitting data.
I have seen a 30s requirement mentioned in PMS7003 datasheet though. I actually just searched the Chinese datasheets for PMS5003 and PMS7003 for “30” and found it only in the second one, in context of a response time.
My point is, I couldn’t verify the 30s measurement delay with my testing. After booting up the sensor and reading frame by frame, the first one was off by some margin, but then already the second measurement was pretty close to the rest of them, with no significant difference after 10, 30 or 60 seconds. Maybe I was lucky enough to get an exceptionally good sensor but that’s what my numbers say.
Also, I’m getting pretty stable results with every measurement - I’m reading the sensor data every 10 minutes and don’t see a huge variation in readouts, but rather they follow a trend line, especially if you draw a 1-hour mean. I mean, I wouldn’t expect a laser precision anyway from a 20$ sensor.
For a “production” version of the sensor I’d probably go with measuring every 30 minutes and then I could afford a 30s wait time, considering power consumption…
While it makes sense that high humidity (>70-80% RH) would affect the measurement, I can’t confirm it either. It manifests itself e.g. when I take the sensor back home from the outside on a cold day, and the droplets gather on the surface of the sensor. Also, a friend of mine noticed that the sensor goes nuts when placed close to the humidifier, most probably by recognizing water particles as dust. In normal measurement conditions, however, I can’t see that the readout is skewed.
There might be some systematic error added to my measurements, especially that now in winter I rarely observe humidity lower than 70%, but I would need some more testing to confirm that. It would make sense to put the sensor next to the official air quality monitoring station (the nearest one is downtown around 5km from my place), but anytime I compare my results with official info or data from other public sensors, it’s very similar, I’d say within 5-10%. And most importantly, I don’t see my results being significantly higher than those of other sensors around me.
Perhaps the placement of the sensor makes a difference. In my case, it’s on the wall outside, but still under the roof, so it’s not affected directly by rain or snow.
When I read similar discussions on PMS5003 and humidity on Polish forums, the consensus was that companies that sell PMS5003-based sensors don’t adjust the readout for humidity
If possible, go with LoRa. I’m now evaluating LoRaWAN with my sensor and even though the PMS5003 accounts for most of the battery drain, I’m getting close to 20 days on a single battery charge (sending packets one by one), while with Wi-Fi my battery died (permanently) after 16 days (sending batched data for 6 measurements every hour). Read more here:
That’s how it works for me, but apparently, your mileage may vary. I hope it helps though and let me know if anything is unclear