KiCad 10 design (schematic, 2-layer layout, custom symbols and footprints), fabrication data for PCBWay (Gerber X2, Excellon, job file), BOM, generated documentation (schematic PDF, layer plots, 3D render) and firmware notes.
32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# 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.
|