https://github.com/thingpulse/esp32-icon64-co2
Measure CO2 with either the Winsen MH-Z19C or the Sensirion SCD41 sensor and display the values on the Icon64
https://github.com/thingpulse/esp32-icon64-co2
co2 co2-sensor esp32 espressif scd41 scd4x sensirion
Last synced: about 1 year ago
JSON representation
Measure CO2 with either the Winsen MH-Z19C or the Sensirion SCD41 sensor and display the values on the Icon64
- Host: GitHub
- URL: https://github.com/thingpulse/esp32-icon64-co2
- Owner: ThingPulse
- Created: 2021-02-25T08:37:03.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-10-09T13:56:07.000Z (over 4 years ago)
- Last Synced: 2025-01-11T10:43:09.952Z (about 1 year ago)
- Topics: co2, co2-sensor, esp32, espressif, scd41, scd4x, sensirion
- Language: C
- Homepage:
- Size: 629 KB
- Stars: 3
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ThingPulse Icon64/AMo CO2 App
Turn any ESP32-based device into a CO2 monitor with this firmware. Supported CO2 sensors:
- Winsen MH-Z19(C)
- Sensirion SCD4x
The code for both sensors is compiled into the firmware to allow selecting the one you use at runtime.
This is firmware is made for the [ThingPulse Icon64](https://thingpulse.com/product/icon64/) devices of which the [AMo](https://thingpulse.com/product/amo-co2-monitor/) is a specific incarnation.

## Settings
Change the default settings at the top of `main.cpp` to have them compiled into the binary.
```c++
// ********* user settings *********
int co2WarnLevel = 850; // unit: ppm
int co2AlertLevel = 1000; // unit: ppm
...
String co2Sensor = "mhz19"; // [mhz19, scd4x]
```
Furthermore, the firmware supports reading all parameters from `/application.properties` on SPIFFS at startup. This allows to install this CO2 app hassle-free without any development environment through the [ThingPulse App Fairy](https://github.com/ThingPulse/app-fairy) (app store).
## Button
Push the button once to turn off accustic warnings. Push it again - after waiting a couple of seconds - to enable them again. This is not a persistent setting. Hence, turning the device off or otherwise cutting the power will activate the default again.
## Mobile App
Version 1.2 and up publish sensor values over BLE to support the Sensirion MyAmbience app available for iOS and Android. Simply turn the device on, open the MyAmbience app and see your device appear on the dashboard.

## Photos
An Icon64 prototype in classroom use.

