Getting unstable readings from GP2Y1014AU0F dust sensor

Hi everyone,

I recently picked up a GP2Y1014AU0F PM2.5 optical dust sensor module to use in a DIY indoor air quality monitor. The idea is to track fine particles and log values with an Arduino for later analysis.

Setup Details:

  • Arduino Uno
  • Sensor powered from 5V pin
  • Vout connected to A0 for analog reading
  • 150Ω resistor on the LED pin as recommended in schematics
  • Simple sketch averaging multiple analog reads to smooth out the signal

Now here are my issues:

  • The readings fluctuate a lot, even when the room is stable (values jump up and down constantly)
  • Occasionally, I see huge spikes in the output that don’t make sense (like 5–10× higher than normal)
  • I’m not 100% sure if I wired the LED/V-LED pins correctly — the datasheet instructions feel a little confusing
  • Averaging in code helps a bit, but the data still looks too noisy to be useful

What I’ve tried so far:

  • Checked my wiring twice, seems okay
  • Added delays in the loop to slow down reads
  • Tried powering from a separate USB power bank to see if it was a supply issue

My questions:

  • Is this level of noise typical for the GP2Y1014AU0F, or should it be more stable?
  • Would adding a capacitor near the sensor help reduce voltage fluctuations?
  • How do you properly calibrate this sensor to get PM2.5 values in µg/m³ from the voltage output?
  • Any placement tips (near air vents vs still air) to get more realistic readings?

Thanks in advance for any suggestions.

crwdns2934089:0crwdne2934089:0 crwdns2934093:0crwdne2934093:0

crwdns2934109:0crwdne2934109:0

crwdns2889612:0crwdne2889612:0 0
crwdns2934285:0crwdne2934285:0