Particulate Matter Pollution

PM sensor
The PM sensor (hidden in a grey pipe) mounted next to my Diamond x30n VHF/UHF antenna. A bit ugly, but we are on the 4th floor, so it doesn’t really matter and the windows are closed all day long.

There may be worse places on earth when it comes to Particulate Matter (PM) Pollution, but I happen to live next to a busy road with daily traffic jams and, as a consequence of that, have a dusty room that I need to clean almost every day. I also read about expats in countries like China or India who are complaining about the air quality in those places and who meticulously invest in good air filters for each room in their appartments. Good air filters are expensive! Hence, clean air seems to be be a commodity that also comes with a commercial value among other attributes. We take it for granted but complain when it isn’t available. And another issue with clean air is that you often don’t see the pollution – only the results. Polluted air reminds me of radioactivity or unhygienic surfaces: you don’t see it, hence can’t estimate the potential danger. That’s why a sensor to measure the Particulate Matter Pollution yourself is an approach to this open question.

Almost all the parts that you’ll need: a 6mm plastic tube, a pm sensor, the cpu/wlan-chip, some cables and – as an idea – two angled sewer pipes that are used as a waterproof rain cover. (photo (CC BY-SA 3.0) by

The DIY sensor

Having said that, let me tell you about the PM sensor I’ve just built. It’s an open source project, created by the Open Knowledge (OK) Lab Stuttgart here in Germany that makes use of a PM sensor and an open source IoT platform (NodeMCU). The parts are all ordered via from China, cost around EUR 30 and took about a month to arrive. The thing is that everyone can build this station, it really isn’t that difficult. OK Lab Stuttgart organize meetings where (young and old) interested folks gather and build their own sensors. It’s not a project that is limited to a few nerds and other freaks like me (who have an antenna on their window sill).

sensor values
What you see when you open the IP address of your local sensor: values for PM 2.5 and PM 10, as well as the temperature and humidity.

Once you have all parts, you just upload the firmware to the IoT chip (NodeMcu Esp8266 V3), connect the sensor with four cables (plug & play), connect a sensor for air temperature with another three cables and then plug it into any mobile USB charger. The device first tries to connect to an open router network (popular in Germany, called but eventually sets up it’s own access point after 300 seconds where you can log in and connect it to your local wireless network (WLAN). Everything around this project is free and open, the software is available via Github, the GUI may need to be translated to other languages and all measured values are then shared on an open map. My station is the third in Frankfurt, and there are certainly more to come.

assembled sensor
The assembled sensor on the table.

And then?

Hopefully, we will have less air pollution with electric cars in the future so that their only pollution may be the abrasion from vehicle tires. But until then it will be great to have our own network of sensors in this and other cities that will deliver some interesting data. And I am sure there are a lot more interesting results to be taken from such data, so the reasoning isn’t limited to define a level of pollution, but also enables us to see where pollution happens and how this could improve in city planing. Especially in my area there is a highway (A661) that should actually be covered with an overhead noise barrier, and pollution data from sensors along the highway could add some further arguments.

My sensor in Frankfurt, visualized on

Update: another blog post in English on this pm sensor setup.

Author: jke

Hi, I am an engineer who freelances in water & sanitation-related IT projects at You'll also find me on Twitter @jke and Instagram.

2 thoughts on “Particulate Matter Pollution”

Comments are closed.