I have been using a pmsa003I sensor for a while and it worked well. After about 2 months it randomly started reading low values until it would basically flatline at 0. If I subjected the module to smoke it would flare up the readings but for ambient air it would just read 0 no matter the location. I tested with a new sensor and I'm still getting the same problem so maybe it is a problem with my microcontroller? I am using the feather STM32F405 for that. I have no idea why this is happening. Does anyone have any ideas? (I attached image of values and graph)
That seems very unlikely. There's little to go wrong with a microcontroller, no moving parts etc. Did you update the code in those 2 months? Even if there was theoretically no change or only trivial changes?
You could try another microcontroller but I expect you will get exact same results.
Please post links to all the major components and a schematic, so we can check if there is some way your circuit is gradually damaging any of the components.
Right now my guess would be that those wires that have been stuffed into holes and not soldered have either worked loose or have become tarnished and no longer make a good connection.
Not sure if I am understanding you correctly but sometimes sensors have sort of a run-in period in which they fume a bit. This could explain the high values at first. If it works now, should be fine.
I wondered about that too. I couldn't see any mention of that on Adafruit's page, and, unusually, there is no Adafruit tutorial for this sensor. However, I did not read the sensor data sheet, which is linked to on that page, perhaps that mentions a settling/burn-in period.
The problem isn't that it flares at first, its that it goes down to zero when ambient concentrations should always be above 0. I just don't know why it's doing this because it was working one day and the next it was like this
yes it is doing something. I talked to the manufacturer and they said low values can be attributed to the fan, so I'm wondering if its not spinning as fast as it once did for some reason