====== 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: * Ikea Vindriktning, PM2.5 sensor, case, LED, off-line controler * https://www.ikea.com/fr/fr/p/vindriktning-capteur-qualite-de-lair-70498242/ * Temperature, pressure, humidity sensor: bme280 3.3v version * https://s.click.aliexpress.com/e/_mNFfu6I * VOX pollution sensor: sgp40 * https://s.click.aliexpress.com/e/_msVbfiE * ESP32-S2 mini * https://s.click.aliexpress.com/e/_mOTHPQi * Some cables and tools to solder Wiring schematic: {{::ikeahack-connection.png?nolink|}} Once soldered: {{::ikehack_components.jpg?nolink|}} Solder points on the IKA stock PCB: {{::ikehack_solderpads.jpg?nolink|}} Final installation: {{::ikehack_install.jpg?nolink|}} Comments: * In green, the Wemos S2 Mini is just slotted there. It's a tight fit so it doesn't move. I placed it under the fan not to disturb airflow around the PM1006 sensor and avoid heating up the upper chamber. The aim is also not to influence the temperature measurement. * In blue, I cut a piece of the plastic wall to let the cables pass. * In red, I sticked the sensors on each side of the case as close as possible to the venting grill. I used 3M VHB double sided tape. 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