hardware

  1. Buy Sensirion SEN54-SDN-T Environment Sensor for PM, VOC, NOx, RH & T Online In India at HUBTRONICS.in
    1. can buy Buy Sensirion SEN55-SDN-T Environmental Sensor Node Particulate Matter, RH/T, VOC, NOx Online In India at HUBTRONICS.in if you want to see NOx as well. I just bought the one above
    2. sen66 has co2 but it isn’t available
  2. Buy 6 Pin GHR-06V-S 1.25mm Board to Wire Connector - 15cm Wire Length Online In India at HUBTRONICS.in
  3. esp32
    1. can buy locally as well

software

  1. Install esphome
  2. flash this code using esphome:
esphome:
  name: air-quality-monitor
  friendly_name: Air Quality Monitor
 
esp32:
  board: nodemcu-32s
  framework:
    type: arduino
 
# Enable logging
logger:
 
# Enable Home Assistant API
api:
  encryption:
    key: "retracted"
 
ota:
  password: "retracted"
 
 
wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password
  use_address: 192.168.1.23
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Air-Quality-Monitor"
    password: "retracted"
 
captive_portal:
    
 
web_server:
  
 
i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true
  id: bus_a
 
sensor:
  - platform: sen5x
    id: sen54
    pm_1_0:
      name: " PM <1µm Weight concentration"
      id: pm_1_0
      accuracy_decimals: 1
    pm_2_5:
      name: " PM <2.5µm Weight concentration"
      id: pm_2_5
      accuracy_decimals: 1
    pm_4_0:
      name: " PM <4µm Weight concentration"
      id: pm_4_0
      accuracy_decimals: 1
    pm_10_0:
      name: " PM <10µm Weight concentration"
      id: pm_10_0
      accuracy_decimals: 1
    temperature:
      name: "Temperature"
      accuracy_decimals: 1
    humidity:
      name: "Humidity"
      accuracy_decimals: 0
    voc:
      name: "VOC"
      algorithm_tuning:
        index_offset: 100
        learning_time_offset_hours: 12
        learning_time_gain_hours: 12
        gating_max_duration_minutes: 180
        std_initial: 50
        gain_factor: 230
    temperature_compensation:
      offset: 0
      normalized_offset_slope: 0
      time_constant: 0
    acceleration_mode: low
    store_baseline: true
    address: 0x69
    update_interval: 10s
  1. you should start seeing values on: 192.168.1.23
  2. to graph out values over time you
    1. can install the Home Assistant server
    2. Once you open home assistant you shoud see your device
    3. enter encryption key from esphome and it should work