Grove - Dust Sensor

From Wiki 来自痴汉的爱
(Redirected from Grove - Dust sensor)
Jump to: navigation, search




This Dust Sensor measures the Particulate Matter level in air by counting the Lo Pulse Occupancy time(LPO time) in given time unit. LPO time is in proportion to PM concentration. This sensor can provide you pretty reliable data for air purifier system because it's still responsive to particulates whose diameter is 1um. Note: This sensor use counting method to test dust concentration but not weight method, and the unit is pcs/L or pcs/0.01cf.

Dust sensor.JPG


  • Highly responsive
  • Reliable
  • ROHS/PEACH compliant

Note: New version updates output Hi Voltage from Approx. over 4.0V change to Approx over 4.5V.

Application Ideas


  • Please keep it upright.
  • 3 min preheat time is required when used at the first time.
  • Arbitrary operation may cause unexpected damage.
  • Pins VR1 and VR2 come preset. Please DON'T change the default configuration.


Items Min Norm Max Unit
VCC 4.75 - 5.25 V
Standby Current Supply - 90 - mA
Detectable range of concentration - 0~28,000 / 0 ~ 8000 - pcs/liter / pcs/0.01cf
Operating Temperature Range 0 - 45 °C
Output Method Negative Logic, Digital output,Hi over 4.0V(Rev.2) Lo: under 0.7V
Detecting the particle diameter >1 um
Dimensions 59(W) × 45(H) × 22(D) [mm]
Humidity Range 95%rh or less


Here is a demo to show you how to obtain PM concentration data from this Grove - Dust Sensor.

1. Plug the dust sensor into digital port D8 on the Grove - Base Shield. It can only be D8, because the operation of this sensor involves sampling, a function only can be achieved by D8, the capture input pin of Atmage328P, on Arduino/Seeeduino. 
Also you can connect Grove - Dust sensor to Arduino UNO without Base Shield :

Arduino UNO Dust Sensor
5V Red wire
GND Black wire
Digit 8 Yellow wire

2. Copy and paste the demo code below to a new Arduino sketch.

/* Grove - Dust Sensor Demo v1.0
 Interface to Shinyei Model PPD42NS Particle Sensor
 Program by Christopher Nafis 
 Written April 2012
 JST Pin 1 (Black Wire)  => Arduino GND
 JST Pin 3 (Red wire)    => Arduino 5VDC
 JST Pin 4 (Yellow wire) => Arduino Digital Pin 8

int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;//sampe 30s ;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;

void setup() {
  starttime = millis();//get the current time;

void loop() {
  duration = pulseIn(pin, LOW);
  lowpulseoccupancy = lowpulseoccupancy+duration;

  if ((millis()-starttime) > sampletime_ms)//if the sampel time == 30s
    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
    Serial.print("concentration = ");
    Serial.println(" pcs/0.01cf");
    lowpulseoccupancy = 0;
    starttime = millis();

In this program, the seeeduino samples the total duration of "logic low" in 30s, and this duration illustrates the dust density of environment. Open serial monitor, we can read air quality's value detected by sensor from pc serial port.

Dust sensor 1.png

The result above consists of three parts: lowpulseoccupancy, ratio and concentration.

"lowpulseoccupancy" represents the Lo Pulse Occupancy Time(LPO Time) detected in given 30s. Its unit is microsecond.

"ratio" reflects on which level LPO Time takes up the whole sample time.

"concentration" is a figure that has physical meaning. It's calculated from the characteristic graph below by using the LPO time.

Here is a figure we tested dust concentration in office :

Dust sensor 4.jpg
We can see the concentration of dust is very low in the evening, but it's higher in the afternoon. Maybe you can set a threshold value while the concentration is beyond a value. Also, if you wanna set the sensor more sensitive you can add a fan on the sensor, and add a 10k resistor between the Pin5 and Ground. More information please visit the blog of A.J.


Grove_-_Dust_sensor datasheet
De-construction of the Shinyei PPD42NS dust sensor Made by Tracy Allen


Building a low-cost networked PM2.5 monitor -- Made by A.J.
Measuring the Pickle Jr. – a modified PPD42 with an attached fan. -- Made by A.J.
Testing the Shinyei PPD42NS -- Made by darell tan
Air Quality Monitoring -- Made by Chris Nafis


If you have questions or other better design ideas, you can go to our forum or wish to discuss.

Related Projects

If you want to make some awesome projects by Dust Sensor, here's some projects for reference.

Air Quality Box


This is an IoT demo make by Seeeduino and Grove.

More and More concern are being paid to the environmental air quality nowadays because the tiny granule in the around air can badly endanger people’s health. We always get the information of environment from our government department. But it’s the average value of the whole city / section. It can’t reflect the situation near by you accurately.

I want to make it.

Share Your Awesome Projects with Us

Born with the spirit of making and sharing, that is what we believe makes a maker.

And only because of this , the open source community can be as prosperous as it is today.

It does not matter what you are and what you have made, hacker, maker, artist and engineers,

as long as you start sharing your works with others,

you are being part of the open source community and you are making your contributions .

Now share you awesome projects on with us on Recipe, and win a chance to become the Core User of Seeed.

  • Core Users, are those who showing high interests and significant contributions in Seeed products.
  • We cooperate with our Core Users in the development of our new product, this, in another word, the Core Users will have the chance to experience any new products of Seeed before its official launch, and in return we expect valuable feedback from them to help us improving the product performance and user experience. And for most of cases if our Core Users have any good ideas for making things, we'll offer hardware pieces, PCBA services as well as technical support. Besides, further commercial cooperation with the Core Users is highly possible.

Get more information about Core User please email to: [email protected]

Personal tools