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 devices of which the AMo is a specific incarnation.
Change the default settings at the top of main.cpp
to have them compiled into the binary.
// ********* 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 (app store).
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.
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.
An Icon64 prototype in classroom use.