---
product_id: 321038145
title: "KEYESTUDIO Pm2.5 Sensor Pm2.5 Air Particle Monitor for Arduino Mega 2560 Uno R3 Nano Micro Pro Mini Raspberry Pi"
brand: "keyestudio"
price: "฿103"
currency: THB
in_stock: false
reviews_count: 5
url: https://www.desertcart.co.th/products/321038145-keyestudio-pm2-5-sensor-pm2-5-air-particle-monitor-arduino
store_origin: TH
region: Thailand
---

# Detects particles ≥0.8μm Ultra-low power max 20mA Wide temp range -10℃ to 65℃ KEYESTUDIO Pm2.5 Sensor Pm2.5 Air Particle Monitor for Arduino Mega 2560 Uno R3 Nano Micro Pro Mini Raspberry Pi

**Brand:** keyestudio
**Price:** ฿103
**Availability:** ❌ Out of Stock

## Summary

> 🌬️ Breathe smarter, monitor sharper — never miss a particle in your airspace!

## Quick Answers

- **What is this?** KEYESTUDIO Pm2.5 Sensor Pm2.5 Air Particle Monitor for Arduino Mega 2560 Uno R3 Nano Micro Pro Mini Raspberry Pi by keyestudio
- **How much does it cost?** ฿103 with free shipping
- **Is it available?** Currently out of stock
- **Where can I buy it?** [www.desertcart.co.th](https://www.desertcart.co.th/products/321038145-keyestudio-pm2-5-sensor-pm2-5-air-particle-monitor-arduino)

## Best For

- keyestudio enthusiasts

## Why This Product

- Trusted keyestudio brand quality
- Free international shipping included
- Worldwide delivery with tracking
- 15-day hassle-free returns

## Key Features

- • **Broad Compatibility:** Seamlessly integrates with Arduino Mega, Uno, Nano, Micro Pro Mini, and Raspberry Pi for versatile DIY projects.
- • **Robust Operating Range:** Operates reliably from -10℃ to 65℃, ensuring consistent performance in diverse environments.
- • **Energy-Efficient Monitoring:** Runs on ultra-low power (max 20mA), perfect for continuous air quality tracking without draining your setup.
- • **Precision Particle Detection:** Sharp optics & IR LED combo captures even cigarette smoke particles with finesse.
- • **DIY-Ready with Community Support:** Access detailed online tutorials and libraries to calibrate and customize your sensor for precise readings.

## Overview

The KEYESTUDIO PM2.5 Sensor is a compact, low-power air particle monitor designed for Arduino and Raspberry Pi platforms. Utilizing Sharp optics with IR LED and photoelectric transistor technology, it detects fine particles as small as 0.8μm, including cigarette smoke. Operating efficiently between -10℃ and 65℃ with a max current of 20mA, it offers reliable air quality monitoring for DIY air purifiers, conditioners, and environmental projects. Supported by comprehensive online tutorials, it empowers makers to calibrate and optimize sensor accuracy over a 5-year lifespan.

## Description

Specifications: Power Voltage: 5-7V Working Temperature: -10℃ to 65 ℃ Current Consumption:Max 20mA Detecting Value of Minimum Particle: 0.8μm Sensitivity:0.5V/(0.1mg/m3) Voltage of Cleaning Air: 0.9V(Typical) Storage Temperature: -20℃~80℃ Service Life:5 Years Size:62mm*36mm*20mm Applications: Air Purifier Air Conditioner Air Monitor PM2.5 Detector Shipping List: Dust Sensor x 1 ZH1.5MM6-pin wire x 1 Click the link to download the tutorials, test code and libraries: https://fs.keyestudio.com/KS0196

Review: Many people have suggested that it lacks documentation. I have found out that the led should turn on and off at the interval specified and the measurement should be taken at specific time in that period (the example code shows it good enough). I have plotted analog input value and vs. PM2.5 value obtained from a more reliable PMS5003 laser sensor. The slope of the graph is actually 0.05V per 100ug/m^3 (exactly 10 times less than the suggested.) The intercept is the bigger problem, it can be any value between 0.0V to 0.6V which is way larger than the sensitivity. It seems that each device would need calibration. My general guideline to calibration is picking the smallest voltage as the intercept and subtract approx 0.01V from it (as it is closest to the voltage you get at 0ug/m^3, 0.01V would be approx 20ug/m^3). After that I have measured 1000 times in one second and averaged it. This gives result with less noise. If you use following code you will get a OK accurate sensor: #include  #include  #include  LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); int measurePin = 0; //Connect dust sensor to Arduino A0 pin int ledPower = 5; //Connect 3 led driver pins of dust sensor to Arduino D5 int samplingTime = 280; int deltaTime = 40; int sleepTime = 9680; float voMeasured = 0; float calcVolt = 0; float dustDensity = 0; float temp = 0; float vMin = 1; //1v as intercept float initPM = 34; //initial PM where the device turns on void setup(){ Serial.begin(9600); lcd.begin(16,2); lcd.clear(); // Print a message to the LCD. lcd.setCursor(0,0); lcd.print("PM2.5="); lcd.setCursor(0,1); lcd.print("vMin(V)="); pinMode(ledPower,OUTPUT); } void loop(){ temp = 0; //measure 1000 times and average the result for (int i=0; i<1000; i++) { digitalWrite(ledPower,LOW); // power on the LED delayMicroseconds(samplingTime); voMeasured = analogRead(measurePin); // read the dust value digitalWrite(ledPower,HIGH); // turn the LED off //Serial.println(voMeasured); temp = temp + voMeasured; delayMicroseconds(deltaTime); delayMicroseconds(sleepTime); //delay(1000); } Serial.println(""); voMeasured = temp/1000; calcVolt = voMeasured/1023*5.0; if(calcVolt<vMin){ vMin = calcVolt; } dustDensity = (int)((calcVolt - (vMin + 0.01 - 0.05*initPM/100))/0.05*100); lcd.setCursor(7,0); lcd.print(dustDensity); lcd.setCursor(7,1); lcd.print(vMin); Serial.println(voMeasured); Serial.println(dustDensity); Serial.println(""); delay(100); } I have to say that the values themselves are not that reliable, but the change is quite reliable.
Review: UNOでは、予定数値に近い値が検出され一応満足しています。 ESP8266では、なぜだか分かりませんが、基本スケッチのままだと低い値しか出ず困りました。 キャリブレーションの基準がないので、詳しくは分かりません。

## Features

- Dust Sensor based on Sharp optics works well in detecting very delicate particle, like cigarette smoke, is a commonly used system of air purifier
- Contains IR LED and photoeletric transistor
- Arranging them with across corners can detect the reflected light of dust in the air
- It has a ultra-low power consumption(Max at 20mA, Typical at 11mA ), and can be equipped with sensors up to 7VDC
- How to use: search for "keyestudio wiki ks0196" in Google Chrome to get the wiki online tutorial for this product.

## Technical Specifications

| Specification | Value |
|---------------|-------|
| ASIN | B07B2PFPB5 |
| Item model number | ks0196 |
| Manufacturer | KEYESTUDIO |
| Package Dimensions | 11.18 x 5.08 x 3.56 cm; 99.79 g |

## Images

![KEYESTUDIO Pm2.5 Sensor Pm2.5 Air Particle Monitor for Arduino Mega 2560 Uno R3 Nano Micro Pro Mini Raspberry Pi - Image 1](https://m.media-amazon.com/images/I/51mzt6LH6CL.jpg)

## Questions & Answers

**Q: Is there detailed documentation available for how to interface this with Arduino?**
A: Yes it is available

**Q: How many of these can I connect to a single Arduino?**
A: Hi, just ensure the working voltage and circuit, you may connect six of these to a single arduino, each analog interface for 1 piece. please note it uses 5v and the maximum current is 20mA.

**Q: Can this sensor detect a specific thing that changes the air quality? like if the sensor were to suddenly have cigarette/vape/juul smoke blow onto it?**
A: Yes

**Q: El producto contiene algún certificado de calidad de medición?**
A: no, si lo tuviera, no costaría lo que cuesta, es más una referencia; estoy viendo que certificar las medidas obtenidas

## Customer Reviews

### ⭐⭐⭐⭐⭐ Review
*by A***7 on 13 May 2019*

Many people have suggested that it lacks documentation. I have found out that the led should turn on and off at the interval specified and the measurement should be taken at specific time in that period (the example code shows it good enough). I have plotted analog input value and vs. PM2.5 value obtained from a more reliable PMS5003 laser sensor. The slope of the graph is actually 0.05V per 100ug/m^3 (exactly 10 times less than the suggested.) The intercept is the bigger problem, it can be any value between 0.0V to 0.6V which is way larger than the sensitivity. It seems that each device would need calibration. My general guideline to calibration is picking the smallest voltage as the intercept and subtract approx 0.01V from it (as it is closest to the voltage you get at 0ug/m^3, 0.01V would be approx 20ug/m^3). After that I have measured 1000 times in one second and averaged it. This gives result with less noise. If you use following code you will get a OK accurate sensor: #include <dht.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); int measurePin = 0; //Connect dust sensor to Arduino A0 pin int ledPower = 5; //Connect 3 led driver pins of dust sensor to Arduino D5 int samplingTime = 280; int deltaTime = 40; int sleepTime = 9680; float voMeasured = 0; float calcVolt = 0; float dustDensity = 0; float temp = 0; float vMin = 1; //1v as intercept float initPM = 34; //initial PM where the device turns on void setup(){ Serial.begin(9600); lcd.begin(16,2); lcd.clear(); // Print a message to the LCD. lcd.setCursor(0,0); lcd.print("PM2.5="); lcd.setCursor(0,1); lcd.print("vMin(V)="); pinMode(ledPower,OUTPUT); } void loop(){ temp = 0; //measure 1000 times and average the result for (int i=0; i<1000; i++) { digitalWrite(ledPower,LOW); // power on the LED delayMicroseconds(samplingTime); voMeasured = analogRead(measurePin); // read the dust value digitalWrite(ledPower,HIGH); // turn the LED off //Serial.println(voMeasured); temp = temp + voMeasured; delayMicroseconds(deltaTime); delayMicroseconds(sleepTime); //delay(1000); } Serial.println(""); voMeasured = temp/1000; calcVolt = voMeasured/1023*5.0; if(calcVolt<vMin){ vMin = calcVolt; } dustDensity = (int)((calcVolt - (vMin + 0.01 - 0.05*initPM/100))/0.05*100); lcd.setCursor(7,0); lcd.print(dustDensity); lcd.setCursor(7,1); lcd.print(vMin); Serial.println(voMeasured); Serial.println(dustDensity); Serial.println(""); delay(100); } I have to say that the values themselves are not that reliable, but the change is quite reliable.

### ⭐⭐⭐⭐ Review
*by A***A on 3 January 2020*

UNOでは、予定数値に近い値が検出され一応満足しています。 ESP8266では、なぜだか分かりませんが、基本スケッチのままだと低い値しか出ず困りました。 キャリブレーションの基準がないので、詳しくは分かりません。

### ⭐⭐⭐⭐ Review
*by C***Y on 25 May 2021*

I found that on my sensor, the through hole on the board (for the air to flow through) was covered by double sided tape. I eased off the sensor from the board, cleared the hole and pushed the sensor back on, making sure the hole was clear and lined up. All now works OK.

---

## Why Shop on Desertcart?

- 🛒 **Trusted by 1.3+ Million Shoppers** — Serving international shoppers since 2016
- 🌍 **Shop Globally** — Access 737+ million products across 21 categories
- 💰 **No Hidden Fees** — All customs, duties, and taxes included in the price
- 🔄 **15-Day Free Returns** — Hassle-free returns (30 days for PRO members)
- 🔒 **Secure Payments** — Trusted payment options with buyer protection
- ⭐ **TrustPilot Rated 4.5/5** — Based on 8,000+ happy customer reviews

**Shop now:** [https://www.desertcart.co.th/products/321038145-keyestudio-pm2-5-sensor-pm2-5-air-particle-monitor-arduino](https://www.desertcart.co.th/products/321038145-keyestudio-pm2-5-sensor-pm2-5-air-particle-monitor-arduino)

---

*Product available on Desertcart Thailand*
*Store origin: TH*
*Last updated: 2026-02-02*