PMS5003 reporting large intermittent spikes

I have a few OG DIY basic kits that I have been using since 2021 when Air Gradient first published their DIY hardware guide and I have been very happy with their performance. I recently moved one of them to my vacation home to track indoor air quality during the current smoke event (I am in the US PNW and we are getting lots of fire smoke from BC). My software setup is based on the Air Gradient software, but modified to push to my own influxDB/grafana stack. I also have one additional software change that lets me pull the values for PM2.5, PM1.0, and PM10 in a single call. I mention this just in case it is relevant to my issue.

After moving the sensor to my vacation place, I have been seeing huge spikes in PM2.5 on a semi-regular interval. This does not correlate (and is far worse) than the outside Air Quality, according to nearby PurpleAir sensors. The first image below is my indoor sensor and the second is the purple data from an outdoor sensor nearby.

My first thought was that I have something in my HVAC system (mitsubishi heat pump) causing these spikes, but I can’t really come up with a theory of what/why that would be happening. My second thought is that my PMS5003 is reporting bad values for a few readings then going back to normal.

Anything else I could be missing? Do I really have 400+ pm2.5 levels indoors? For the record, we have multiple air filtration systems running, including an IQ Air, in the same room as the air quality sensor.


Difficult to say. Probably best would be to put a second monitor in there and compare the data.

I left the HVAC system off yesterday for about 12 hours and was still seeing the same behavior. As you suggested, I will take this sensor back home and stick it next to one of my other ones and see if it continues to spike.

Do I understand correctly that there is nobody living there that could create these spikes, e.g. through cooking, smoking etc?

The majority of the spikes have occurred while everyone is asleep, so I ruled out cooking as a possible cause. I do have some custom code in my sketch that puts the sensor to sleep between readings. I’m wondering if that may be causing some odd behavior.

Can you also rule out, e.g.:

  • Vaping
  • Humidifier
  • Deodorizer
  • High Humidity (e.g. from a shower in the bathroom)

I can rule out the first three issues in general. Showers/boiling water for coffee/cooking all definitely occur during the day but would not be happening while everyone is asleep. I definitely need a second sensor to correlate what I am seeing. Unfortunately, I won’t have access to my other sensors for a few more days.

I finally had a chance to locate the problematic sensor next to another one. (green and yellow in the graph below) and the sensor continued to register major spikes while the other showed very little (which seems more accurate given the room).

As an experiment, I sealed all three of my sensors in a cardboard box and let them run overnight to see how they would compare in a controlled environment. The results of that are below. It looks like eventually each sensor settled down to its baseline value (which is only zero for one of them). I will let them stay in the box another day, but it doesn’t look like the spiking behavior occurs when there is no environment factors.

Not sure where this leaves me. When not in the box, the problematic sensor spikes, when in the box, it settles down, albeit not to zero. Any ideas or thoughts anyone? My next step is going to be blowing out the PMS5003 with some compress air.

In very rare cases we see similar behaviors that a sensor just becomes much too sensitive but to avoid any external interference from the board or cable it could be interesting to swap the two sensors.
Just to ensure it is indeed the sensor and not something else.

thats a good idea. I’ll give it a try when I have some time to tinker with it.