CanAirIO Bike

CanAirIO mobile version that also is a bike computer for share Air quality conditions on your tracks

Public Chat
Similar projects worth following
Starting from
hpsaturn has 4 orders / 0reviews
Ships from Germany
CanAirIO is a citizen science community 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 Bike try to motivate collaboration from cyclists or people that use it to have mobile tracks of air quality. We have two new device versions, CanAirIO bike with PM2.5 sensors (Sensirion SPS30) and CanAirIO CO2 (Sensirion SCD30), the latter for sensing the right ventilation in indoors to reduce COVID-19 risk.


These devices able to work in standalone mode without clouds, apps, Bluetooth, WiFi, etc. but also you could have the next features:

CanAirIO Firmware:

  • Super easy web installer, via Chrome or Edge
  • Mobile station (via Bluetooth LE for tag GPS variables)
  • Fixed station, (using only your WiFi)
  • Fast WiFi credentials provisioning via Bluetooth
  • PAX Counter (detect people around of device)
  • Automatic firmware OTA updates (stable/testing channels)
  • Share mobile tracks via or CanAirIO app
  • Home Assistant integration, discovery and multisensor support
  • Share your fixed station quickly via Anaire cloud
  • Custom InfluxDb alternative: Store all data in your own instance
  • Separated sensors layer for improve support of new sensors
  • Multiple boards and sensors support with only one firmware
  • Some built-in functions: Brightness, AQI graph, sample time, Wifi On/Off, calibration, etc.
  • CanAirIO is Open-Source / Open-Design / Open-Access

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

Home Assistant Support



CanAirIO fixed station (fast Anaire cloud setup guide)

CanAirIO CO2 easy Setup

CanAirIO Web Installer


PAX Counter

video_2021-11-12_10-35-21Open source / Open data community


CanAirIO Android App.

package-archive - 7.20 MB - 07/25/2021 at 17:53


CanAirIO firmware for TTGO T-Display. You can follow the next guide for details:

Zip Archive - 6.08 MB - 07/25/2021 at 17:53


View all 8 components

  • CanAirIO CLI preview

    Hpsaturn08/31/2023 at 20:04 0 comments

    While searching for alternatives to configure the CanAirIO Firmware, and also to provide an option for those without Android Phones, for instance for iOS and Chrome users, I developed a CLI tool. This CLI tool is capable of configuring numerous parameters within the current firmware.

    For example here the CLI is used to configure the OLED screen behavior:
    Full list of commands and initial documentation:

    CanAirIO CLI documentation

  • CanAirIO was ported to M5Stack Devices

    Hpsaturn02/10/2022 at 23:39 0 comments

    canairio_m5stickcplus full video


    CanAirIO for M5Stack devices contains special support for these kind of boards and devices. In this development we are trying to improve an easy way on the building of mobile and fixed stations for CanAirIO Air Quality network.


    CanAirIO M5Stack devices

    Plus the current features of CanAirIO firmware, the M5StickC Plus has the next extra features:

    • Dual I2C port (Hat and M5 grove port). You can connect multiple sensors. For example one EnvII hat and three sensors via grove port plus grove hub
    • Compatibility with internal I2C devices, for example in the M5CoreInk and M5StickC Plus, the internal I2C handled the real time clock and the power unit, the CanAirIO Sensors Library works without conflicts swapping this channel with the hat channel for reach three I2C channels at the same time.
    • M5Stack has a wonderful feature, 5V output, it reduce the complexity of the DIY creation, because we need 5V for example for particulate meter sensors and old UART devices. In comparasion for example to CanAirIO Bike, it is a improvement on the build work.
    • Enclosures and expansion ports. Like we mentioned, M5 has for example DIY box or expansion ports for reduce the complexity in the wiring and the connection.

    More info in CanAirIO docs

    rev896 v0.5.1



    • full version for M5StickCPlus device of CanAirIO Firmware
    • Multivariable Multisensor implementation
    • Complete refactor of CanAirIO Sensors Lib
    • Documentation for developers of Sensors Lib
    • Dual I2C channel support
    • Refactor of battery class to base class pattern
    • Select of primary variable to show via buttons
    • Added M5CoreInk and M5Atom support in Sensors Lib
    • Refactored the output log

    CanAirIO Firmware Releases

  • CanAirIO Sensors Lib with M5CoreInk and M5Atom Support

    Hpsaturn02/02/2022 at 12:32 0 comments

    CanAirIO Sensors Lib DEMO with M5CoreInk

    M5CoreInk Multi Sensor

    This project use the CanAirIO Sensors Library to have a complete air quality device. Thanks to this library you able to have many posibilities of sensors and variables automatically, for example you can connect one CO2 sensor or the combination of it with particulate meter sensors (PM2.5) or environment sensors (T, H, P, Alt, etc). The library able to detect and select each driver and third party library for handling these sensors and give you the complete list of variables with a few lines of code. Please see the demo video.

    Also the installation of this firmware in your device is possible only with one click via an easy Web installer without WiFi or compiling anything.


    • Multi variable - multi sensor support with auto configuration
    • CO2 sensor calibration via wheel button
    • Continuous mode or low power consumption mode
    • Automatic sensor refresh interval on USB connection
    • Partial update (fast refresh without blink) in USB mode
    • Support two I2C channel (Hat or external port).
    • Auto selection of sample time by sensor type
    • Low power consumption in Battery mode (Deep sleep via RTC)
    • Able to set beep alarm for PM2.5 or CO2
    • Redraw complete screen and first setup via middle button
    • Demo mode with button down

    Source code

  • CanAirIO with Home Assistant Discovery

    Hpsaturn12/02/2021 at 00:38 0 comments

    The last firmware of CanAirIO, on our OTA testing channel, has integration with the popular Home Assistant ecosystem. It implement discovery and multi sensor features, for easy configuration of CanAirIO devices with it:

    For have OTA firmware updates, you only need install the stable or testing version with our CanAirIO installer, with it we could send to you this Home Assistant version or coming soon on the next stable release.

    More info in our GitHub releases

  • New CanAirIO Web Installer

    Hpsaturn11/14/2021 at 15:53 0 comments

    rev841 v0.4.6


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


    WiFi setup and PAX Counter improvements

    • WiFi SSID scanner for choosing the WiFi network on Android app
    • save icon on TFT version: #117
    • Pax disable option
    • fixed issue #146
    • WiFi status info for Android app
    • WiFi config improvements


  • CanAirIO device and app improvements

    Hpsaturn11/11/2021 at 13:49 0 comments

    Hi, we are testing some new features and improvements in the PAX Counter feature and the configuration of WiFi credentials via Android app over Bluetooth LE.


    for more details in the description or in CanAirIO PAX Counter project page

    WiFi Setup

    Also we have some improvements on the authentication flow of WiFi via Android app:

    • New SSID scanner (Access point devices list for choose)
    • New status connection field on the WiFi switch button for have feedback of WiFi connection
    • New device info section in the setup window in the firmware
    • Some sync features on  the firmware GUI and Android GUI
    • Some GUI improvements on the setup form

  • CanAirIO WorldMap

    Hpsaturn07/25/2021 at 18:37 0 comments

    The last version of the CanAirIO firmware and Android app, have a new features for fixed station mode:

    • Auto device name (the old version had a some issues with that, many users sometime had mistakes with custom names.
    • New InfluxDB data schema (best practices for handling many devices)
    • Two geohash, the current firmware share 7 digits geohash (70mts accuracy) for privacy reason and 3 digits (70km accuracy) for improved queries.
    • Automatic publication of fixed station shared on Grafana
    • Launcher the CanAirIO world map after share your fixed station.

  • CanAirIO CO2 Calibration & Making Of (video)

    Hpsaturn06/24/2021 at 21:14 0 comments

    A basic demo of CanAirIO CO2 calibration, over a SCD30 CO2 sensor. The calibration FRC method that it used is described on a separated datasheet from Sensirion

  • Making of CanAirIO Bike

    Hpsaturn06/14/2021 at 21:59 0 comments

    After some months, finally the last beta version of CanAirIO Bike. This is the first release with: 

    - A "making of" video
    - 3D printer files
    - Firmware (binary)

    Soon the complete release.

    Please review the complete info in the video description or enter here.

  • Fixed some Android track service issues

    Hpsaturn05/19/2021 at 13:32 0 comments

    Today I tested some issues fixes around the background service that measure the mobile track. The CanAirIO Android app was compared with another application of sports, and sometimes the background service was shutdown or lost the total distance, these issue was resolved now:

View all 10 project logs

  • 1
    Components and materials

    Please first review the last updated list of components and 3D Printer files here

  • 2
    Paint the display white border to black
  • 3
    Start with reset button (power button)

View all 10 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

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