SenseAir CO_2 Sensor

The senseair sensor platform allows you to use SenseAir CO_2 sensor (website) with ESPHome.


SenseAir S8 CO_2 Sensor.

As the communication with the SenseAir is done using UART, you need to have an UART bus in your configuration with the rx_pin connected to the TX pin of the sensor and the tx_pin connected to the RX Pin (it’s switched because the TX/RX labels are from the perspective of the SenseAir sensor). Additionally, you need to set the baud rate to 9600.

# Example configuration entry
  rx_pin: D0
  tx_pin: D1
  baud_rate: 9600

  - platform: senseair
      name: "SenseAir CO2 Value"
    update_interval: 60s

Configuration variables:

  • co2 (Required): The CO_2 data from the sensor in parts per million (ppm).
    • name (Required, string): The name for the CO_2 sensor.
    • id (Optional, ID): Set the ID of this sensor for use in lambdas.
    • All other options from Sensor.
  • update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.
  • uart_id (Optional, ID): Manually specify the ID of the UART Component if you want to use multiple UART buses.
  • id (Optional, ID): Manually specify the ID used for actions.

Pins on the SenseAir S8. Only the ones marked with a red circle need to be connected.


G+ should be connected to power supply (supported voltage is 4.5 V to 5.25 V), G0 to GND pin