
Esphome pressure
gcormier/esphome-pressure
esphome board with a differential pressure sensor, supporting a variety of power sources

Phyiscally, this should also work with the Senseair S8 as it has the same pinouts. ESPHome provides a different block to work with this.
Co2home is an open-source printed circuit board by gcormier, from the gcormier/co2home repository on GitHub. It is a 2-layer board of 40 × 70 mm with 20 parts on 44 nets, routed with 219 tracks and 42 vias.
It is built around the ESP32-C3-MINI-1 and AMS1117-3.3. Its parts include 5 capacitors, 5 resistors, 5 connectors, 2 ICs and 1 switch. It belongs with the ESP32 and RISC-V boards of this library.
This device interfaces with an MH-Z19 and makes the data available in home assistant via esphome. It could also work with any other software you'd like on an ESP32. It is powered and programmed via a USB-C port.
Phyiscally, this should also work with the Senseair S8 as it has the same pinouts. ESPHome provides a different block to work with this.
There may be other clones out there as well such as the SYP50-A-5K.
With COVID hitting and basically spending the tail end of Winter and a lot of spring indoors 24x7, I really wanted to check out the indoor air quality. My house does have an ERV, but it was basically a guessing game. No matter how efficient an ERV/HRV is, there is still a penalty to pay. I wanted a way to quantify the levels to adjust my HRV accordingly.
Now with HA and Grafana, I've dialed it in. I have the sensor in my bedroom, but I have just built another board, and I hope to put it somewhere near (or in) a duct to meter the overall CO2 levels in the house. I do want my air handler fan settings to keep the bedroom to acceptable levels at night.
I've found now that 10 minutes an hour is not quite enough ERV time with the CFM I've selected to run it at. Throughout the day, the CO2 level will slowly rise. However, at 20 minutes/hour, it is bringing in enough fresh air to keep levels from rising too much!
Overkill, sure, but hey, why not?
The new revision uses an ESP32-C3-MINI-1 which has native USB support. This means the code can be flashed via USB. The first time this is done, you must HOLD the button while plugging in the USB-C cable to force it in programming mode. Flash using esphome or any other flasher. Any subsequent flashes do not need any button pushes.
As a backup, there is a programming header - the pinout matches my esp32 programmer, eflashy32 if you are in need of a programmer as well.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 10u | Capacitor_SMD:C_0805_2012Metric | C4, C6, C7, C8 |
| 3 | 10k | Resistor_SMD:R_0402_1005Metric | R4, R5, R6 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric | R2, R3 |
| 2 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2 |
| 1 | 0.1u | Capacitor_SMD:C_0603_1608Metric | C5 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U4 |
| 1 | ESP32-C3-MINI-1 | Espressif:ESP32-C3-MINI-1 | U1 |
| 1 | JST-PH | Connector_JST:JST_PH_S7B-PH-SM4-TB_1x07-1MP_P2.00mm_Horizontal | J5 |
| 1 | MH-Z19 L | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J2 |
| 1 | MH-Z19 R | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J4 |
| 1 | RESET | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW1 |
| 1 | USBC | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J3 |
| 1 | eflashy32 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J1 |
It measures 40 × 70 mm and has 2 copper layers, 0.8 mm thick.
20 parts, built around the ESP32-C3-MINI-1 and AMS1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the gcormier/co2home repository on GitHub, at the commit this page was made from: the board is pcb/co2home.kicad_pcb and its schematic pcb/co2home.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask gcormier before reusing the design.

gcormier/esphome-pressure
esphome board with a differential pressure sensor, supporting a variety of power sources

FL0WL0W/ESP32C3-CAN-Extender
This module uses an ESP32C3 with WiFi and BLE. It has 3 configurable outputs (5V push pull, Open Drain, 12V pullup), 4 analog or digital inputs, CAN transceiver, and an automotive power supply so it can be installed…

openhwfoundation/core-v-mcu-devkit
This is the CORE-V MCU DevKit project, hosting the open-source artifacts for the CORE-V MCU Development Kit.

gcormier/espairqual
esphome board to interface with a few air quality (PM) sensors


denorath-sys/gridnet
Open hardware powerline mesh communication terminal


kwartzlab/Environmental-Sensor
The source for the environmental sensors used at Kwartzlab