logo elektroda
logo elektroda
X
logo elektroda

Suspended dust sensor SDS011 PM2.5 PM10 - commissioning, test

TechEkspert  36 14088 Cool? (+13)
📢 Listen (AI):

TL;DR

  • SDS011 Nova Fitness laser dust sensor for PM2.5 and PM10 is commissioned and tested with an Arduino UNO.
  • The sensor uses a 5V supply, UART at 3.3V logic, and outputs binary concentration data for PM2.5 and PM10.
  • It costs about $20, draws ~65mA in operation and ~2mA in sleep, and the manufacturer rates it for 8000 hours.
  • Indoor readings stayed around 10-20 ug/m3, blocking the inlet dropped values to single digits, and opening a window raised them to several dozen.
  • The airflow turbine produces a low hum, so cyclic operation every 15 minutes for 30 seconds is recommended.
Generated by the language model.
The laser SDS011 sensor from Nova Fitness is available on auction portals for ~ $ 20 SDS011 . The device has an air inlet and an air suction turbine. 5V power supply, UART communication interface works with 3.3V voltage level. Information about PM2.5 and PM10 dust measurements is available as incoming data via UART interface or as variable filling of square waveforms available on the interface. Through the UART interface, we can put the device into sleep mode, and configure operating modes, e.g. cyclical entering into sleep mode and waking up to perform the measurement. Information about the sensor can be found on the manufacturer's website: SDS011 . A USB UART converter was delivered with the device, but due to the binary format of the output data, I used Arduino UNO to test the module.

The life of the sensor is limited to 8000 hours, so it is worth taking measurements cyclically, e.g. every 15 minutes, starting the device for 30 seconds. During operation, the sensor consumes ~ 65mA, while in sleep mode ~ 2mA. The air suction turbine produces a low hum during operation.

In a closed room, the display values fluctuated around ~ 10-20ug / m3. When the air intake is blocked, the displayed values have dropped to single units. Opening the window increased the value to several dozen. I also went to the sensor area airly receiving similar indications (different by + -10). I have no other way of checking the device, but it seems to be working fine.
[movie: 27efcedd85] https://filmy.elektroda.pl/8_1541353265.mp4 [/ movie: 27efcedd85]

In the Arduino environment you will find many libraries to help you run the sensor, just search for the phrase SDS011, e.g. https://github.com/lewapek/sds-dust-sensors-arduino-library The communication protocol is quite well described in the specification on the manufacturer's website, so to first attempts, makeshift code can be used.

Below is the test code, after uploading it to the Arduino UNO, connect the appropriate pins of the module to the RX / TX. In the serial console we will see the values of the concentration of PM2.5 and PM10 in the air sucked in by the sensor.
[syntax=c]byte data_buff[10];
byte data_count=0;
byte data_rdy=0;

void setup() {

Serial.begin(9600);
}

void loop() {
byte data;
int pm25,pm10;


if(Serial.available() > 0){
data = Serial.read();

if(data_rdy==0){
if(data_count==0 && data==0xAA){
data_buff[data_count]=data;
data_count++;
}else if(data_count==1 && data==0xC0){
data_buff[data_count]=data;
data_count++;
}else if(data_count>1 && data_count 0){
data = Serial.read();

if(data_rdy==0){
if(data_count==0 && data==0xAA){
data_buff[data_count]=data;
data_count++;
}else if(data_count==1 && data==0xC0){
data_buff[data_count]=data;
data_count++;
}else if(data_count>1 && data_count

About Author
TechEkspert
TechEkspert wrote 7020 posts with rating 5445 , helped 16 times. Been with us since 2014 year.

Comments

Dawid90u 04 Nov 2018 23:08

Hi, I also have the above-mentioned smog sensor. I am designing a small station that measures temperature, pressure, humidity and pollution. Unfortunately, the project goes on and on due to lack of time,... [Read more]

TechEkspert 04 Nov 2018 23:24

Thanks for the hint. The sensor will be close to the window, and the display will be deep in the room. I have two options: the sensor outside the window in a junction box or in another housing with air... [Read more]

blue_17 05 Nov 2018 01:06

I tested about 10 different pollution sensors, even a design was made based on my experience. https://web.facebook.com/smoksensor/ Recently, I even read a report on low-cost smog sensors prepared,... [Read more]

AGrodecki 05 Nov 2018 01:48

qwerty asdfg zxcvb [Read more]

MiiiM 05 Nov 2018 08:43

I use this sensor at home to control my own air purifier. The sensor wirelessly communicates with the purifier and the latter, based on its indications, controls the operation of the fan. It works fine... [Read more]

gdL 05 Nov 2018 08:44

I am curious if you can develop your own sensor using a 3D printer to create its housing and a phototransistor (too slow?) Or a photodiode (faster) IR in tandem with a rail to rail operational amplifier... [Read more]

blue_17 05 Nov 2018 10:15

Hello The most "classic" dust sensor is a photo diode transimpedance amplifier and a transmitting diode with a lens. I saw a design with a printed chamber was ok, but you can't do it for $ 5, the... [Read more]

cas-it-solutions 05 Nov 2018 11:19

I recommend a sensor that I bought recently: https://allegro.pl/laserowy-czujnik-smogu-8w1-pylomierz-pm-10-2-5-1-0-i7644909794.html?reco_id=43e609f0-e0e2-11e8-9f25-246e9677f8d8 The sensor has a high-quality... [Read more]

TechEkspert 05 Nov 2018 18:34

The topic of dehumidification and sensor calibration is something new to me. I wonder how they calibrate? They throw a measured amount of dust into a container of a certain volume and after starting the... [Read more]

CosteC 05 Nov 2018 20:05

Only gentlemen, you forget that such drying will also bind some of the dust on the wet elements of the dryer and the measurement will be low. Heating it up won't do that. In both cases, battery operation... [Read more]

Robstar 05 Nov 2018 21:25

If you want to expand the station with additional sensors, e.g. humidity, it is good to add the Scheduler library, delay stops the whole process. I have a station on pms7003 + esp8266 outside and the... [Read more]

blue_17 05 Nov 2018 22:40

You always have to center or a small number of professional stations distributed according to EU directives sometimes in bad places but sometimes there was no better idea to please the EU :( or exercising... [Read more]

czareqpl 06 Nov 2018 13:49

I would recommend a smaller solution than the sensirion SPS30. [Read more]

TechEkspert 06 Nov 2018 19:21

Something new this SPS30, how with availability? I can only see in digikey. [Read more]

czareqpl 06 Nov 2018 19:37

Democrats have LT of a dozen or so weeks due to the drought in FTDI on FT232RL, similarly, the SPS30 itself has approximately 12 weeks of LT. Recently I ordered samples and they will not arrive until December,... [Read more]

TechEkspert 06 Nov 2018 19:42

When they come in December, is there a chance for material about them? [Read more]

czareqpl 06 Nov 2018 19:52

I can scratch something when I take a borrowed demo from a client because I don't want to stick to the adapters ;) Besides, I can also upload a presentation from the manufacturer. Measurements during... [Read more]

AGrodecki 06 Nov 2018 20:30

qwerty asdfg zxcvb [Read more]

blue_17 07 Nov 2018 09:33

Could you give us a link to details? In my opinion, if the detector will actually be calibrated, and the lifetime according to the manufacturer is 8 years with 24/7 operation, which I doubt, the price... [Read more]

FAQ

TL;DR: For ≈$20, the SDS011 laser sensor measures PM2.5/PM10, draws 65 mA active, and lasts 8 000 h; “calibration shows trends” [Elektroda, TechEkspert, #17538816; Elektroda, blue_17, #17539125]. Why it matters: DIYers get near-real-time smog data but must manage lifetime and accuracy.

Quick Facts

• Particle range: 0.3 – 10 µm, output 0–999 µg/m³ [Nova Fitness, SDS011 datasheet] • Active/Sleep current: 65 mA / 2 mA @ 5 V [Elektroda, TechEkspert, post #17538816] • Rated laser life: 8 000 h (≈3 years at 8 h/day) [Elektroda, TechEkspert, post #17538816] • Recommended humidity window: 20 – 60 % RH for laser accuracy [Elektroda, blue_17, post #17539125] • Typical street-price: US $18–25 including USB-UART dongle [AliExpress search; Elektroda, TechEkspert, #17538816]

What does the SDS011 actually measure?

The module uses a 650 nm laser and photodiode to count light‐scattering particles, then converts counts to mass concentration of PM2.5 and PM10 (µg/m³) [Nova Fitness, SDS011 datasheet]. It ignores gases such as CO or NO₂, so car-exhaust readings stay flat [Elektroda, cas-it-solutions, post #17539522]

How do I connect the sensor to an Arduino?

Power the SDS011 from 5 V. Connect TX→D2 and RX→D3 through a 5 V-to-3.3 V divider or use 5 V-tolerant pins. Use 9600 bps UART. The demo code in the thread parses the 10-byte frame and prints PM values [Elektroda, TechEkspert, post #17538816]

Can I extend the 8 000 h laser life?

Yes. Cycle power: run 30 s every 15 min, reducing duty cycle to 3 % and theoretical life to >11 years [Elektroda, TechEkspert, post #17538816] Use the sleep command (0x06) via UART to stop the fan and laser between samples.

How accurate is the SDS011 without calibration?

Field tests near certified stations showed ±10 µg/m³ deviation at moderate levels [Elektroda, TechEkspert, post #17538816] Studies found uncalibrated low-cost lasers can overestimate by ~30 % above 150 µg/m³ [blue_17 summary, #17539125]. Calibration against a reference or gravimetric sampler improves correlation by up to 97 % [Elektroda, czareqpl, post #17542787]

What quick calibration method can hobbyists use?

  1. Place the SDS011 beside a local government station for 24 h.
  2. Log both datasets; compute linear regression (y=mx+b).
  3. Apply slope and offset in firmware. This trims systematic error below ±10 % in city tests [AGH report cited by blue_17, #17543702].

What alternatives exist to the SDS011?

• Plantower PMS5003: bigger chamber, similar price, overestimates at high PM [Elektroda, blue_17, post #17539125] • Sensirion SPS30: smaller, I²C output, floating-point data, rated 8-year 24/7 life but costs ≈€50 and has 12-week lead time [Elektroda, czareqpl, #17542752; blue_17, #17725418].

Can I 3-D-print my own optical dust sensor?

Possible but tricky. You must align LED/laser and photodiode within <0.1 mm and control airflow. Calibration requires reference equipment; TI’s TIDA-00378 shows the complexity. "It’s all in the details" [Elektroda, blue_17, post #17539426] DIY units often cost more than ready modules and lack repeatability.

How do I implement cyclic sampling in firmware?

Use this 3-step routine:
  1. Send sleep-exit command (0x01) and wait 30 s for airflow.
  2. Read five frames; average PM2.5/PM10.
  3. Send sleep command (0x06); delay 14 min 30 s. This keeps hourly energy below 20 mWh while staying within laser lifetime spec [Elektroda, TechEkspert, post #17538816]
Generated by the language model.
%}