0% Air Quality Network

Citizen science project with mobile and fixed sensors for measuring air quality using low-cost sensors and smartphones

Public Chat
Similar projects worth following
CanAirIO is a citizen science project using mobile and fixed sensors to measure air quality with cell phones and low-cost technology.

This is an Open Source initiative that uses a ESP32 module and some air quality sensors, interfaced with an Android client app to have fixed (WiFi) or mobile (Bluetooth) air quality stations.

CanAirio is a citizen science iniciative that not only aims to generate an air quality network of fixed monitoring stations, but also to measure what occurs with pedestrians, drivers and passengers in their daily lives considering that in some cities the highest density of affected people is moving. For this reason, we are developing a mobile application that is able to set a PM2.5 sensor, and other related sensors, as a fixed station using WiFi or mobile data from the smartphone by using a Bluetooth connection.

Air pollution is one of the biggest world wide problems we have been facing during the last years. For reference I’ll quote recent articles from research organizations such as NOAA and WHO.

  • Air pollution is the world’s largest single environmental health risk WHO
  • Airborne particulate matter (particles with diameters of 2.5 μm or less, known as a PM2.5) has consistently been shown to increase mortality and morbidity. Institute for Risk Assessment Sciences, Utrecht University
  • Carbon dioxide levels today are higher than at any point in at least the past 800,000 years NOAA
  • As urban air quality declines, the risk of stroke, heart disease, lung cancer, and chronic and acute respiratory diseases, including asthma, increases for the people who live in them. WHO

Those articles among many others and our daily lives experiences (which is becoming more and more contaminated during the past few years), lead us to design:  A citizen science solution to monitor the air quality.

We are a community of open source activists with a wide range of skills on different knowledge fields. is one of our community citizen science projects, with the goal to contribute to the air quality index knowledge base. Not only to create air quality awareness and conscience on citizens, but also on the government which in some cases mislead pollution reports.

package-archive - 7.19 MB - 12/11/2020 at 10:48


Zip Archive - 5.60 MB - 12/11/2020 at 10:48


Laser cut box files (official stable) and 3dprint box files (alpha version)

Zip Archive - 814.19 kB - 09/20/2019 at 20:39


View all 9 components

View all 4 project logs

  • 1
    Overview Video Alternatives

    Honeywell version (CanAirIO v2)

    Panasonic version (CanAirIO v2.1)

    Sensirion version  (without soldering iron)

    CanAirIO Bike version

    CanAirIO IKEA Vindriktning sensor version
    CanAirIO IKEA version

    CanAirIO solar version (testing)

    CanAirIO Solar version

    CanAirIO M5Stack devices

    CanAirIO M5Stack versions
  • 2
    Upload CanAir.IO firmware

    Installation alternatives

    We have different alternatives for load the current firmware. In order of complexity they are:

    Via CanAirIO Web Installer (RECOMMENDED)

    If you already have a ESP32 board, you can test our CanAirIO firmware on one click, with our web installer:

    CanAirIO Web Installer

    Video and instructions here

    Installation via CanAirIO loader

    You will able to install the last version of CanAirIO firmware with internet updates via a simple Arduino sketch that it will doing all for you, you only need to use the official Arduino IDE or Arduino Droid for Android for load this simple sketch. Please follow the instructions here or follow the next YouTube video guide for Android OTG installation alternative.

    Installation via binaries (Linux and MacOSx)

    You can download the last firmware version in releases section. Download the last release from assets section in releases and please uncompress zip file.

    USB alternative

    Connect your CanAirIO device to your USB and execute the next command for your model board*, like this:

    cd canairio_installer
    ./ canairio_TTGO_T7_rev605_20200925.bin

    For more options run ./canairio_installer help.

    Note: you need python2 or python3 with pyserial in your system.

    OTA alternative

    After that you will able to send OTA updates to any board supported, like this:

    ./ ota canairio_d1mini_rev414_20190829.bin

    Also you can specify the IP address:

    ./ ota canairio_xxx.bin


    Please read procedure on firmware section on HacksterIO Guide for details for load firmware via oficial Espressif Download Tool in Windows

    For build a firmware version please follow the README instructions on Github:

  • 3
    Using CanAirIO app


    For now you need any Android device with Bluetooth 4 or above. You can download the CanAirIO app from GooglePlay, keep in mind that it is in continuos development then please any feedback, report errors, or any thing please let us knowed it via our contact form or on our Telegram chat

    You have two configuration options or modes of your CanAirIO device from the app:

    Mobile Station Mode

    For record tracks on your device (Sdcard) or publish it to the cloud (share), please follow the next steps:

    Connection to device

    Recording track and share

    NOTE: Also all recorded tracks will be saved in the /sdcard/canairio/ directory on json format.

    CanAirIO Mobile Map

    We are developing a new mobile map, you can see the current tracks that the people share here:

    Fixed Station Mode


    Also, you can connect your CanAirIO device to the WiFi and leave this like a fixed station. In this mode you only need the Android app only for setup the initial settings, after that the device could be publish data without the phone using the WiFi. For this please download the CanAirIO app and setup the WiFi:

    WiFi Setup

    • Open the app and enter on settings section
    • Choose the Wifi Name and set the Password (if it has)
    • Save the credentials with the switch.
    • Wait for connected status in the summary switch



    After WiFi is ready, please follow the next steps for publish your fixed station:

    • save Geohash location (turn on the switch for save, it will go to off after some seconds)
    • enable the publication switch
    • wait for some minutes, the device should be show data icon some times
    • your station should be in our Global Map with the special ID showed in the last item of settings

    CanAirIO fixed station (fast setup guide)

    CanAirIO Documentation

    We have a documentation portal with full information about the device and the app usage.

    Supporting the project

    If you want to contribute to the code or documentation, consider posting a bug report, feature request or a pull request.

    When creating a pull request, we recommend that you do the following:

    • Clone the repository
    • Create a new branch for your fix or feature. For example, git checkout -b fix/my-fix or git checkout -b feat/my-feature.
    • Run to any clang formatter if it is a code, for example using the vscode formatter. We are using Google style. More info here
    • Document the PR description or code will be great
    • Target your pull request to be merged with devel branch

    Also you can consider make a donation, be a patron or buy a device:

    NOTE: Supporting our Citizen Science Initiative many people be able to fight for air quality rights in many countries with this kind of problems. More info in CanAir.IO

View all 3 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates