Let's Ping It

Pollution Watcher

IoT platform to monitor pollution levels.
Commit your changes and pull request when a new feature has been added. If any doubt or question you can create an issue and we'll be there to help you.


Pollution is a real problem in cities from all over the world. For example, Madrid ranks first on the list of European cities with more deaths due to pollution. We need better measurements to know where are the critical areas of pollution to act much intelligently and cost-effectively as possible and with expensive equipements and stations I'm afraid it'll take longer.

How we solve it

We want to solve 3 problems related to that:
  • Price: setting up a pollution station can be really expensive. City councils cannot always afford to spend huge amounts of their budgets. Therefore, it becomes difficult or almost impossible to have many of those stations in the cities so we can get better data on the state of every neighborhood.
  • Scalability: another important aspect is to make the system able to easily increase the number of sensors without changing the physical architecture, making it kind of a plug-and-go solution.
  • Easiness of use: it has to be easy to use and understand.

Technical description

Collect pollution levels from different sensors and create an API to display an interactive map in real-time with the obtained values.
We can use O3, CO, CO2, NO2 or SO2 sensors connected to a Raspberry Pi to obtain the data and upload it to a database such as MongoDB. Then implement an API to represent on an interactive map, for example, using the OpenStreetMap, the location of each station and the data obtained in real-time.
The goal of this project is to make a fully functional platform as cheap as possible.


  1. 1.
  2. 2.
  3. 4.
    • Temperature
    • Humidity
    • O3 sensor (Ozone)
    • CO sensor (Carbon Monoxide)
    • CO2 sensor (Carbon Dioxide)
    • NO2 sensor (Nitrogen Dioxide)
    • SO2 sensor (Sulfur Dioxide)
Get all stations
Get info from a specific station
Get data from a given station's sensor
Update new coordinate for a given station