wESP32 not finding/connecting to multiple sensors

I am attempting to connect a Sensair co2 sensor, a Sen55, and a Mics 4514 to a wesp32, the later revision. I have multiples of all components here and have swapped all out, one at a time to no change. I have tried one sensor at a time. The I2C devices are “not found” on either bus or on multiple different suggested frequencies, and the uart sensair routinely throws the error about it “taking a long time” and none of the sensors report back any information. The components are powered off the 12v power supplied by the board through a step down voltage converter set at 4.9v to 5v under load.

The code I am using:


esphome:
  name: wesp32-1-test
  friendly_name: wesp32-1 test

esp32:
  board: wesp32
  framework:
    type: arduino

# Enable logging
logger:
  level: VERY_VERBOSE

# Enable Home Assistant API
api:
  encryption:
    key: (key)

ota:
  password: (pw)

# Example configuration entry
i2c:
   - id: bus_a
     sda: 
      number: GPIO17
      allow_other_uses: true
     scl: 
      number: GPIO15
     scan: true
     #frequency: 10kHz
   - id: bus_b
     sda: 
      number: GPIO10
      allow_other_uses: true
     scl: 
      number: GPIO12
     scan: true
     #frequency: 10kHz

# for board rev.7 and up
ethernet:
  type: RTL8201
  mdc_pin: 
    number: GPIO16
    #allow_other_uses: true
  mdio_pin: 
    number: GPIO17
    allow_other_uses: true
  clk_mode: GPIO0_IN
  phy_addr: 0
  
  # Optional manual IP
  manual_ip:
    static_ip: (ip)
    gateway: (ip)
    subnet: 255.255.255.0

web_server:
  port: 80

# Example configuration entry
uart:
  #id: uart_bus_a
   #rx_pin: GPIO13
   #tx_pin: GPIO16
   #baud_rate: 9600
  id: uart_bus_b
  tx_pin: GPIO5
  rx_pin: 
     number: GPIO10
     allow_other_uses: true
  baud_rate: 9600
    

# Example configuration entry
sensor:
  - platform: mics_4514
    i2c_id: bus_a
    address: 0x75
    nitrogen_dioxide:
      name: Nitrogen Dioxide
    carbon_monoxide:
      name: Carbon Monoxide
    hydrogen:
      name: Hydrogen
    ethanol:
      name: Ethanol
    methane:
      name: Methane
    ammonia:
      name: Ammonia
    update_interval: 60s
  - platform: senseair
    uart_id: uart_bus_b
    co2:
      name: "SenseAir CO2 Value"
    update_interval: 60s
  - platform: sen5x
    i2c_id: bus_b
    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

Please format your code properly as it cant be read like this.

I was in the middle of editing it. It should be fixed now

The Logs:

INFO ESPHome 2024.3.0
INFO Reading configuration /config/esphome/wesp32-2.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome . io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING Pin 10 (9-10) might already be used by the flash interface in QUAD IO flash mode.
WARNING GPIO12 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome . io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome . io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING Pin 10 (9-10) might already be used by the flash interface in QUAD IO flash mode.
INFO Starting log output from (ip) using esphome API
INFO Successfully connected to wesp32-2 @ (ip) in 0.003s
INFO Successful handshake with wesp32-2 @ (ip) in 0.151s
[01:31:26][I][app:102]: ESPHome version 2024.3.0 compiled on Mar 25 2024, 23:35:43
[01:31:26][C][logger:166]: Logger:
[01:31:26][C][logger:167]:   Level: VERY_VERBOSE
[01:31:26][C][logger:169]:   Log Baud Rate: 115200
[01:31:26][C][logger:170]:   Hardware UART: UART0
[01:31:26][C][i2c.arduino:059]: I2C Bus:
[01:31:26][C][i2c.arduino:060]:   SDA Pin: GPIO17
[01:31:26][C][i2c.arduino:061]:   SCL Pin: GPIO15
[01:31:26][C][i2c.arduino:062]:   Frequency: 50000 Hz
[01:31:26][C][i2c.arduino:065]:   Recovery: bus successfully recovered
[01:31:26][I][i2c.arduino:075]: Results from i2c bus scan:
[01:31:26][I][i2c.arduino:077]: Found no i2c devices!
[01:31:26][C][i2c.arduino:059]: I2C Bus:
[01:31:26][C][i2c.arduino:060]:   SDA Pin: GPIO10
[01:31:26][C][i2c.arduino:061]:   SCL Pin: GPIO12
[01:31:26][C][i2c.arduino:062]:   Frequency: 50000 Hz
[01:31:26][C][i2c.arduino:065]:   Recovery: bus successfully recovered
[01:31:26][I][i2c.arduino:075]: Results from i2c bus scan:
[01:31:26][I][i2c.arduino:077]: Found no i2c devices!
[01:31:26][C][uart.arduino_esp32:137]: UART Bus 1:
[01:31:26][C][uart.arduino_esp32:138]:   TX Pin: GPIO5
[01:31:26][C][uart.arduino_esp32:139]:   RX Pin: GPIO10
[01:31:26][C][uart.arduino_esp32:141]:   RX Buffer Size: 256
[01:31:26][C][uart.arduino_esp32:143]:   Baud Rate: 9600 baud
[01:31:26][C][uart.arduino_esp32:144]:   Data Bits: 8
[01:31:26][C][uart.arduino_esp32:145]:   Parity: NONE
[01:31:26][C][uart.arduino_esp32:146]:   Stop bits: 1
[01:31:26][C][mics_4514:035]: MICS 4514:
[01:31:26][C][mics_4514:036]:   Address: 0x75
[01:31:26][C][mics_4514:037]:   Update Interval: 60.0s
[01:31:26][C][mics_4514:038]:   Nitrogen Dioxide 'Nitrogen Dioxide'
[01:31:26][C][mics_4514:038]:     State Class: 'measurement'
[01:31:26][C][mics_4514:038]:     Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:038]:     Accuracy Decimals: 2
[01:31:26][C][mics_4514:039]:   Carbon Monoxide 'Carbon Monoxide'
[01:31:26][C][mics_4514:039]:     State Class: 'measurement'
[01:31:26][C][mics_4514:039]:     Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:039]:     Accuracy Decimals: 2
[01:31:26][C][mics_4514:040]:   Methane 'Methane'
[01:31:26][C][mics_4514:040]:     State Class: 'measurement'
[01:31:26][C][mics_4514:040]:     Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:040]:     Accuracy Decimals: 2
[01:31:26][C][mics_4514:041]:   Ethanol 'Ethanol'
[01:31:26][C][mics_4514:041]:     State Class: 'measurement'
[01:31:26][C][mics_4514:041]:     Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:041]:     Accuracy Decimals: 2
[01:31:26][C][mics_4514:042]:   Hydrogen 'Hydrogen'
[01:31:26][C][mics_4514:042]:     State Class: 'measurement'
[01:31:26][C][mics_4514:042]:     Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:042]:     Accuracy Decimals: 2
[01:31:26][C][mics_4514:043]:   Ammonia 'Ammonia'
[01:31:26][C][mics_4514:043]:     State Class: 'measurement'
[01:31:26][C][mics_4514:043]:     Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:043]:     Accuracy Decimals: 2
[01:31:26][C][senseair:144]: SenseAir:
[01:31:26][C][senseair:145]:   CO2 'SenseAir CO2 Value'
[01:31:26][C][senseair:145]:     Device Class: 'carbon_dioxide'
[01:31:26][C][senseair:145]:     State Class: 'measurement'
[01:31:26][C][senseair:145]:     Unit of Measurement: 'ppm'
[01:31:26][C][senseair:145]:     Accuracy Decimals: 0
[01:31:26][C][senseair:145]:     Icon: 'mdi:molecule-co2'
[01:31:26][C][sen5x:238]: sen5x:
[01:31:26][C][sen5x:239]:   Address: 0x69
[01:31:26][W][sen5x:243]: Communication failed! Is the sensor connected?
[01:31:26][C][sen5x:262]:   Productname: 
[01:31:26][C][sen5x:263]:   Firmware version: 0
[01:31:26][C][sen5x:264]:   Serial number 00.00.00
[01:31:26][C][sen5x:271]:   Low RH/T acceleration mode
[01:31:26][C][sen5x:281]:   Update Interval: 10.0s
[01:31:26][C][sen5x:282]:   PM  1.0 ' PM <1µm Weight concentration'
[01:31:26][C][sen5x:282]:     Device Class: 'pm1'
[01:31:26][C][sen5x:282]:     State Class: 'measurement'
[01:31:26][C][sen5x:282]:     Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:282]:     Accuracy Decimals: 1
[01:31:26][C][sen5x:282]:     Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:283]:   PM  2.5 ' PM <2.5µm Weight concentration'
[01:31:26][C][sen5x:283]:     Device Class: 'pm25'
[01:31:26][C][sen5x:283]:     State Class: 'measurement'
[01:31:26][C][sen5x:283]:     Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:283]:     Accuracy Decimals: 1
[01:31:26][C][sen5x:283]:     Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:284]:   PM  4.0 ' PM <4µm Weight concentration'
[01:31:26][C][sen5x:284]:     State Class: 'measurement'
[01:31:26][C][sen5x:284]:     Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:284]:     Accuracy Decimals: 1
[01:31:26][C][sen5x:284]:     Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:285]:   PM 10.0 ' PM <10µm Weight concentration'
[01:31:26][C][sen5x:285]:     Device Class: 'pm10'
[01:31:26][C][sen5x:285]:     State Class: 'measurement'
[01:31:26][C][sen5x:285]:     Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:285]:     Accuracy Decimals: 1
[01:31:26][C][sen5x:285]:     Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:286]:   Temperature 'Temperature'
[01:31:26][C][sen5x:286]:     Device Class: 'temperature'
[01:31:26][C][sen5x:286]:     State Class: 'measurement'
[01:31:26][C][sen5x:286]:     Unit of Measurement: '°C'
[01:31:26][C][sen5x:286]:     Accuracy Decimals: 1
[01:31:26][C][sen5x:286]:     Icon: 'mdi:thermometer'
[01:31:26][C][sen5x:287]:   Humidity 'Humidity'
[01:31:26][C][sen5x:287]:     Device Class: 'humidity'
[01:31:26][C][sen5x:287]:     State Class: 'measurement'
[01:31:26][C][sen5x:287]:     Unit of Measurement: '%'
[01:31:26][C][sen5x:287]:     Accuracy Decimals: 0
[01:31:26][C][sen5x:287]:     Icon: 'mdi:water-percent'
[01:31:26][C][sen5x:288]:   VOC 'VOC'
[01:31:26][C][sen5x:288]:     Device Class: 'aqi'
[01:31:26][C][sen5x:288]:     State Class: 'measurement'
[01:31:26][C][sen5x:288]:     Unit of Measurement: ''
[01:31:26][C][sen5x:288]:     Accuracy Decimals: 0
[01:31:26][C][sen5x:288]:     Icon: 'mdi:radiator'
[01:31:26][C][ethernet:294]: Ethernet:
[01:31:26][C][ethernet:467]:   IP Address: (ip)
[01:31:26][C][ethernet:468]:   Hostname: 'wesp32-2'
[01:31:26][C][ethernet:469]:   Subnet: 255.255.255.0
[01:31:26][C][ethernet:470]:   Gateway: (ip)
[01:31:26][C][ethernet:475]:   DNS1: 0.0.0.0
[01:31:26][C][ethernet:476]:   DNS2: 0.0.0.0
[01:31:26][C][ethernet:493]:   MAC Address: (mac)
[01:31:26][C][ethernet:498]:   Is Full Duplex: YES
[01:31:26][C][ethernet:503]:   Link Speed: 100
[01:31:26][C][ethernet:308]:   MDC Pin: 16
[01:31:26][C][ethernet:309]:   MDIO Pin: 17
[01:31:26][C][ethernet:310]:   PHY addr: 0
[01:31:26][C][ethernet:312]:   Type: RTL8201
[01:31:27][C][web_server:169]: Web Server:
[01:31:27][C][web_server:170]:   Address: (ip)
[01:31:27][C][mdns:115]: mDNS:
[01:31:27][C][mdns:116]:   Hostname: wesp32-2
[01:31:27][V][mdns:117]:   Services:
[01:31:27][V][mdns:119]:   - _esphomelib, _tcp, 6053
[01:31:27][V][mdns:121]:     TXT: friendly_name = wesp32-2
[01:31:27][V][mdns:121]:     TXT: version = 2024.3.0
[01:31:27][V][mdns:121]:     TXT: mac = 94b555a8a68c
[01:31:27][V][mdns:121]:     TXT: platform = ESP32
[01:31:27][V][mdns:121]:     TXT: board = wesp32
[01:31:27][V][mdns:121]:     TXT: network = ethernet
[01:31:27][V][mdns:121]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[01:31:27][V][mdns:119]:   - _http, _tcp, 80
[01:31:27][C][ota:096]: Over-The-Air Updates:
[01:31:27][C][ota:097]:   Address: (ip)
[01:31:27][C][ota:100]:   Using Password.
[01:31:27][C][ota:103]:   OTA version: 2.
[01:31:27][C][api:139]: API Server:
[01:31:27][C][api:140]:   Address: (ip)
[01:31:27][C][api:142]:   Using noise encryption: YES
[01:31:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=253703 (now=263703)
[01:31:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=263703 (now=273703)
[01:31:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=219904 (now=279908)
[01:31:47][VV][uart.arduino_esp32:180]:     Flushing...
[01:31:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:31:48][VV][uart.arduino_esp32:180]:     Flushing...
[01:31:48][W][senseair:024]: Reading data from SenseAir failed!
[01:31:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:31:48][W][component:233]: Components should block for at most 30 ms.
[01:31:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:31:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=273703 (now=283703)
[01:31:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=228627 (now=288629)
[01:31:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:31:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:32:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=283703 (now=293703)
[01:32:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=237311 (now=297315)
[01:32:08][I][ota:117]: Boot seems successful, resetting boot loop counter.
[01:32:08][VV][esp32.preferences:040]: s_pending_save: key: 233825507, len: 4
[01:32:08][D][esp32.preferences:114]: Saving 1 preferences to flash...
[01:32:08][VV][esp32.preferences:123]: Checking if NVS data 233825507 has changed
[01:32:08][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[01:32:08][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[01:32:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=293703 (now=303703)
[01:32:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=303703 (now=313703)
[01:32:26][VV][api.connection:132]: Sending keepalive PING...
[01:32:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:32:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:32:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=313703 (now=323703)
[01:32:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=323703 (now=333707)
[01:32:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=279904 (now=339909)
[01:32:47][VV][uart.arduino_esp32:180]:     Flushing...
[01:32:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:32:48][VV][uart.arduino_esp32:180]:     Flushing...
[01:32:48][W][senseair:024]: Reading data from SenseAir failed!
[01:32:48][W][component:232]: Component senseair.sensor took a long time for an operation (132 ms).
[01:32:48][W][component:233]: Components should block for at most 30 ms.
[01:32:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:32:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=333703 (now=343703)
[01:32:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=288627 (now=348628)
[01:32:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:32:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:33:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=343703 (now=353703)
[01:33:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=297311 (now=357313)
[01:33:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=353703 (now=363706)
[01:33:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=363703 (now=373703)
[01:33:26][VV][api.connection:132]: Sending keepalive PING...
[01:33:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:33:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:33:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=373703 (now=383703)
[01:33:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=383703 (now=393703)
[01:33:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=339904 (now=399908)
[01:33:47][VV][uart.arduino_esp32:180]:     Flushing...
[01:33:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:33:48][VV][uart.arduino_esp32:180]:     Flushing...
[01:33:48][W][senseair:024]: Reading data from SenseAir failed!
[01:33:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:33:48][W][component:233]: Components should block for at most 30 ms.
[01:33:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:33:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=393703 (now=403703)
[01:33:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=348627 (now=408629)
[01:33:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:33:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:34:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=403703 (now=413703)
[01:34:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=357311 (now=417317)
[01:34:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=413703 (now=423703)
[01:34:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=423703 (now=433703)
[01:34:26][VV][api.connection:132]: Sending keepalive PING...
[01:34:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:34:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:34:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=433703 (now=443708)
[01:34:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=443703 (now=453706)
[01:34:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=399904 (now=459904)
[01:34:47][VV][uart.arduino_esp32:180]:     Flushing...
[01:34:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:34:48][VV][uart.arduino_esp32:180]:     Flushing...
[01:34:48][W][senseair:024]: Reading data from SenseAir failed!
[01:34:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:34:48][W][component:233]: Components should block for at most 30 ms.
[01:34:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:34:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=453703 (now=463708)
[01:34:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=408627 (now=468635)
[01:34:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:34:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:35:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=463703 (now=473704)
[01:35:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=417311 (now=477311)
[01:35:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=473703 (now=483704)
[01:35:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=483703 (now=493704)
[01:35:26][VV][api.connection:132]: Sending keepalive PING...
[01:35:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:35:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:35:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=493703 (now=503703)
[01:35:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=503703 (now=513703)
[01:35:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=459904 (now=519904)
[01:35:47][VV][uart.arduino_esp32:180]:     Flushing...
[01:35:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:35:48][VV][uart.arduino_esp32:180]:     Flushing...
[01:35:48][W][senseair:024]: Reading data from SenseAir failed!
[01:35:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:35:48][W][component:233]: Components should block for at most 30 ms.
[01:35:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:35:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=513703 (now=523707)
[01:35:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=468627 (now=528628)
[01:35:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:35:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:36:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=523703 (now=533703)
[01:36:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=477311 (now=537318)
[01:36:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=533703 (now=543703)
[01:36:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=543703 (now=553703)
[01:36:26][VV][api.connection:132]: Sending keepalive PING...
[01:36:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:36:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:36:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=553703 (now=563703)

Any ideas on my problem?

Both the I2C scans doesn’t find any devices, so I would start checking the wiring. I don’t have a wESP32 myself, but if I look at the pinout scheme at Hardware - wESP32 — Wired ESP32 with PoE I get the feeling that you are mixing up pinnumbers and IO definitions. In that scheme pin15 is the SCL and pin17 the SCA. But pin15 is GPIO04 and pin17 GPIO15, so I would change that in your yaml.

Furthermore you are using GPIO17 twice, for I2C and ethernet, that can be correct.

Last remark: Why are you using 2 different I2C busses? The I2C bus is designed to connect 256 devices to one single bus as long as the I2C addresses from the connected devices are unique.

1 Like

Changed code to, following the link you posted, which I hadn’t seen as all other things, and that page on the site, point to the product brief “for more details” which doesn’t include that table:

esphome:
  name: wesp32-2
  friendly_name: wesp32-2

esp32:
  board: wesp32
  framework:
    type: arduino

# Enable logging
logger:
  level: VERY_VERBOSE

# Enable Home Assistant API
api:
  encryption:
    key: (key)

ota:
  password: (pw) 

# for board rev.7 and up
ethernet:
  type: RTL8201
  mdc_pin: 
    number: GPIO16
    #allow_other_uses: true
  mdio_pin: 
    number: GPIO17
    #allow_other_uses: true
  clk_mode: GPIO0_IN
  phy_addr: 0
  
  # Optional manual IP
  manual_ip:
    static_ip: (IP)
    gateway: (IP)
    subnet: 255.255.255.0

web_server:
  port: 80

  # Example configuration entry
i2c:
   - id: bus_a
     sda: 
      number: GPIO15
      #allow_other_uses: true
     scl: 
      number: GPIO04
     scan: true
     #frequency: 10kHz
   - id: bus_b
     sda: 
      number: GPIO33
      allow_other_uses: true
     scl: 
      number: GPIO05
     scan: true
     #frequency: 10kHz


# Example configuration entry
uart:
  #id: uart_bus_a
  #rx_pin: GPIO13
  #tx_pin: GPIO16
  #baud_rate: 9600
  #id: uart_bus_b
  #debug:
    #direction: BOTH
    #dummy_receiver: false
    #after:
      #delimiter: "\n"
    #sequence:
      #- lambda: UARTDebug::log_string(direction, bytes);

  tx_pin: 
    number: GPIO33
    allow_other_uses: true
  rx_pin: 
    number: GPIO39
    #allow_other_uses: true
  baud_rate: 9600
    

# Example configuration entry
sensor:
  - platform: mics_4514
    i2c_id: bus_a
    address: 0x78
    nitrogen_dioxide:
      name: Nitrogen Dioxide
    carbon_monoxide:
      name: Carbon Monoxide
    hydrogen:
      name: Hydrogen
    ethanol:
      name: Ethanol
    methane:
      name: Methane
    ammonia:
      name: Ammonia
    update_interval: 60s
  - platform: senseair
    #uart_id: uart_bus_b
    co2:
      name: "SenseAir CO2 Value"
    update_interval: 60s
  - platform: sen5x
    i2c_id: bus_b
    id: sen55
    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

Otherwise the use of both busses was for assembly and troubleshooting ease as I was hoping to only use these 3 sensors in this use case. Solder/wire the three sets to their respective places and be done, but here we are.

The log of that:

INFO ESPHome 2024.3.0
INFO Reading configuration /config/esphome/wesp32-2.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from (ip) using esphome API
INFO Successfully connected to wesp32-2 @ (ip) in 0.003s
INFO Successful handshake with wesp32-2 @ (ip) in 0.162s
[04:10:26][I][app:102]: ESPHome version 2024.3.0 compiled on Apr  8 2024, 04:02:49
[04:10:26][C][logger:166]: Logger:
[04:10:26][C][logger:167]:   Level: VERY_VERBOSE
[04:10:26][C][logger:169]:   Log Baud Rate: 115200
[04:10:26][C][logger:170]:   Hardware UART: UART0
[04:10:26][C][i2c.arduino:059]: I2C Bus:
[04:10:26][C][i2c.arduino:060]:   SDA Pin: GPIO15
[04:10:26][C][i2c.arduino:061]:   SCL Pin: GPIO4
[04:10:26][C][i2c.arduino:062]:   Frequency: 50000 Hz
[04:10:26][C][i2c.arduino:065]:   Recovery: bus successfully recovered
[04:10:26][I][i2c.arduino:075]: Results from i2c bus scan:
[04:10:26][I][i2c.arduino:081]: Found i2c device at address 0x75
[04:10:26][C][i2c.arduino:059]: I2C Bus:
[04:10:26][C][i2c.arduino:060]:   SDA Pin: GPIO33
[04:10:26][C][i2c.arduino:061]:   SCL Pin: GPIO5
[04:10:26][C][i2c.arduino:062]:   Frequency: 50000 Hz
[04:10:26][C][i2c.arduino:065]:   Recovery: bus successfully recovered
[04:10:26][I][i2c.arduino:075]: Results from i2c bus scan:
[04:10:26][I][i2c.arduino:077]: Found no i2c devices!
[04:10:26][C][uart.arduino_esp32:137]: UART Bus 1:
[04:10:26][C][uart.arduino_esp32:138]:   TX Pin: GPIO33
[04:10:26][C][uart.arduino_esp32:139]:   RX Pin: GPIO39
[04:10:26][C][uart.arduino_esp32:141]:   RX Buffer Size: 256
[04:10:26][C][uart.arduino_esp32:143]:   Baud Rate: 9600 baud
[04:10:26][C][uart.arduino_esp32:144]:   Data Bits: 8
[04:10:26][C][uart.arduino_esp32:145]:   Parity: NONE
[04:10:26][C][uart.arduino_esp32:146]:   Stop bits: 1
[04:10:26][C][mics_4514:035]: MICS 4514:
[04:10:26][C][mics_4514:036]:   Address: 0x78
[04:10:26][C][mics_4514:037]:   Update Interval: 60.0s
[04:10:26][C][mics_4514:038]:   Nitrogen Dioxide 'Nitrogen Dioxide'
[04:10:26][C][mics_4514:038]:     State Class: 'measurement'
[04:10:26][C][mics_4514:038]:     Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:038]:     Accuracy Decimals: 2
[04:10:26][C][mics_4514:039]:   Carbon Monoxide 'Carbon Monoxide'
[04:10:26][C][mics_4514:039]:     State Class: 'measurement'
[04:10:26][C][mics_4514:039]:     Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:039]:     Accuracy Decimals: 2
[04:10:26][C][mics_4514:040]:   Methane 'Methane'
[04:10:26][C][mics_4514:040]:     State Class: 'measurement'
[04:10:26][C][mics_4514:040]:     Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:040]:     Accuracy Decimals: 2
[04:10:26][C][mics_4514:041]:   Ethanol 'Ethanol'
[04:10:26][C][mics_4514:041]:     State Class: 'measurement'
[04:10:26][C][mics_4514:041]:     Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:041]:     Accuracy Decimals: 2
[04:10:26][C][mics_4514:042]:   Hydrogen 'Hydrogen'
[04:10:26][C][mics_4514:042]:     State Class: 'measurement'
[04:10:26][C][mics_4514:042]:     Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:042]:     Accuracy Decimals: 2
[04:10:26][C][mics_4514:043]:   Ammonia 'Ammonia'
[04:10:26][C][mics_4514:043]:     State Class: 'measurement'
[04:10:26][C][mics_4514:043]:     Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:043]:     Accuracy Decimals: 2
[04:10:26][C][senseair:144]: SenseAir:
[04:10:26][C][senseair:145]:   CO2 'SenseAir CO2 Value'
[04:10:26][C][senseair:145]:     Device Class: 'carbon_dioxide'
[04:10:26][C][senseair:145]:     State Class: 'measurement'
[04:10:26][C][senseair:145]:     Unit of Measurement: 'ppm'
[04:10:26][C][senseair:145]:     Accuracy Decimals: 0
[04:10:26][C][senseair:145]:     Icon: 'mdi:molecule-co2'
[04:10:26][C][sen5x:238]: sen5x:
[04:10:26][C][sen5x:239]:   Address: 0x69
[04:10:26][W][sen5x:243]: Communication failed! Is the sensor connected?
[04:10:26][C][sen5x:262]:   Productname: 
[04:10:26][C][sen5x:263]:   Firmware version: 0
[04:10:26][C][sen5x:264]:   Serial number 00.00.00
[04:10:26][C][sen5x:271]:   Low RH/T acceleration mode
[04:10:26][C][sen5x:281]:   Update Interval: 10.0s
[04:10:26][C][sen5x:282]:   PM  1.0 ' PM <1µm Weight concentration'
[04:10:26][C][sen5x:282]:     Device Class: 'pm1'
[04:10:26][C][sen5x:282]:     State Class: 'measurement'
[04:10:26][C][sen5x:282]:     Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:282]:     Accuracy Decimals: 1
[04:10:26][C][sen5x:282]:     Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:283]:   PM  2.5 ' PM <2.5µm Weight concentration'
[04:10:26][C][sen5x:283]:     Device Class: 'pm25'
[04:10:26][C][sen5x:283]:     State Class: 'measurement'
[04:10:26][C][sen5x:283]:     Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:283]:     Accuracy Decimals: 1
[04:10:26][C][sen5x:283]:     Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:284]:   PM  4.0 ' PM <4µm Weight concentration'
[04:10:26][C][sen5x:284]:     State Class: 'measurement'
[04:10:26][C][sen5x:284]:     Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:284]:     Accuracy Decimals: 1
[04:10:26][C][sen5x:284]:     Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:285]:   PM 10.0 ' PM <10µm Weight concentration'
[04:10:26][C][sen5x:285]:     Device Class: 'pm10'
[04:10:26][C][sen5x:285]:     State Class: 'measurement'
[04:10:26][C][sen5x:285]:     Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:285]:     Accuracy Decimals: 1
[04:10:26][C][sen5x:285]:     Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:286]:   Temperature 'Temperature'
[04:10:26][C][sen5x:286]:     Device Class: 'temperature'
[04:10:26][C][sen5x:286]:     State Class: 'measurement'
[04:10:26][C][sen5x:286]:     Unit of Measurement: '°C'
[04:10:26][C][sen5x:286]:     Accuracy Decimals: 1
[04:10:26][C][sen5x:286]:     Icon: 'mdi:thermometer'
[04:10:26][C][sen5x:287]:   Humidity 'Humidity'
[04:10:26][C][sen5x:287]:     Device Class: 'humidity'
[04:10:26][C][sen5x:287]:     State Class: 'measurement'
[04:10:26][C][sen5x:287]:     Unit of Measurement: '%'
[04:10:26][C][sen5x:287]:     Accuracy Decimals: 0
[04:10:26][C][sen5x:287]:     Icon: 'mdi:water-percent'
[04:10:26][C][sen5x:288]:   VOC 'VOC'
[04:10:26][C][sen5x:288]:     Device Class: 'aqi'
[04:10:26][C][sen5x:288]:     State Class: 'measurement'
[04:10:26][C][sen5x:288]:     Unit of Measurement: ''
[04:10:26][C][sen5x:288]:     Accuracy Decimals: 0
[04:10:26][C][sen5x:288]:     Icon: 'mdi:radiator'
[04:10:26][C][ethernet:294]: Ethernet:
[04:10:26][C][ethernet:467]:   IP Address: (ip)
[04:10:26][C][ethernet:468]:   Hostname: 'wesp32-2'
[04:10:26][C][ethernet:469]:   Subnet: 255.255.255.0
[04:10:26][C][ethernet:470]:   Gateway: 192.168.1.1
[04:10:26][C][ethernet:475]:   DNS1: 0.0.0.0
[04:10:26][C][ethernet:476]:   DNS2: 0.0.0.0
[04:10:26][C][ethernet:493]:   MAC Address: 94:B5:55:A8:A6:8F
[04:10:26][C][ethernet:498]:   Is Full Duplex: YES
[04:10:26][C][ethernet:503]:   Link Speed: 100
[04:10:26][C][ethernet:308]:   MDC Pin: 16
[04:10:26][C][ethernet:309]:   MDIO Pin: 17
[04:10:26][C][ethernet:310]:   PHY addr: 0
[04:10:26][C][ethernet:312]:   Type: RTL8201
[04:10:26][C][web_server:169]: Web Server:
[04:10:26][C][web_server:170]:   Address: (ip)
[04:10:26][C][mdns:115]: mDNS:
[04:10:26][C][mdns:116]:   Hostname: wesp32-2
[04:10:26][V][mdns:117]:   Services:
[04:10:26][V][mdns:119]:   - _esphomelib, _tcp, 6053
[04:10:26][V][mdns:121]:     TXT: friendly_name = wesp32-2
[04:10:26][V][mdns:121]:     TXT: version = 2024.3.0
[04:10:26][V][mdns:121]:     TXT: mac = 94b555a8a68c
[04:10:26][V][mdns:121]:     TXT: platform = ESP32
[04:10:26][V][mdns:121]:     TXT: board = wesp32
[04:10:26][V][mdns:121]:     TXT: network = ethernet
[04:10:26][V][mdns:121]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[04:10:26][V][mdns:119]:   - _http, _tcp, 80
[04:10:26][C][ota:096]: Over-The-Air Updates:
[04:10:26][C][ota:097]:   Address: (ip)
[04:10:26][C][ota:100]:   Using Password.
[04:10:26][C][ota:103]:   OTA version: 2.
[04:10:26][C][api:139]: API Server:
[04:10:26][C][api:140]:   Address: (ip)
[04:10:26][C][api:142]:   Using noise encryption: YES
[04:10:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=414952 (now=424958)
[04:10:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=424952 (now=434956)
[04:10:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=434952 (now=444952)
[04:10:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=444952 (now=454952)
[04:11:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=402179 (now=462179)
[04:11:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:11:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:11:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=454952 (now=464958)
[04:11:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=406312 (now=466316)
[04:11:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=411534 (now=471534)
[04:11:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:11:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:11:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:11:14][W][senseair:024]: Reading data from SenseAir failed!
[04:11:14][W][component:232]: Component senseair.sensor took a long time for an operation (132 ms).
[04:11:14][W][component:233]: Components should block for at most 30 ms.
[04:11:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=464952 (now=474956)
[04:11:26][VV][api.connection:132]: Sending keepalive PING...
[04:11:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:11:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:11:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=474952 (now=484952)
[04:11:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=484952 (now=494953)
[04:11:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=494952 (now=504952)
[04:11:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=504952 (now=514953)
[04:12:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=462179 (now=522179)
[04:12:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:12:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:12:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=514952 (now=524958)
[04:12:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=466312 (now=526316)
[04:12:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=471534 (now=531534)
[04:12:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:12:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:12:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:12:14][W][senseair:024]: Reading data from SenseAir failed!
[04:12:14][W][component:232]: Component senseair.sensor took a long time for an operation (132 ms).
[04:12:14][W][component:233]: Components should block for at most 30 ms.
[04:12:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=524952 (now=534956)
[04:12:26][VV][api.connection:132]: Sending keepalive PING...
[04:12:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:12:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:12:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=534952 (now=544954)
[04:12:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=544952 (now=554954)
[04:12:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=554952 (now=564952)
[04:12:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=564952 (now=574953)
[04:13:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=522179 (now=582179)
[04:13:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:13:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:13:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=574952 (now=584958)
[04:13:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=526312 (now=586316)
[04:13:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=531534 (now=591534)
[04:13:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:13:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:13:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:13:14][W][senseair:024]: Reading data from SenseAir failed!
[04:13:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:13:14][W][component:233]: Components should block for at most 30 ms.
[04:13:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=584952 (now=594958)
[04:13:26][VV][api.connection:132]: Sending keepalive PING...
[04:13:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:13:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:13:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=594952 (now=604957)
[04:13:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=604952 (now=614952)
[04:13:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=614952 (now=624957)
[04:13:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=624952 (now=634952)
[04:14:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=582179 (now=642179)
[04:14:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:14:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:14:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=634952 (now=644959)
[04:14:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=586312 (now=646319)
[04:14:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=591534 (now=651534)
[04:14:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:14:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:14:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:14:14][W][senseair:024]: Reading data from SenseAir failed!
[04:14:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:14:14][W][component:233]: Components should block for at most 30 ms.
[04:14:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=644952 (now=654956)
[04:14:26][VV][api.connection:132]: Sending keepalive PING...
[04:14:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:14:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:14:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=654952 (now=664952)
[04:14:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=664952 (now=674954)
[04:14:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=674952 (now=684952)
[04:14:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=684952 (now=694952)
[04:15:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=642179 (now=702182)
[04:15:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:15:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:15:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=694952 (now=704952)
[04:15:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=646312 (now=706312)
[04:15:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=651534 (now=711540)
[04:15:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:15:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:15:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:15:14][W][senseair:024]: Reading data from SenseAir failed!
[04:15:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:15:14][W][component:233]: Components should block for at most 30 ms.
[04:15:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=704952 (now=714952)
[04:15:26][VV][api.connection:132]: Sending keepalive PING...
[04:15:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:15:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:15:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=714952 (now=724957)
[04:15:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=724952 (now=734952)
[04:15:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=734952 (now=744952)
[04:15:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=744952 (now=754953)
[04:16:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=702179 (now=762179)
[04:16:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:16:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:16:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=754952 (now=764958)
[04:16:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=706312 (now=766316)
[04:16:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=711534 (now=771534)
[04:16:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:16:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:16:14][VV][uart.arduino_esp32:180]:     Flushing...
[04:16:14][W][senseair:024]: Reading data from SenseAir failed!
[04:16:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:16:14][W][component:233]: Components should block for at most 30 ms.
[04:16:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=764952 (now=774956)
[04:16:26][VV][api.connection:132]: Sending keepalive PING...
[04:16:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:16:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:16:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=774952 (now=784954)

The Mics is now functional and is reporting, but the sen55 and the sensair is still not

So one off the problems is solved, now the next one. If I look at your YAML, you are using GPI033 twice, (for I2C and UART) and you suppress the message that can help you to identify this problem by using by the “allow_other_uses: true” statement. You should only use that statement if you are really sure you need that same pin twice, and you can only do this if the pin has the same function in both cases. Personally I didn’t see a situation were this is really needed. Doing this for mixing I2C and UART won’t give you a working environment. The pinout scheme is referring to GPIO12 for UART TX and GPIO13 for UART-RX when you want to use the UART0 bus.

Where is the UART0 bus?

Typo, must be UART1, see pinout explanation