# ESPHome configuration for the ESP32-C3 CO2 & environment sensor board. # # This is the SHARED TEMPLATE. Copy it to esp-sensair.yaml (git-ignored) and keep # all credentials in secrets.yaml (git-ignored). Never commit real keys. # # SPDX-License-Identifier: MIT # SPDX-FileCopyrightText: 2026 Hannes Gehrmann esphome: name: esp32c3-bme280 friendly_name: esp32c3-bme280 esp32: board: esp32-c3-devkitm-1 framework: type: esp-idf logger: api: encryption: key: !secret api_encryption_key ota: - platform: esphome password: !secret ota_password wifi: ssid: !secret wifi_ssid password: !secret wifi_password fast_connect: true manual_ip: static_ip: !secret static_ip gateway: !secret gateway subnet: !secret subnet dns1: !secret dns1 # Fallback hotspot if the Wi-Fi connection fails ap: ssid: "Esp32C3-Bme280 Fallback Hotspot" password: !secret ap_password captive_portal: # BME280 on I2C - SDA on GPIO7, SCL on GPIO8 (board nets /SDA, /SCL) i2c: sda: GPIO7 scl: GPIO8 scan: true # Sensirion S8 on UART - 9600 baud, 8N1 (board nets /TX, /RX) uart: tx_pin: GPIO21 # ESP32-C3 TX -> S8 RX rx_pin: GPIO20 # ESP32-C3 RX <- S8 TX baud_rate: 9600 sensor: - platform: bme280_i2c address: 0x76 temperature: name: "BME280 Temperature" pressure: name: "BME280 Pressure" humidity: name: "BME280 Humidity" update_interval: 60s - platform: senseair co2: name: "Senseair S8 CO2" update_interval: 60s