OpenCO2 Sensor is an Arduino IDE compatible Repository for an E-Ink Indoor air quality Sensor using the ESP32, SCD4X and an RBG LED.
Buy it here on Tindie
Especially in winter, when windows are closed, a reminder to ventilate regularly is useful for health, comfort and well-being. Poor indoor air quality can lead to decreased productivity and learning disabilities. Therefore, I developed an Open-source ESP32 project that uses an E-Ink display and a LED to show the indoor CO2 content. Take the small Sensor anywhere you go to monitor the Air Quality, with Battery life of 11+ days.
With the SCD40, Sensirion offers a completely new miniaturized CO2 sensor based on the photoacoustic sensor principle. The integrated, industry-leading humidity and temperature sensor offers high accuracy with low power consumption.
- Automatic self-calibration ensures the highest long-term stability
- CO2 output range: 400 ppm – 40'000 ppm
- Accuracy:
- CO2 ±(50ppm + 5% of reading)
- Temperature ±0.8°C
- Humidity ±6%
1.54" in size with a very high resolution (200x200 Pixel). Enables low power consumption and wide viewing angle. Per partial refresh, readings are updated every five seconds (every 30 seconds in battery mode).
For displaying the air quality as a traffic light (green, yellow, red, magenta). Brightness and color are adjustable via software.
Size: 4.7 x 4.1 x 2.4 cm
Press the Menu button on the backside of the OpenCO2 Sensor. Select an option via long press (1+ sec) or move to next menu point via a short press. Choose between:
LED toggle
enable or disable the LED in battery modeRainbow
fun little easter egg (press ↪️ to exit)Calibrate
put the sensor outside for 3+ minutes (only run this, if calibration is needed)History
display up to 24 QR codes containing 1h of measurements each (only stored in battery mode)Wi-Fi
enable or disable wireless connectionsExit
quit Menu (automatically after 20 sec)
Enable Wi-Fi via the Menu button. When power is connected, an access point OpenCO2 Sensor
is enabled. Connect to it and navigate to http://192.168.4.1 (it will open automatically on modern Smartphones). Insert your home Wi-Fi credentials under Configure WiFi
. Choose your network name from the list in the top and insert the password. Click Save
. The sensor will now be automatically connected. Navigate to ip:9925 to see current co2/temperature/humidity measurements.
Download OpenCO2_Sensor.ino.bin
from the latest release.
Enable Wi-Fi via the Menu button, in an area where no previously known network is active. Connect power. Then connect to OpenCO2 Sensor
and navigate to http://192.168.4.1 . Under Update
select the OpenCO2_Sensor.ino.bin
file and click Update
. The Sensor will restart.
- Download all files from the latest release
- Make sure, that the power switch is in the
ON
position (down) - Plug a data USB-C cable into your PC and the Sensor
- Hold the Button on the backside of the CO2 Sensor near the USB-C port and shortly push simultaneously the reset ↪️ Button
- In Device Manager under
Ports (COM & LPT)
find the COM number and modify it inupdate.bat
- Run
update.bat
- Afterwards push the reset ↪️ Button
- Copy the esp32-waveshare-epd Folder to your
Arduino/libraries/
- Install the ESP32 support for Arduino IDE
- Choose
ESP32S2 Dev Module
underTools -> Board -> esp32
- Connect the Sensor as described in step "Update to the latest release" and choose the new Port under
Tools -> Boards -> Port