Air Pollution Monitor

My family has the occasional opportunity to visit my wife’s and my home town. That is always a joyful time; we are excited to see the grandparents, parents, the rest of the family, as well as our old and dear friends. Unfortunately, during the last couple of years, those visits include certain restlessness – and this is due to air pollution. That is the reason why I have decided to make a small personal contribution to the potential solution of this problem.

Niš (foto: Vanja Keser/JV)

Since the air quality measuring is not performed in a robust, reliable, systematic and transparent way, I have decided to tackle that side of the problem – by building air pollution monitoring nodes.

Air Quality parameters

There is a number of pollutants that can influence the quality of the air: SO2, NO2, PM2.5, PM10, Pb, CO, Benzene, Ozone, … Increased concentrations of each of these pollutants have different negative effects on human health.

Primary air pollutants and their sources (IEA (2016), p.26)

More about this can be found on European Commission portal for Environment.  The portal also includes various assessment methods, standards (including the permitted levels of pollution) and legislation around this topic. 

A really interesting read is the latest 2018 report on the quality of the air quality in Europe. In this report, one can see, for example, that Serbia is the second “best” (!) in Europe in the category of the years of life lost (YLL) due to the particulate matter pollution.

More about the particulate matter can also be found on Wikipedia.

System concept

Air pollution and climate change are closely related. The second one is among the top 5 threats to penguins. That was the inspiration to design the air pollution monitoring story around the penguin; to name the whole system Pengy, and even have monitoring nodes in the shape of penguins.

Pengy – The system concept

The concept is straightforward: sensors are sensing the relevant air parameters, the microprocessor does the acquisition and sends the processed results via LoRaWAN network to The Things Network platform. Integration to Thingy system persists the results and does the visualization.


In order to keep the design of the initial version simple, I have decided to measure just the basic air parameters: temperature, humidity, respirable (<10μm) and fine (<2.5μm) particulate matter concentrations.

For measuring the temperature (T) and the humidity (RH), I used standard sensor AM2302. This is a low-cost sensor that uses capacitive and thermal methods of measurement.

Temperature and Humidity sensor
Temperature and Humidity sensor

For measuring the particulate matter concentrations (PM2.5 and PM10), I used SDS021 from Nova Fitness Co. This is a laser-based particulate matter counter that detects both PM2.5 (fine) and PM10 (respirable) particles.

Particulate Matter sensor

The temperature and the humidity are sampled every 5 minutes, the respirable and fine particulate matter concentrations are sampled every 10 minutes. Every 20 minutes, all those values are averaged, then transferred and persisted.


The penguin shape design for the enclosure was prototyped first. For this I had unexpected help from my two kids – after googling for ideas together, they built those guys themselves using toilet paper roll, papers, pencils, and glue. Awesome!

The enclosure prototyped by kids

I tried to keep the enclosure as simple as possible, as well as affordable to be built from the common off the shelf components. This included: 70mm PVC water pipe, electric junction cover and L shape holder, some custom made plywood base to hold all mechanical and electrical components together and nice penguin cover printed on A4 paper.

The enclosure finalized

Since the node was to be mounted outside, the whole enclosure was sprayed with transparent water resistant spray.


The “heart” of the physical node is a microprocessor. I have chosen already proven LoRa32u4II (both versions 1.0 and 1.2). It is Atmega32u4 based with 868MHz LoRa radio module on-board.


There were multiple options for the LoRaWAN antenna; I have chosen the simplest 868MHz whip antenna – ~82mm long wire.

The firmware is based on the Arduino platform and available on the project GitHub.

Integration- LoRaWAN / The Things Network / Thingy

The collected measurements are transferred using the LoRaWAN network – the infrastructure is the part of crowdsourced efforts done by The Things Network community in Niš.

The measurements end into the backend part of the system – an “application” on The Things Network platform. The payload function is available on the project GitHub.

The Things Network application

The data is later pushed to the Thingy platform.

Additional integrations have been implemented: to the great Citizen Science project Luftdaten, and to the fabulous crowd-sourcing environmental data gathering platform


Prior to the installation, there was one week of testing, debugging, tweaking and cross-calibrating the sensors. 


In the first deployment wave (January 2019), there have been 3 pengies installed in 3 final locations through the city of Niš, Serbia.

Pengy – Pecky
Pengy – Chubbers
Pengy – Beaky

At the moment only basic visualization is available. As mentioned above, there are two main integrations performed.

In Thingy system, data is persisted and visualization is available in the forms of graphed time series.

Pengy – Monitor

In Luftdaten, data is saved and shown on the map. Up to date air monitoring results can be found under and

Luftdaten – Niš

Integration with platform enabled comparative visualization of various environmental parameters – – Niš
Building a Pengy

Interested in building the monitor yourself? The components needed to build a Pengy are shown in the picture below:

Pengy Node BOM

All needed information (firmware, integration code, enclosure drawings, …) is available on project GitHub repository

The next step(s) ?

There is a number of possible steps from this point – most of them require wider local community support and enthusiasm:

    • extending the coverage of this DIY air quality monitoring solution through crowdsourcing
    • organizing the workshop for assembling the pengies
    • collaboration with environmentally aware groups
    • building much handier visualization
    • air quality notification


© 2018 – 2019, Quo Vadis ?. All rights reserved.

 2,233 total views,  1 views today

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.