Just a few days go another PM2.5 and PM10 particle sensor has landed on my desk. This time is an SDS011, a sensor manufactured by Nova Fitness, a spin-off from the University of Jinan (in Shandong). It’s quite a popular sensor, being used in many citizen science projects, of which I mention the global air quality map maintained by luftdaten.info.
I bought it with the intent to use it to make a luftdaten.info monitoring station (and blog about it, of course). But first I will play with it for a few days, to see what it can do.
And of course, as I already have an HPMA115S0 sensor from Honeywell, it makes sense to put the two sensors together and compare their performance.
As a quick comparison between the two sensors we find a lot of things in common:
- both sensors use Laser-based light scattering particle sensing
- both sensors measure PM2.5 and PM10
- both sensors have a range of 0 μg/m3 to 1,000 μg/m3
- both sensors use serial communication to send particle data
- both sensors require 5V power
- the current draw is 100mA for SDS011 and 80mA for HPMA115S0
- both sensors use 3.3V logic levels
There are also some differences:
- each sensor comes with its communication protocol over UART
- SDS011 has a relative error of 10%
- HPMA115S0 has an accuracy of ±15%
- SDS011 returns dust data with two decimals
- HPMA115S0 returns data as an integer, with no decimals
- SDS011 sends dust data every second
- HPMA115S0 can perform measurements on demand
- Average live of SDS011 is 8000 hours in continuous mode
- HPMA115S0 will last for 20,000 hr (continuous mode)
- SDS011 has a hose connector for the air intake
Using the sensors with Arduino boards
To make a comparison of the two sensors I will connect both sensors to an Arduino Due board, and I will log the dust data on SD card.
The board of my choice is a Flip & Click from MikroElektronika, which I variant of an Arduino Due, plus four mikroBUS sockets. The reason for choosing the Arduino Due platform are:
- the board provides 5V power and has native 3.3V logic levels
- I already have a microSD click board in my inventory
- for the HPMA115S0 I have an adapter made from a PROTO click, which I have used in my first HPMA115S0 project.
Of course, one can use an Arduino Due, a breadboard and a generic SD card adapter with the same results. Just respect the wiring in my project, as follows:
- SDS011 uses Serial1
- HPMA115S0 uses Serial2
- The CS line for the SD card is digital pin 52
- The project used one diagnostics LED connected to digital pin 40. You can skip it if you wish.
As for the software, I used the following libraries:
The library for SDS011 appears as being incompatible with the Arduino Due. Trust me; it works fine for this blog post.
For the HPMA11sS0 I used my own library, described here.