How to Interface With Optical Dust Sensor





Introduction: How to Interface With Optical Dust Sensor

This tutorial is going to teach you basics on using Optical Dust Sensor.

Step 1: Introduction


Sharp's GP2Y1010AU0F is an optical air quality sensor, or may also known as optical dust sensor, is designed to sense dust particles. An infrared emitting diode and a phototransistor are diagonally arranged into this device, to allow it to detect the reflected light of dust in air. It is especially effective in detecting very fine particles like cigarette smoke, and is commonly used in air purifier systems.

To interface with this sensor, you need to connect to its 6-pin, 1.5mm pitch connector by using mating connector.


  • Low Current Consumption (MAX: 20mA)
  • Typical Operating Voltage: 4.5V to 5.5V (MAX: 7V)
  • The presence of dust can be detected by the photometry of only one pulse
  • Enable to distinguish smoke from house dust
  • Dimensions: 1.81 x 1.18 x 0.69'' (46.0 x 30.0 x 17.6mm)

Step 2: Pin Definition

Step 3: Sample Hardware Installation

Step 4: Sample Schematic

The above schematic is applicable to both Arduino Uno and Arduino Fio.

*For Arduino Uno, connect Pin Vo of GP2Y1010AU0F to Pin A5 of Arduino Uno. And also, Pin V-LED and Pin Vcc of GP2Y1010AU0F can be connected to either 5V or 3.3V of Arduino Uno.

Step 5: Sample Source Code

To get the result, please download the sample source code attached below and upload it into Arduino.

*Kindly download the datasheet of Optical Dust Sensor for your own reference and for understanding the coding written better.

Step 6: Ways to Open "Serial Monitor"

Step 7: Result (1)

The reading shown on Serial Monitor when the optical dust sensor is left in a room. The measurement of dust density obtained shows that the air only contains a low amount of dust.

Step 8: Result (2)

The reading shown on Serial Monitor when a pen is inserted into the dust detector area. The measurement of dust density obtained shows that there is a high amount of dust in the air.

Step 9: Video

This video shows how optical dust sensor works.

4 People Made This Project!


  • Microcontroller Contest

    Microcontroller Contest
  • Science of Cooking

    Science of Cooking
  • Pocket-Sized Contest

    Pocket-Sized Contest

We have a be nice policy.
Please be positive and constructive.


4 Questions

I tried simulating the sensor using CNY 70 in Proteus, as there is no module available for it in Proteus .Please check if there is any fault in the, as the analog reading is not changing with the change in sensor input .It shows a zero value .

I used your code.

dust sensor.png

Question: I have made this project thank you. May I copy your instructions and code to an USB drive where I keep all information regarding my Arduino sensors/modules/projects? It is hard to remember which website has which project so I like to save everything on a USB.

How to make dust sensor.. And who part stepwise describe?


What is the principle of the work of the dust sensor

What is the function of capacitor and resistors

Hi, Please help to do this project i have zero knowledge in this project but any how i need to do this project i bought dust sensor arduino uno and all but i could not able to do. So please request to help me to finish this. my mobile no 9944356300 if possible give your no i will call u and clear my doubt. kindly help me by sundar

i don't know where did you get the equation to calculate the dust density ?
(0.17*Voltage)-0.1 ??

i tried the equation with linear part of the curve in the datasheet it didn't give me the correct dust density ? did you change the unit ?


Why your code is in reverse mode ?

In your coude, you make reade with LED OFF ? Are you sure this is ok ??

Hi, senor is not workinG. Even we had inserted pen in the sensor but still its not working.!!!

how can i get PM2.5 value from dust density value please help

First of all thank you for sharing this instruction. It worked right the first time. However, I have an issue. When I place a pen or something in the hole, the Dust Density values plotted by the Monitor do not change much. They are varying between 0.08 and 0.15 as the following shows:

Raw Signal Value (0-1023):
Dust Density:

Does that indicate that the sensor is not working properly? I am using a WaveShare sensor shield and the wiring is double-checked as well. I appreciate any feedback :)

how did you get the equation for relating dust density and output voltage? it's not in the spec sheet.

Hi, the equation is derived from the given graph which inside the datasheet.