Sharp Air Quality Sensor

Supplier Digikey -$12

GP2Y1010AU0F detects particles in the air by optical sensing.
-Operates on 5 Volt
-Current dissapation of less than 20 mA
-0-0.6 mg/m3(cubic meter) range
-Enable to distinguish smoke from house dust

How optical dust sensors work

An infrared emiiting diode and a phototransistor are diagonally arranged. Light reflects on the particles passing through the whole are picked up by the photodiode(PD) is transformed into voltage. The voltage has to be amplified to be able to read the change. You can change the resistance of the RS(variable resistor) in the amplifier circuit to make it more sensitive but if you do so, note that you can't reference output voltage vs. dust sensity at fig.3 (below)

Image by Shinyei

GP2Y1010AU Internal Schematic


These results are true only when the sensor is used with factory settings. The variable resistor shouldn't be changed. Attach:output.jpg Δ The table demonstrates that for every 0.1 mg more of dust, the voltage increases by 0.5 Volts.
There are other environmental sensors in the market that can detect particles with the size of 1 micrometer (1Ám). This scale means that even pollen grains, and mildew spores can be detected. There is no information about this on GP2Y1010AU's datasheet except that it is stated that it can detect cigarette smoke.
0.6 mg/m3 of dust doesn't seem much when National Institute for Occupational Safety and Health (NIOSH)'s recommended wood dust is 1 mg/m3 and used to be 5mg/m3 for softwoods.


-Air purifier
-Air monitor for industry
-Device dust alert
-Fire Alarm (although Sharp Electroics wants to be informed if used in such system.)
More unusual apps:
-Vacuum cleaner robot
as in this guy's paper

Setup and Code

Setup is very straight-forward except the soldering. 6 pin connector header is small and very closed. I had to break one side of the header housing.
One important thing about the code is in order to turn the ILED on, you have to digitalWrite LOW on LED input terminal. Because the transistor that opens the drain is PNP type of transistor which needs negative base voltage.
I also added a buzzer which goes off when it detects smoke.

Arduino code
Processing Visualization


In most of these tests, I had watch if the smoke/dust went inside the whole.
Test1: Putting off a match

Test2: Cigarette Smoke

Test3: Burning Paper

Test4: Dust from my Rug

I was confused with the results because I wasn't expecting such high values from the 4th test where i just had some dust falling from my rug. Ok, i admit my rug hasn't been washed for a while but the voltage should only go up when the density is high, and compared to smoke, dust wasn't dense at all.

Things to watch out

- The metal side of the sensor's housing is connected to it's GND.
- It's not adviced to use this sensor for a fire alarm.
- In some cases the outside light coming through the whole from the front (black resin) side of the sensor can affect the output.
The sensor should be enclosed anyway.
-Soldering temperature is pretty low.


-What exactly is the sensitivity of this sensor? How small can the particles be?
-How can you tell the difference between the voltage pattern smoke or dust creates?