Skip to content

Commit 1d11937

Browse files
committed
New Squircle Case update
Update graphics and 3D files
1 parent 63476c7 commit 1d11937

File tree

10 files changed

+54937
-22965
lines changed

10 files changed

+54937
-22965
lines changed

README.md

Lines changed: 36 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
# OpenCO2 Sensor using ESP32 and SCD4x
1+
# OpenCO2 Sensor with ESP32, Sensirion SCD40, E-Ink display, Wi-Fi, LED and a Battery
22

33
[![Build OpenCO2_Sensor](https://github.com/davidkreidler/OpenCO2_Sensor/actions/workflows/arduino_build.yml/badge.svg)](https://github.com/davidkreidler/OpenCO2_Sensor/actions/workflows/arduino_build.yml)
44

55
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/Header.png)
66

7-
OpenCO2 Sensor is an Arduino IDE compatible Repository for an E-Ink Indoor air quality Sensor using the ESP32, SCD4X and an RGB LED.
7+
OpenCO2 Sensor is an open-source indoor air quality sensor made in Germany. Measurements are displayed via an 1.54" E-Ink display, RGB LED in traffic light colors, or Wi-Fi, e.g., to Home Assistant. The Arduino code for the ESP32-S2 and Sensirion SCD40 is available here on GitHub.
88

9-
## Buy it [here on Tindie](https://www.tindie.com/products/davidkreidler/open-co2-sensor/)
9+
## Buy it [here on Open-Sensor.com](https://open-sensor.com/products/openco2-monitor-co2-sensor-luftqualitatssensor-co2-messgerat-made-in-germany-mit-e-ink-display-innenraum-luftqualitat-uberwachung?variant=62823149797725)
1010

11-
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 up to 11 weeks.
11+
Especially in winter, when windows stay closed, reminders to ventilate regularly help health and comfort. Poor indoor air quality can lead to lower productivity and learning difficulties. This open-source project helps you keep an eye on this at all times using the E-Ink display and LED. Take the small sensor with you wherever you go to monitor air quality – the battery life is up to 11 weeks.
1212

1313
# CO2 Sensor
1414

15-
With the SCD40, Sensirion offers a completely new miniaturized CO2 sensor based on the photoacoustic sensor principle.
16-
The integrated, industry-leading humidity and temperature sensor offers high accuracy with low power consumption.
17-
* Automatic self-calibration ensures the highest long-term stability
18-
* CO2 output range: 400 ppm – 40'000 ppm
15+
Based on the SCD40 from Sensirion, a completely new, miniaturized CO2 sensor with photoacoustic measurement principle.
16+
The integrated, industry-leading humidity and temperature sensor delivers high accuracy with low energy consumption.
17+
* Automatic self-calibration ensures maximum long-term stability
18+
* CO2 measuring range: 400 ppm – 40,000 ppm
1919
* Accuracy:
20-
* CO2 ±(50ppm + 5% of reading)
21-
* Temperature ±0.8°C
22-
* Humidity ±6%
20+
* CO2: ±(50 ppm + 5% of measured value)
21+
* Temperature: ±0.8 °C
22+
* Humidity: ±6%
2323

2424
# Clear E-Ink display
2525

26-
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).
26+
1.54" in size with high resolution (200 x 200 pixels). Enables low power consumption and a wide viewing angle. Display refreshes every 5 seconds during normal operation; in battery mode it refreshes ~every 30 seconds.
2727

2828
# RGB LED
2929

30-
For displaying the air quality as a traffic light (green, yellow, red, magenta). Brightness and color are adjustable via software.
30+
For displaying air quality as a traffic light (green, yellow, red, magenta). Brightness and color are adjustable via the Menu.
3131

3232
# Home Assistant
3333

@@ -60,23 +60,26 @@ rest:
6060

6161
# 3D-printed housing
6262

63-
Size: 4.7 x 4.1 x 2.4 cm
64-
* [3D Model viewer](https://a360.co/3syuvEk)
65-
* [3D File FRONT](https://a360.co/3CSICGq)
66-
* [3D File BACK](https://a360.co/437Ak88)
63+
Size: 4.9 x 3.8 x 2 cm
64+
* [3D Model viewer](https://a360.co/44f2th9)
65+
* [3D File FRONT](https://github.com/davidkreidler/OpenCO2_Sensor/blob/main/case/FRONT.obj)
66+
* [3D File BACK](https://github.com/davidkreidler/OpenCO2_Sensor/blob/main/case/BACK.obj)
67+
68+
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/animation.gif)
6769

6870
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/drawing.png)
6971

7072
# Menu
7173

72-
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:
73-
* `LED` control color, brightness and when the LED should be enabled
74-
* `Display` can be inverted. Also change the Temperature unit, language and font
75-
* `Calibrate` put the sensor outside for 3+ minutes (only run this, if calibration is needed)
74+
Press the Menu button on the back. Long press (≥1 s) selects, short press cycles to the next item.
75+
Choose between:
76+
* `LED` control color, brightness and when the LED should be enabled.
77+
* `Display` can be inverted. Max battery charge percentage threshold. Also change the Temperature unit, language and font.
78+
* `Calibrate` put the sensor outside for 3+ minutes (only run this, if calibration is needed).
7679
* `History` display up to 24h of CO2, temperature and humidity as a graph. Values can also be exported via QR codes containing 1h of CO2 measurements each.
77-
* `Wi-Fi` enable or disable wireless connections
78-
* `Info` shows MAC Address, serial numbers, uptime, version and battery details
79-
* `Rainbow` fun little easter egg
80+
* `Wi-Fi` enable or disable wireless connections. Setup via connecting to the Network "OpenCO2 Sensor".
81+
* `Info` shows MAC Address, serial numbers, uptime, version and battery details.
82+
* `Fun` little easter eggs
8083

8184
# Wi-Fi
8285

@@ -115,26 +118,22 @@ Use [internet-pi](https://github.com/geerlingguy/internet-pi) to store the CO2 /
115118

116119
# OTA Update
117120

118-
Download `FIRMWARE.BIN` from the latest [release](https://github.com/davidkreidler/OpenCO2_Sensor/releases).
119-
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 `FIRMWARE.BIN` file and click `Update`. The Sensor will restart.
121+
1. Download `FIRMWARE.BIN` from the latest [release](https://github.com/davidkreidler/OpenCO2_Sensor/releases).
122+
2. Enable Wi-Fi via the Menu button, in an area where no previously known network is active.
123+
3. Make sure that power is connected.
124+
4. Connect you PC/mobile to the WiFi network `OpenCO2 Sensor` and navigate to http://192.168.4.1
125+
5. Under `Update` select the `FIRMWARE.BIN` file and click `Update`.
126+
6. The Sensor will restart.
120127
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/OTA.jpg)
121128

122-
# Update via USB (from an old release)
123-
124-
1. Download all files from the latest [release](https://github.com/davidkreidler/OpenCO2_Sensor/releases)
125-
2. Make sure, that the power switch is in the `ON` position (down)
126-
3. Plug a data USB-C cable into your PC and the Sensor
127-
4. Hold the Button on the backside of the CO2 Sensor near the USB-C port and shortly push simultaneously the reset ↪️ Button
128-
5. In Device Manager under `Ports (COM & LPT)` find the COM number and modify it in `update.bat`
129-
6. Run `update.bat`
130-
7. Afterwards push the reset ↪️ Button
131129

132130
# Installation inside the Arduino IDE
133131

134-
1. Copy the esp32-waveshare-epd Folder to your `Arduino/libraries/`
132+
1. Copy the esp32-waveshare-epd folder to your `Arduino/libraries/` directory
135133
2. [Install the ESP32 support for Arduino IDE](https://espressif-docs.readthedocs-hosted.com/projects/arduino-esp32/en/latest/installing.html)
136134
3. Choose `ESP32S2 Dev Module` under `Tools -> Board -> esp32`
137-
4. Connect the Sensor as described in step "Update to the latest release" and choose the new Port under `Tools -> Boards -> Port`
135+
4. Connect the Sensor via USB and flip the power switch to on while holding the button on the back
136+
5. Choose the new COM Port in the Arduino IDE under `Tools -> Port -> COMXX`
138137

139138
# Dependencies
140139

@@ -143,8 +142,6 @@ Enable Wi-Fi via the Menu button, in an area where no previously known network i
143142
* [Sensirion I2C SCD4x Arduino Library](https://github.com/Sensirion/arduino-i2c-scd4x)
144143
* [WiFiManager](https://github.com/tzapu/WiFiManager)
145144

146-
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/animation.gif)
147-
148145
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/schematic.png)
149146

150147
![alt text](https://github.com/davidkreidler/OpenCO2_Sensor/raw/main/pictures/pcb.png)

0 commit comments

Comments
 (0)