The Internet of Things is becoming ubiquitous. It can be used to have a positive impact on the world. And in our ever-changing world, it is never too early to become a maker.

A group of students at Marie Curie High School in Milano, Italy – Alberto Varisco, Alessandro Bason, Gerardo Palmiotto, and Simone Passeggiati – together with myself and fellow teacher Mr Vincenzo De Lizzi, decided to develop an air-pollution monitoring system, which allowed them to explore topics such as CSS, LAMP, and Javascript.

The air-pollution monitoring system is composed of three stations placed in their town. Each station detects PM10 – particulate matter 10 micrometers or less in diameter – and PM2.5 – particulate matter 2.5 micrometer or less in diameter – and shows the resulting measurements on Google Maps. We wanted to share our approach so fellow makers could replicate the process and start measuring air pollution in their area too.

A single station is composed by a ESP8266 microcontroller which is a low-cost Wi-Fi microchip connected to a SDS011 air-pollution sensor. A fan mounted on the sensor automatically sucks the surrounding air in. The sensor uses the laser light scattering principle to measure the amount of dust particles suspended in the air. The sensor then provides readings of PM2.5 and PM10 values.

The ESP8266 microcontroller reads digital data from the SDS011 sensor and stores them to a database on the Internet. All air-pollution stations are mounted in the school’s Wi-Fi network area or at the students’ home Wi-Fi network area. Every measurement is a string of values including PM10, PM2.5, date and time, and geo-localization coordinates. The students planned a five-minute sampling frequency.

We created a simple database in MySQL to store the measurements. It basically has two tables: a sample table which stores samples data, and a positions table which stores all data concerning each air-pollutions monitoring station. Everything was programmed in PHP. The PHP pages receive data sent from stations and store them into the tables.

The client-side website was programmed in Javascript, with CSS being useful for the mobile version of the web site. We used Google Maps API to add a map with a marker for each station. The color of the marker tells the user how much particulate matter is in the air.

Being students, the team had a low budget. We used free web hosting. Additionally, each station costs $38.5 in total: ¢50 for the breadboard, $8 for the ESP8266-12E microcontroller, and $30 for the SDS011 sensor.

What’s next? Our goal is now to improve the air-pollution monitoring system using an Arduino Yun, a NEO-6M Modulo GPS, and a mobile router. We are also developing a web function to show air pollution hour by hour. This function could help people decide when to open windows or when to go jogging or take a walk outside with their children.

What's your reaction?