Discussion points

Summarize, real life data from measurements and comparisons show the GP2Y1010AU0F can provide useful information in a prototype Arduino setup. The challenge is how to create a low cost defined quality manufacturable sensor.
Considering that the focus is Low Cost with a defined quality/specification/fidelity.
  • To keep the low cost objective, use simple mechanics and measurement focus to expose the raw sensor IC to cross air currents and environmentally protect the sensor. Face sensor downwards for any moisture to leave, and let natural air currents move particles across the sampling hole of the sensor. Possibly “radiation shield” type approach. Screening will likely be necessary as many species of flying insects are attracted to IR wavelengths.
  • The measurement specification is in terms of particle counting – the direct measurement of the sensor.
  • A cost option that could include fan and filter – both reasonably low cost but impacts mechanics, power consumption, and electronics interface.

I see following issues

Issue 0. What are we aiming to measure

This relates to the PM10, PM2.5, PM1, PM0.1, PNC (particle number concentration) discussion.
I put together a few slides on "sizing" for reference ... check the notes for the slides ... particularly the one on sizes (slide 5).

Now the point becomes defining what the instrument is actually seeing. For the optical methods (Grimm, nephelometer, sharp, etc) the size is the "scattering size" and this is why the benefit of adding a size selection stage is not obvious to me at this stage.

Issue1a) How to focus on the lower end of the scale.

That is how to derive the maximum sensitivity from the sensor, and let the dynamic range – the upper end of the scale falls out with whatever processor ADC measurement technique is used.


The sensor GP2Y1010AU0F lower end “Output voltage at no dust” is specified from 0V to 1.5V. The 0V is more of a problem, as the ADC’s often don’t operate close to gnd.

More resolution and stability can be had from this sensor and Arduino combination by sampling at a high rate and then filtering the output with a much longer time constant: Approximately 10 seconds. A simple binary recursive filter works fine. Carry more bits in the math and an effective 15 bits of A/D resolution is achievable.

Issue1b) Guarantee the ADC output is off from gnd – processor dependent.

See also Fig 24-10 “ADC Offset Error” of the ATmega48 doc8271.

Issue 2) Power consumption – is it tied to a wall brick or wireless and runs on batteries.

I propose to defer the discussion on to the interface and software. The interface can be USB (or separate 5V/RS232/radion) and software can control the number of samples take which controls the largest power user. For 20mA being on for 4% of the time this is 0.8mAHr, so for 5 ‘C’ Alkaline 8,000mAHr is used this is theoretically approx 1yr. However if the sampling is reduced significantly – say 1sec every minute – the power savings are significant.

Issue3): how to calibrate the raw readings of the sensors variability to a defined range?

As a target the numerical output should be repeatable across instruments and to a defined source by +/-50%
The sensor GP2Y1010AU0F sensitivity is defined as 0.35Min to 0.65Max V/0.lmg/m3 - this is the slope and very typical of a sensor to have a variability.

This is a sensor calibration activity, and needs to be done with the final sensor+electronics assembled – though not necessarily assembled mechanically.
  1. The ‘0’ reading – put the sensor in a clean environment box, and then sample the ADC output to get the ‘0’ and store in local persistent storage EEPROM
    1. [Gus] A "clean environment box" is not that hard ... blow air through a HEPA filter and you'll get "clean" air to pass through the sensing volume ... it must be a regular check (although not too often) to see if the sensing volume is getting dirty.
  2. Then at least one calibrated environment (????) – This can be expensive to create, but it appears that a reasonably repeatable amount of aerosol can be created by saturating a single punchout from a 3-ring binder punch with propylene glycol (undiluted antifreeze) and "toasting" it over some wirewound resistors inside of a sealed 5 gallon bucket. This creates an impulse of aerosol with an exponential decay which is in a convenient range (tops out at about 50% of full scale) for the Sharp sensor.

Wish List for sensors

Programmable light wavelength. .....

To measure dust and have digital display , how about consider laser dust sensor , with much better accuracy
http://www.gassensor.com.cn/product_en/typeid/19.html , contact ,Roy Lee