SDS011 seems to measure invalid data


a couple of weeks ago, I received this sensor from nettigo, mounted it outside and started taking measurements.

The data itself looked fine: a nice curve reacting to changes in daytime and weather. And it contained some level of jitter.

But it did always report values about a fifth of my neighboring sensors: When they report 20 ppm, I get 4. When they report 5, I get 1, and so on.

Today, I took my sensor to the exact location of some other sensors in the neighbourhood. The behavior remained exactly the same: it reported a value of about one fifth compared to the other sensors.

Do you have any ideas, what the issue can be? Is this some kind of known issue? Or is this normal behaviour?

I checked the sensor for physical damages and obstructions in the air-intake, of course. Everything looks perfectly fine IMO.

@AndiHoffi, do you live next to a street. If yes, then that might be the reason.
If not maybe check your WiFi quality and or power supply. This can lead to irrational data.
And make sure your sensor is air-accessable and doesn’t have some kind of filter (-ing object)…

I noticed something similar with my Nettigo kit . In my case the value needs to be multiplied with a factor of 1.9 to be consistent with other sensor at the same spot.This has been working well for more than a year.


I live close to an almost unused street.

But this should be irrelevant for the comparison, since I moved the sensor physically close to other sensors on the map. For that, I connected it to a 20W power bank and my smartphone’s hotspot-wifi. And I read the values from the sensor directly after it stabilized after a few measurements.

And there is nothing obstructing the air-flow.

@nephilim How do you get the multiplied value sent to the website?
If this is possible, I would probably “calibrate” my sensor while standing beside an official measurement-station.

I modified the source code and added a scaling factor which can be set via the GUI (see third text box). The PM value is updated with the scaled value directly after it is read from the sensor.

I know that I am not supposed to upload modified sensor data but on the other hand the original data is clearly wrong. After having observed the issue for almost half a year I applied the change and since one year everything looks consistent.

Unfortunately I have lost the modified code due to me being unable to use VS Code properly :frowning:

1 Like

Where did you get this configuration setting above from?

I thought I had explained it in my previous post… I downloaded the source code of the firmware and modified it.

EDIT: Apologies, I think I misunderstood you. Your Nettigo kit ( kit) is probably running the airrohr firmware, whereas the Nettigo Air Monitor kit (NAM) I am using has an additional heater, different casing and a different firmware (namf). The latter I modified. Nevertheless, the same change can be coded in the airrohr firmware.

1 Like