Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/celliesprojects/co2-display-esp32

An app to show indoor co2 levels and air quality
https://github.com/celliesprojects/co2-display-esp32

co2-monitoring esp32-4848s040 esp32-s3 indoor-air-quality platformio senseair-s8 sht31 visualcrossing-api visualcrossingweather

Last synced: 15 days ago
JSON representation

An app to show indoor co2 levels and air quality

Awesome Lists containing this project

README

        

# CO2 display esp32

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/bdbc66cdcdfd46ab99144949714cc822)](https://app.codacy.com/gh/CelliesProjects/co2-display-esp32/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)

![SAM_3242](https://github.com/user-attachments/assets/76c282f7-baca-4862-9028-22992eba1542)

This is a [PlatformIO](https://platformio.org/) project designed to display CO2 levels using a [Panel ESP32-4848S040](https://homeding.github.io/boards/esp32s3/panel-4848S040.htm).

It reads data from a Senseair S8 CO2 sensor and an SHT31 temperature and humidity sensor, displaying the real-time readings and the history of the last 2 hours.

Sensors are on separate sensor board and are retrieved over websocket.

This setup is chosen because the SenseAir S8 CO2 sensor uses up to 300mA when reading and this makes the tft screen flicker during reading.

You can find the sensor code at the [SensorHub repo](https://github.com/CelliesProjects/SensorHub).

There is also weather forecast data shown which is retrieved from [visualcrossing.com](https://www.visualcrossing.com/).

You will need to setup an account with visualcrossing to be able to download weather data but registration and 1000 free API credits per day are included in the free accounts.

You can setup your free account [here](https://www.visualcrossing.com/weather-api).

### Installation

Assuming you already have the [SensorHub](https://github.com/CelliesProjects/SensorHub) running and a [visualcrossing account](https://www.visualcrossing.com/weather-api) API key you can use these steps to install:

1. Clone this repository.
```bash
git clone https://github.com/CelliesProjects/co2-display-esp32.git
```

2. Open the extracted folder in PlatformIO and add a `secrets.h` file to the `include` folder with the following content:

```c++
#ifndef SECRETS
#define SECRETS

const char *WIFI_SSID = "network";
const char *WIFI_PSK = "password";

const char *VISUAL_CROSSING_CITY = "city";
const char *VISUAL_CROSSING_COUNTRY = "country";
const char *VISUAL_CROSSING_API_KEY = "your api key";

#endif
```
3. Build and upload the firmware to the ESP32.

### Done!

If all went well the board will now search for the sensorhub and connect automagically.

## License
This project is licensed under the MIT License.