Introduction

The Senseair S88 is a pretty great CO₂ sensor for its price. It can be bought locally (NL) for ~22 Euro and it has a stated accuracy of ±40 ppm and ±3% of reading.

I built the sensor using a Wemos S2 Mini and this very compact case.

Wiring

Hooking up the sensor is fairly straightforward (use at your own risk):

Wemos S2 Mini pinSenseair S88 pin
GNDG0
VBUSG+
GPIO 39 (TX)UART_RxD
GPIO 37 (RX)UART_TxD

The case is quite a tight fit, so make sure that you measure and cut the wires to the right length.

Firmware

The S88 is compatible with the S8, so the ESPHome senseair platform works. Add the following to the ESPHome sensor configuration (this is not a full configuration, just the bits for hooking up the sensors):

uart:
  id: senseair_s88_uart
  tx_pin: GPIO39
  rx_pin: GPIO37
  baud_rate: 9600
 
sensor:
  - platform: senseair
    co2:
      name: "SenseAir CO2 Value"
      filters:
        - skip_initial: 2
        - clamp:
            min_value: 400 # 423 as of 2025-09 https://gml.noaa.gov/ccgg/trends/global.html
    uart_id: senseair_s88_uart

Measurements

Example measurements in Home Assistant in a bedroom + home office, CO2 office (blue) is the S88, compared to a SwitchBot Meter Pro CO2 (CO2, orange):