Ikea Vindriktning, bme280, sgp40, wemos S2 mini

The aim is to create an air quality measurement device that iseasily integrated into Home Assistant.

Shopping list:

Wiring schematic:

Once soldered:

Solder points on the IKA stock PCB:

Final installation:

Comments:

YAML configuration for ESPHome:

esphome:
  name: ikehack-air
  platformio_options:
    board_build.extra_flags:
      - "-DARDUINO_USB_CDC_ON_BOOT=0"  # Override, defaults to '-DARDUINO_USB_CDC_ON_BOOT=1'

esp32:
  board: lolin_s2_mini
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""

wifi:
  ssid: "yourwifi"
  password: "yourwifipassword"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ikehack-Air Fallback Hotspot"
    password: "IOaAbwZFLoI2"

captive_portal:

# uart bus for PM1006 sensor
uart:
  rx_pin: GPIO35
  baud_rate: 9600

#i2c bus for extra sensors bme280 and sgp40
i2c:
  sda: GPIO16
  scl: GPIO18
  scan: true
  id: bus_a

sensor:
  # particles from the Ikea sensor
  - platform: pm1006
    pm_2_5:
      name: "Particulate Matter 2.5µm Concentration"
  # bme280 temp pressure humidity
  - platform: bme280
    temperature:
      name: "Ikehack Temperature"
      id: bme280_temp
    pressure:
      name: "Ikehack Pressure"
    humidity:
      name: "Ikehack Humidity"
      id: bme280_hum
    address: 0x76
    update_interval: 20s
  # sgp40 Volatile Organic Compound Sensor
  - platform: sgp4x
    voc:
      name: "Ikehack VOC Index"
    nox:
      name: "Ikehack NOx Index"
    update_interval: 20s
    compensation:
      humidity_source: bme280_hum
      temperature_source: bme280_temp