Optical Dust Sensor with Cable – Smoke

  • Infrared optical sensing for accurate particle detection
  • Detects dust, smoke, and pollen in indoor environments
  • Fast response time (<1 second) and low power use
  • Compact build with lightweight materials
  • Plug-and-play with included 5-pin interface cable
  • Compatible with Arduino, ESP32, STM32, Raspberry Pi
SKU: aA1691 Categories: , Tags: ,

Apple Shopping Event

Hurry and get discounts on all Apple devices up to 20%

350,00 EGP

15 People watching this product now!

Payment Methods:

Description

This PM2.5 GP2Y1010AU0F Dust Smoke Particle Sensor is an infrared emitting diode (IRED) and a phototransistor are diagonally arranged into this device. It detects the reflected light of dust in the air. Especially, it is effective to detect very fine particle like the cigarette smoke. In addition, it can distinguish smoke from house dust by the pulse pattern of the output voltage.

The module is mainly used for dust removal equipment alarm equipment, air purification equipment, dust robots, fire alarm, etc. industry equipment can detect smoke particles, pollen spores, and other particles.

Applications:

1. Detecting of dust in the air.
2. Example: Air purifier, Air conditioner, the Air monitor.


Features :

  1. Compliant with RoHS directive (2002/95/EC)
  2. Compact, thin package (46.0 × 30.0 × 17.6 mm)
  3. Low consumption current (Icc: MAX. 20 mA)
  4. The presence of dust can be detected by the photometry of only one pulse
  5. Enable to distinguish smoke from house dust
  6. Lead-free and RoHS directive compliant

Package Includes :

1 x PM2.5 GP2Y1010AU0F Dust Smoke Particle Sensor.
1 x Connecting cable.
1x 150 Ω resistor.
1 x 220 μF capacitor.

🔌
Pin Connections
1 Table
Pin Connections Table 1
BoardSensor PinConnection
Dust SensorVCC/GND/LED/AOUT5V / GND / board digital pin (via 150 ohm resistor + 220uF cap) / board analog pin
📟
Optical Dust Sensor with Cable - Smoke
7 Examples • C/C++ | Boards: Arduino Uno, Arduino Nano, Arduino Mega, ESP32, ESP8266, STM32, Raspberry Pi Pico
Optical Dust Sensor with Cable - Smoke - Arduino Uno
Optical Dust Sensor with Cable - Smoke - Arduino Nano
Optical Dust Sensor with Cable - Smoke - Arduino Mega
Optical Dust Sensor with Cable - Smoke - ESP32
Optical Dust Sensor with Cable - Smoke - ESP8266
Optical Dust Sensor with Cable - Smoke - STM32
Optical Dust Sensor with Cable - Smoke - Raspberry Pi Pico
📄 File: optical_dust_sensor_with_cable_-_smoke_-_arduino_uno.inoArduino Uno
963 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin 2, analog out A0 on Arduino Uno
6#define LED_PIN 2
7#define AOUT_PIN A0
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 5.0 / 1023.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
📄 File: optical_dust_sensor_with_cable_-_smoke_-_arduino_nano.inoArduino Nano
964 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin 2, analog out A0 on Arduino Nano
6#define LED_PIN 2
7#define AOUT_PIN A0
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 5.0 / 1023.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
📄 File: optical_dust_sensor_with_cable_-_smoke_-_arduino_mega.inoArduino Mega
964 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin 2, analog out A0 on Arduino Mega
6#define LED_PIN 2
7#define AOUT_PIN A0
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 5.0 / 1023.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
📄 File: optical_dust_sensor_with_cable_-_smoke_-_esp32.inoESP32
957 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin 4, analog out 34 on ESP32
6#define LED_PIN 4
7#define AOUT_PIN 34
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 3.3 / 4095.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
📄 File: optical_dust_sensor_with_cable_-_smoke_-_esp8266.inoESP8266
961 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin D4, analog out A0 on ESP8266
6#define LED_PIN D4
7#define AOUT_PIN A0
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 3.3 / 1023.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
📄 File: optical_dust_sensor_with_cable_-_smoke_-_stm32.inoSTM32
963 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin PB4, analog out PA0 on STM32
6#define LED_PIN PB4
7#define AOUT_PIN PA0
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 3.3 / 4095.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
📄 File: optical_dust_sensor_with_cable_-_smoke_-_raspberry_pi_pico.inoRaspberry Pi Pico
969 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// LED-drive pin 2, analog out 26 on Raspberry Pi Pico
6#define LED_PIN 2
7#define AOUT_PIN 26
8
9void setup() {
10 Serial.begin(115200);
11 pinMode(LED_PIN, OUTPUT);
12 digitalWrite(LED_PIN, HIGH); // module's internal IR LED is active-LOW - idle it off between samples
13}
14
15void loop() {
16 digitalWrite(LED_PIN, LOW); // turn the IR LED on
17 delayMicroseconds(280);
18 int raw = analogRead(AOUT_PIN); // sample while the LED is on
19 delayMicroseconds(40);
20 digitalWrite(LED_PIN, HIGH); // turn the IR LED back off
21 delayMicroseconds(9680); // completes the ~10ms duty cycle the datasheet specifies
22
23 float voltage = raw * 3.3 / 4095.0;
24 float dustDensity = (voltage - 0.6) / 5.0 * 1000.0; // approximate datasheet formula, ug/m3 (needs real calibration)
25
26 Serial.print("Dust density (approx): "); Serial.print(dustDensity > 0 ? dustDensity : 0); Serial.println(" ug/m3");
27 delay(1000);
28}
Optical dust/smoke sensor, same GP2Y1010AU0F-style pulsed-LED sampling.

Specification

Specification

WeightWeight6 g
Dimensions3,2 × 2,2 × 1,1 cm
TypeOptical Dust / Particulate Sensor
ModelDSM501A / Compatible (typical)
Sensing MethodOptical / Infrared LED with Phototransistor
Output TypeDigital Pulse / Analog Voltage
Detection Particle Size0.5–10 µm (PM2.5, PM10)
Operating Voltage5 V DC
Current Consumption20 mA (typical)
Response Time<10 s
Cable Length30 cm (typical)
Operating Temperature-10°C to +60°C
ApplicationsAir Quality Monitoring, Smoke Detection, Environmental Monitoring, DIY Arduino / Raspberry Pi Projects
Package Contents1× Optical Dust Sensor with Cable – Smoke

Customer Reviews