Skip to main content

Grove - Dust Sensor

This Dust Sensor gives a good indication of the air quality in an environment by measuring the dust concentration. The Particulate Matter level (PM level) in the air is measured by counting the Low Pulse Occupancy time (LPO time) in given time unit. LPO time is proportional to PM concentration. This sensor can provide reliable data for air purifier systems; it is responsive to PM of diameter 1μm.

  • This sensor uses counting method to measure dust concentration, not weighing method, and the unit is pcs/L or pcs/0.01cf.
  • Please pay attention to the warnings listed here:
    • Please keep it upright.
    • 3 min preheat time is required while using for the first time.
    • Arbitrary operation may cause unexpected damage.
    • Following widgets (red rectangle marked) is used only for the factory setting. Please DO NOT change the default configuration.


Product VersionChangesReleased Date
Grove-Dust Sensor V1.0InitialNov 2012


  • Stable and sensitive detection of not only cigarette smoke but also house dust which are indoor asthma triggers.
  • Air is self-aspirated with the current of air generation mechanism with a built-in heater.
  • Easy maintenance. High sensitivity lasts long term.
  • Dual output for the particle size over 1 micron and 2.5 micron (approx).
  • More compact and lighter, and easy installation.

More details about Grove modules please refer to Grove System


Standby Current Supply90mA
Detectable range of concentration0~28,000 / 0 ~ 8000pcs/liter / pcs/0.01cf
Operating Temperature Range0~45°C
Output MethodNegative Logic, Digital output, High: over 4.0V(Rev.2), Low: under 0.7V-
Detecting the particle diameter>1μm
Dimensions59(W) × 45(H) × 22(D)mm
Humidity Range95% rh or less-
In the latest version, output Hi Voltage is changed from 4.0V to 4.5V.

Platforms Supported

ArduinoRaspberry Pi

The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

Application Ideas

  • Air Purifier
  • Air Quality Monitor
  • Air Conditioner
  • Ventilator

Getting Started


If this is the first time you work with Arduino, we firmly recommend you to see Getting Started with Arduino before the start.

Play With Arduino


  • Step 1. Prepare the below stuffs:
Seeeduino V4.2Base ShieldGrove-Dust Sensor
enter image description hereenter image description hereenter image description here
Get One NowGet One NowGet One Now
  • Step 2. Connect Grove-Dust Sensor to D8 port of Grove-Base Shield.
  • Step 3. Plug Grove - Base Shield into Seeeduino.
  • Step 4. Connect Seeeduino to PC via a USB cable.


If we don't have Grove Base Shield, We also can directly connect Grove-Dust Sensor to Seeeduino as below.

SeeeduinoGrove-Loudness Sensor


  • Step 1. Please copy below code to Arduio IDE and upload to arduino. If you do not know how to upload the code, please check how to upload code.
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
lowpulseoccupancy = 0;
starttime = millis();

  • Step 2. 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 get air quality's value detected by sensor from PC's serial port.


  • "Lowpulseoccupancy" represents the Low Pulse Occupancy Time(LPO Time) detected in given 30s. Its unit is microseconds.

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

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

  • Here is a graph of the dust concentration measured in office :

We can see the concentration of dust is very low in the evening, but it is higher in the afternoon. A threshold can be set when the concentration is above a value. Also, if you want to 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.

Play With Raspberry Pi


  • Step 1. Prepare the below stuffs:
Raspberry piGrovePi_PlusGrove-Dust Sensor
enter image description hereenter image description hereenter image description here
Get One NowGet One NowGet One Now
  • Step 2. Plug the GrovePi_Plus into Raspberry.
  • Step 3. Connect Grove-Dust Sensor to D2 port of GrovePi_Plus.
  • Step 4. Connect the Raspberry to PC through USB cable.


  • Step 1. Follow Setting Software to configure the development environment.
  • Step 2. Git clone the Github repository.
cd ~
git clone

  • Step 3. Excute below commands to monitor the dust.
cd ~/GrovePi/Software/Python

Here is the code.

import time
import grovepi
import atexit


print("Reading from the dust sensor")
while True:
[new_val,lowpulseoccupancy] = grovepi.dustSensorRead()
if new_val:

except IOError:
print ("Error")

  • Step 4. We will see the dust status as below.
pi@raspberrypi:~/GrovePi/Software/Python $ python 
Reading from the dust sensor

If you want to make some awesome projects by Grove - Dust Sensor, here is a project for reference.

Air Quality Box

This section an IoT demo made by Seeeduino and Grove.

More attention is being paid to the environmental air quality nowadays because the tiny particles in the air around 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 not reflect the environment around you accurately.


Q1: How can Grove - Dust Sensor (with 5V logic) be used with Seeeduino Stalker (with 3.3V logic)?

A1: The output signal from Dust Sensor needs to be scaled down to 3.3V logic to work with Seeeduino Stalker (or any such board). The output from Dust Sensor is 0.7V for Logic Low and greater than 4.0V for Logic High. You could use a voltage divider to scale the output to be compatible with 3.3V logic or use a TTL logic level translator.



Air Quality Box: Monitor air quality around you

Smart Crops: Implementing IoT in Conventional Agriculture!: Our mission with nature is to preserve it, designing and implementing technologies and monitoring methods with the help of IoT via Helium.

LoRa IoTea: An automatic information collection system applied to tea plantation. It is part of intelligent agricultural information collection.

Tech Support & Product Discussion

Upgradable to Industrial Sensors

With the SenseCAP S2110 controller and S2100 data logger, you can easily turn the Grove into a LoRaWAN® sensor. Seeed not only helps you with prototyping but also offers you the possibility to expand your project with the SenseCAP series of robust industrial sensors.

The IP66 housing, Bluetooth configuration, compatibility with the global LoRaWAN® network, built-in 19 Ah battery, and powerful support from APP make the SenseCAP S210x the best choice for industrial applications. The series includes sensors for soil moisture, air temperature and humidity, light intensity, CO2, EC, and an 8-in-1 weather station. Try the latest SenseCAP S210x for your next successful industrial project.

Loading Comments...