GitHub

SDS011 air quality sensor

??? tip "This feature is included only in tasmota-sensors and tasmota32 binaries"

When [compiling your build](Compile-your-build) add the following to `user_config_override.h`:
```c++
#ifndef USE_NOVA_SDS
#define USE_NOVA_SDS                    // Add support for SDS011 and SDS021 particle concentration sensor (+1k5 code)
  #define STARTING_OFFSET      30       // Turn on NovaSDS XX-seconds before tele_period is reached
#endif
```

Nova PM Sensor SDS011 can measure the air quality very accurately by measuring air particles or dust based on laser detection.

Specifications:

  • Voltage: 4.7 - 5.3V DC (5V DC with <20mV ripple advised)
  • Power consumption: 70mA ±10mA (in operation), <4mA (laser and fan sleep mode)
  • Measuring range: 0.0-999.9 μg/m3
  • PM2.5 and PM10 output

See manufacturer site for more information.

Configuration

Wiring

SDS011 ESP
GND GND
5V 5V
TX GPIO RX
RX GPIO TX

Tasmota Settings

In the Configuration -> Configure Module page assign:

  1. GPIO TX to SDS0X1 Tx (101)
  2. GPIO RX to SDS0X1 Rx (70)

screenshot-2021-10-14_08-36-17

To extend the lifetime of the sensor, you can use the command Sensor20 in association with setting TelePeriod for how often you want the fan to run and the sensor to be polled.

Tasmota Main

After reboot of the device the displays the SDS011 measurements.

OpenHab

Number Dust_Sensor_2_5 "PM 2.5 [%.2f µg/m³]" <door> (Dust) {mqtt="<[mosquitto:tele/dust/SENSOR:state:JSONPATH($.SDS0X1['PM2.5'])]"}
Number Dust_Sensor_10  "PM 10 [%.2f µg/m³]" <door> (Dust) {mqtt="<[mosquitto:tele/dust/SENSOR:state:JSONPATH($.SDS0X1['PM10'])]"}

Read the original on github.com ↗