# Firmware ESPHome configuration for the ESP32-C3 CO₂ & environment sensor board. ## Target | Item | Value | |---|---| | Chip | ESP32-C3 (RISC-V, single core, Wi-Fi + BLE) | | Framework | ESPHome (`esp32` platform, `framework: esp-idf` or `arduino`) | | Board | this project's board, flashed via the module's UART/USB boot pins | ## Peripherals | Peripheral | Bus | Notes | |---|---|---| | Sensirion S8 (NDIR CO₂) | UART, 9600 baud 8N1 | needs 5 V supply, ~30 s preheat; `bCal_in` starts a manual background calibration | | BME280 (T / RH / P) | I²C, address `0x76` (some breakouts `0x77`) | powered from the module's 3.3 V output; pull-ups come from the breakout | | SW1 | GPIO, active low with 1 kΩ / 100 nF RC debounce | calibration button | ## Add here - `esp-sensair.yaml` — the ESPHome configuration actually flashed to the board - `secrets.yaml` — **do not commit** (Wi-Fi credentials, Home Assistant token); keep `secrets.yaml.example` with placeholders - flashing notes: `esptool` / `esphome flash`, boot-mode entry on the module ## Home Assistant The device is exposed as native ESPHome entities: `co2`, `temperature`, `relative_humidity`, `pressure`, plus the calibration button as a sensor event.