koenvervloesem / M5Stack-Air-Quality-ESPHome

ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor
https://koenvervloesem.github.io/M5Stack-Air-Quality-ESPHome/
MIT License
49 stars 9 forks source link

Doesn't seem to work anymore #11

Open jkeilson opened 7 months ago

jkeilson commented 7 months ago

Trying to just install doesn't work right now and just boot loops. Am I missing something, or is this just user error?

INFO Successfully compiled program.
Found multiple options for uploading, please choose one:
  [1] /dev/ttyACM0 (USB Single Serial)
  [2] Over The Air (m5stack-air-quality-kit.local)
(number): 1
esptool.py v4.7.0
Serial port /dev/ttyACM0
Connecting....
Chip is ESP32-D0WDQ6-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 08:b6:1f:87:3a:54
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Flash will be erased from 0x00010000 to 0x000f9fff...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 958032 bytes to 621449...
Wrote 958032 bytes (621449 compressed) at 0x00010000 in 14.2 seconds (effective 538.2 kbit/s)...
Hash of data verified.
Warning: Image file at 0x1000 is protected with a hash checksum, so not changing the flash size setting. Use the --flash_size=keep option instead of --flash_size=16MB in order to remove this warning, or use the --dont-append-digest option for the elf2image command in order to generate an image file without a hash checksum
Compressed 18912 bytes to 13028...
Wrote 18912 bytes (13028 compressed) at 0x00001000 in 0.5 seconds (effective 280.8 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 498.8 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 655.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM0 with baud rate 115200
[03:05:02]\x80x\x80\xf8\xf8\x80\x80x\xf8\x80xxx\x80xx\x80xx\x80xxxx\x80x\x80xx\x80x\x80xx\x80x\x80x\x80xxx\x80xx\x80x\xf8x\xf8p: 0, SPIWP:0xee
[03:05:02]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[03:05:02]mode:DIO, clock div:1
[03:05:02]load:0x3fff0030,len:1344
[03:05:02]load:0x40078000,len:13864
[03:05:02]load:0x40080400,len:3608
[03:05:02]entry 0x400805f0
[03:05:02]E (219) psram: PSRAM ID read error: 0xffffffff
[03:05:02][I][logger:359]: Log initialized
[03:05:02][C][ota:483]: There have been 0 suspected unsuccessful boot attempts.
[03:05:02][D][esp32.preferences:114]: Saving 1 preferences to flash...
[03:05:02][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[03:05:02][D][ili9xxx:036]: Command EF, length 3, bits 03
[03:05:02][D][ili9xxx:036]: Command CF, length 3, bits 00
[03:05:02][D][ili9xxx:036]: Command ED, length 4, bits 64
[03:05:02][D][ili9xxx:036]: Command E8, length 3, bits 85
[03:05:02][D][ili9xxx:036]: Command CB, length 5, bits 39
[03:05:02][D][ili9xxx:036]: Command F7, length 1, bits 20
[03:05:02][D][ili9xxx:036]: Command EA, length 2, bits 00
[03:05:02][D][ili9xxx:036]: Command C0, length 1, bits 23
[03:05:02][D][ili9xxx:036]: Command C1, length 1, bits 10
[03:05:02][D][ili9xxx:036]: Command C5, length 2, bits 3E
[03:05:02][D][ili9xxx:036]: Command C7, length 1, bits 86
[03:05:02][D][ili9xxx:036]: Command 36, length 1, bits 08
[03:05:02][D][ili9xxx:036]: Command 37, length 1, bits 00
[03:05:02][D][ili9xxx:036]: Command 3A, length 1, bits 55
[03:05:02][D][ili9xxx:036]: Command B1, length 2, bits 00
[03:05:02][D][ili9xxx:036]: Command B6, length 3, bits 08
[03:05:02][D][ili9xxx:036]: Command F2, length 1, bits 00
[03:05:02][D][ili9xxx:036]: Command 26, length 1, bits 01
[03:05:02][D][ili9xxx:036]: Command E0, length 15, bits 0F
[03:05:02][D][ili9xxx:036]: Command E1, length 15, bits 00
[03:05:02][D][ili9xxx:036]: Command 11, length 0, bits 29
[03:05:02][D][ili9xxx:036]: Command 29, length 0, bits 00
[03:05:02][I][app:029]: Running through setup()...
[03:05:02][I][i2c.arduino:183]: Performing I2C bus recovery
[03:05:02][D][spi:039]: Setting up SPI bus...
[03:05:02][C][uart.arduino_esp32:077]: Setting up UART...
[03:05:02][D][ledc.output:055]: Calculating resolution bit-depth for frequency 1000.000000
[03:05:02][D][ledc.output:060]: Resolution calculated as 16
[03:05:02][D][ili9xxx:034]: Setting up ILI9xxx
[03:05:02][D][spi_device:379]: mode 0, data_rate 40000kHz
[03:05:02][D][ili9xxx:030]: Wrote MADCTL 0x08
[03:05:02][E][display:017]: Could not allocate buffer for display!
[03:05:02][D][binary_sensor:034]: 'M5_BtnB': Sending initial state OFF
[03:05:02][C][light:035]: Setting up light 'Display Backlight'...
[03:05:02][D][light:036]: 'Display Backlight' Setting:
[03:05:02][D][light:041]:   Color mode: 
[03:05:02][D][light:047]:   State: ON
[03:05:02][D][light:085]:   Transition length: 1.0s
[03:05:03][  1613][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:03][E][SHT20:021]: Sensor is not connected
[03:05:03][C][wifi:038]: Setting up WiFi...
[03:05:03][C][wifi:051]: Starting WiFi...
[03:05:03][C][wifi:052]:   Local MAC: 08:B6:1F:87:3A:54
[03:05:04][C][wifi:254]: Setting up AP...
[03:05:04][C][wifi:256]:   AP SSID: 'm5stack-air-quality-kit-873a54'
[03:05:04][C][wifi:257]:   AP Password: '12345678'
[03:05:04][C][wifi:266]:   IP Address: 192.168.4.1
[03:05:04][D][wifi:459]: Starting scan...
[03:05:04][C][ota:096]: Over-The-Air Updates:
[03:05:04][C][ota:097]:   Address: m5stack-air-quality-kit.local:3232
[03:05:04][C][ota:103]:   OTA version: 2.
[03:05:04][C][api:025]: Setting up Home Assistant API server...
[03:05:04][D][wifi:459]: Starting scan...
[03:05:04][I][app:062]: setup() finished successfully!
[03:05:04][W][component:214]: Component display took a long time for an operation (0.10 s).
[03:05:04][W][component:215]: Components should block for at most 20-30ms.
[03:05:05][  3570][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:07][  4670][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:07][D][sensor:094]: 'Temperature': Sending state 128.86732 °C with 2 decimals of accuracy
[03:05:08][  5701][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:09][  6741][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:09][D][sensor:094]: 'Humidity': Sending state 118.00000 % with 2 decimals of accuracy
[03:05:09]E (7752) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[03:05:09]E (7752) task_wdt:  - loopTask (CPU 1)
[03:05:09]E (7752) task_wdt: Tasks currently running:
[03:05:09]E (7752) task_wdt: CPU 0: IDLE
[03:05:09]E (7752) task_wdt: CPU 1: IDLE
[03:05:09]E (7752) task_wdt: Aborting.
[03:05:09]
[03:05:09]abort() was called at PC 0x401008dc on core 0
[03:05:09]
[03:05:09]
[03:05:09]Backtrace:0x40083e39:0x3ffbeaac |<-CORRUPTED
WARNING Found stack trace! Trying to decode it
WARNING Decoded 0x40083e39: panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402
[03:05:09]
[03:05:09]
[03:05:09]
[03:05:09]
[03:05:09]ELF file SHA256: 0000000000000000
[03:05:09]
[03:05:09]Rebooting...
[03:05:09]ets Jul 29 2019 12:21:46
[03:05:09]
[03:05:09]rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
[03:05:09]configsip: 0, SPIWP:0xee
[03:05:09]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[03:05:09]mode:DIO, clock div:1
[03:05:09]load:0x3fff0030,len:1344
[03:05:09]load:0x40078000,len:13864
[03:05:09]load:0x40080400,len:3608
[03:05:09]entry 0x400805f0
[03:05:10]E (219) psram: PSRAM ID read error: 0xffffffff
[03:05:10][I][logger:359]: Log initialized
[03:05:10][C][ota:483]: There have been 1 suspected unsuccessful boot attempts.
[03:05:10][D][esp32.preferences:114]: Saving 1 preferences to flash...
[03:05:10][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[03:05:10][D][ili9xxx:036]: Command EF, length 3, bits 03
[03:05:10][D][ili9xxx:036]: Command CF, length 3, bits 00
[03:05:10][D][ili9xxx:036]: Command ED, length 4, bits 64
[03:05:10][D][ili9xxx:036]: Command E8, length 3, bits 85
[03:05:10][D][ili9xxx:036]: Command CB, length 5, bits 39
[03:05:10][D][ili9xxx:036]: Command F7, length 1, bits 20
[03:05:10][D][ili9xxx:036]: Command EA, length 2, bits 00
[03:05:10][D][ili9xxx:036]: Command C0, length 1, bits 23
[03:05:10][D][ili9xxx:036]: Command C1, length 1, bits 10
[03:05:10][D][ili9xxx:036]: Command C5, length 2, bits 3E
[03:05:10][D][ili9xxx:036]: Command C7, length 1, bits 86
[03:05:10][D][ili9xxx:036]: Command 36, length 1, bits 08
[03:05:10][D][ili9xxx:036]: Command 37, length 1, bits 00
[03:05:10][D][ili9xxx:036]: Command 3A, length 1, bits 55
[03:05:10][D][ili9xxx:036]: Command B1, length 2, bits 00
[03:05:10][D][ili9xxx:036]: Command B6, length 3, bits 08
[03:05:10][D][ili9xxx:036]: Command F2, length 1, bits 00
[03:05:10][D][ili9xxx:036]: Command 26, length 1, bits 01
[03:05:10][D][ili9xxx:036]: Command E0, length 15, bits 0F
[03:05:10][D][ili9xxx:036]: Command E1, length 15, bits 00
[03:05:10][D][ili9xxx:036]: Command 11, length 0, bits 29
[03:05:10][D][ili9xxx:036]: Command 29, length 0, bits 00
[03:05:10][I][app:029]: Running through setup()...
[03:05:10][I][i2c.arduino:183]: Performing I2C bus recovery
[03:05:10][D][spi:039]: Setting up SPI bus...
[03:05:10][C][uart.arduino_esp32:077]: Setting up UART...
[03:05:10][D][ledc.output:055]: Calculating resolution bit-depth for frequency 1000.000000
[03:05:10][D][ledc.output:060]: Resolution calculated as 16
[03:05:10][D][ili9xxx:034]: Setting up ILI9xxx
[03:05:10][D][spi_device:379]: mode 0, data_rate 40000kHz
[03:05:10][D][ili9xxx:030]: Wrote MADCTL 0x08
[03:05:10][E][display:017]: Could not allocate buffer for display!
[03:05:10][D][binary_sensor:034]: 'M5_BtnB': Sending initial state OFF
[03:05:10][C][light:035]: Setting up light 'Display Backlight'...
[03:05:10][D][light:036]: 'Display Backlight' Setting:
[03:05:10][D][light:041]:   Color mode: 
[03:05:10][D][light:047]:   State: ON
[03:05:10][D][light:085]:   Transition length: 1.0s
[03:05:11][  1570][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:11][E][SHT20:021]: Sensor is not connected
[03:05:11][C][wifi:038]: Setting up WiFi...
[03:05:11][C][wifi:051]: Starting WiFi...
[03:05:11][C][wifi:052]:   Local MAC: 08:B6:1F:87:3A:54
[03:05:11][C][wifi:254]: Setting up AP...
[03:05:11][C][wifi:256]:   AP SSID: 'm5stack-air-quality-kit-873a54'
[03:05:11][C][wifi:257]:   AP Password: '12345678'
[03:05:12][C][wifi:266]:   IP Address: 192.168.4.1
[03:05:12][D][wifi:459]: Starting scan...
[03:05:12][C][ota:096]: Over-The-Air Updates:
[03:05:12][C][ota:097]:   Address: m5stack-air-quality-kit.local:3232
[03:05:12][C][ota:103]:   OTA version: 2.
[03:05:12][C][api:025]: Setting up Home Assistant API server...
[03:05:12][D][wifi:459]: Starting scan...
[03:05:12][I][app:062]: setup() finished successfully!
[03:05:13][  3354][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:14][  4454][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:14][D][sensor:094]: 'Temperature': Sending state 128.86732 °C with 2 decimals of accuracy
[03:05:15][  5485][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:16][  6525][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:16][D][sensor:094]: 'Humidity': Sending state 118.00000 % with 2 decimals of accuracy
[03:05:17]E (7548) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[03:05:17]E (7548) task_wdt:  - loopTask (CPU 1)
[03:05:17]E (7548) task_wdt: Tasks currently running:
[03:05:17]E (7548) task_wdt: CPU 0: IDLE
[03:05:17]E (7548) task_wdt: CPU 1: IDLE
[03:05:17]E (7548) task_wdt: Aborting.
[03:05:17]
[03:05:17]abort() was called at PC 0x401008dc on core 0
[03:05:17]
[03:05:17]
[03:05:17]Backtrace:0x40083e39:0x3ffbeaac |<-CORRUPTED
WARNING Found stack trace! Trying to decode it
WARNING Decoded 0x40083e39: panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402
[03:05:17]
[03:05:17]
[03:05:17]
[03:05:17]
[03:05:17]ELF file SHA256: 0000000000000000
[03:05:17]
[03:05:17]Rebooting...
[03:05:17]ets Jul 29 2019 12:21:46
[03:05:17]
[03:05:17]rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
[03:05:17]configsip: 0, SPIWP:0xee
[03:05:17]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[03:05:17]mode:DIO, clock div:1
[03:05:17]load:0x3fff0030,len:1344
[03:05:17]load:0x40078000,len:13864
[03:05:17]load:0x40080400,len:3608
[03:05:17]entry 0x400805f0
[03:05:17]E (219) psram: PSRAM ID read error: 0xffffffff
[03:05:17][I][logger:359]: Log initialized
[03:05:17][C][ota:483]: There have been 2 suspected unsuccessful boot attempts.
[03:05:17][D][esp32.preferences:114]: Saving 1 preferences to flash...
[03:05:17][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[03:05:17][D][ili9xxx:036]: Command EF, length 3, bits 03
[03:05:18][D][ili9xxx:036]: Command CF, length 3, bits 00
[03:05:18][D][ili9xxx:036]: Command ED, length 4, bits 64
[03:05:18][D][ili9xxx:036]: Command E8, length 3, bits 85
[03:05:18][D][ili9xxx:036]: Command CB, length 5, bits 39
[03:05:18][D][ili9xxx:036]: Command F7, length 1, bits 20
[03:05:18][D][ili9xxx:036]: Command EA, length 2, bits 00
[03:05:18][D][ili9xxx:036]: Command C0, length 1, bits 23
[03:05:18][D][ili9xxx:036]: Command C1, length 1, bits 10
[03:05:18][D][ili9xxx:036]: Command C5, length 2, bits 3E
[03:05:18][D][ili9xxx:036]: Command C7, length 1, bits 86
[03:05:18][D][ili9xxx:036]: Command 36, length 1, bits 08
[03:05:18][D][ili9xxx:036]: Command 37, length 1, bits 00
[03:05:18][D][ili9xxx:036]: Command 3A, length 1, bits 55
[03:05:18][D][ili9xxx:036]: Command B1, length 2, bits 00
[03:05:18][D][ili9xxx:036]: Command B6, length 3, bits 08
[03:05:18][D][ili9xxx:036]: Command F2, length 1, bits 00
[03:05:18][D][ili9xxx:036]: Command 26, length 1, bits 01
[03:05:18][D][ili9xxx:036]: Command E0, length 15, bits 0F
[03:05:18][D][ili9xxx:036]: Command E1, length 15, bits 00
[03:05:18][D][ili9xxx:036]: Command 11, length 0, bits 29
[03:05:18][D][ili9xxx:036]: Command 29, length 0, bits 00
[03:05:18][I][app:029]: Running through setup()...
[03:05:18][I][i2c.arduino:183]: Performing I2C bus recovery
[03:05:18][D][spi:039]: Setting up SPI bus...
[03:05:18][C][uart.arduino_esp32:077]: Setting up UART...
[03:05:18][D][ledc.output:055]: Calculating resolution bit-depth for frequency 1000.000000
[03:05:18][D][ledc.output:060]: Resolution calculated as 16
[03:05:18][D][ili9xxx:034]: Setting up ILI9xxx
[03:05:18][D][spi_device:379]: mode 0, data_rate 40000kHz
[03:05:18][D][ili9xxx:030]: Wrote MADCTL 0x08
[03:05:18][E][display:017]: Could not allocate buffer for display!
[03:05:18][D][binary_sensor:034]: 'M5_BtnB': Sending initial state OFF
[03:05:18][C][light:035]: Setting up light 'Display Backlight'...
[03:05:18][D][light:036]: 'Display Backlight' Setting:
[03:05:18][D][light:041]:   Color mode: 
[03:05:18][D][light:047]:   State: ON
[03:05:18][D][light:085]:   Transition length: 1.0s
[03:05:19][  1570][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:19][E][SHT20:021]: Sensor is not connected
[03:05:19][C][wifi:038]: Setting up WiFi...
[03:05:19][C][wifi:051]: Starting WiFi...
[03:05:19][C][wifi:052]:   Local MAC: 08:B6:1F:87:3A:54
[03:05:19][C][wifi:254]: Setting up AP...
[03:05:19][C][wifi:256]:   AP SSID: 'm5stack-air-quality-kit-873a54'
[03:05:19][C][wifi:257]:   AP Password: '12345678'
[03:05:20][C][wifi:266]:   IP Address: 192.168.4.1
[03:05:20][D][wifi:459]: Starting scan...
[03:05:20][C][ota:096]: Over-The-Air Updates:
[03:05:20][C][ota:097]:   Address: m5stack-air-quality-kit.local:3232
[03:05:20][C][ota:103]:   OTA version: 2.
[03:05:20][W][ota:107]: Last Boot was an unhandled reset, will proceed to safe mode in 8 restarts
[03:05:20][C][api:025]: Setting up Home Assistant API server...
[03:05:20][D][wifi:459]: Starting scan...
[03:05:20][I][app:062]: setup() finished successfully!
[03:05:21][  3362][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:22][  4462][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:22][D][sensor:094]: 'Temperature': Sending state 128.86732 °C with 2 decimals of accuracy
[03:05:23][  5493][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:24][  6533][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[03:05:24][D][sensor:094]: 'Humidity': Sending state 118.00000 % with 2 decimals of accuracy
[03:05:25]E (7556) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[03:05:25]E (7556) task_wdt:  - loopTask (CPU 1)
[03:05:25]E (7556) task_wdt: Tasks currently running:
[03:05:25]E (7556) task_wdt: CPU 0: IDLE
[03:05:25]E (7556) task_wdt: CPU 1: IDLE
[03:05:25]E (7556) task_wdt: Aborting.
[03:05:25]
[03:05:25]abort() was called at PC 0x401008dc on core 0
[03:05:25]
[03:05:25]
[03:05:25]Backtrace:0x40083e39:0x3ffbeaac |<-CORRUPTED
WARNING Found stack trace! Trying to decode it
WARNING Decoded 0x40083e39: panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402
[03:05:25]
[03:05:25]
[03:05:25]
[03:05:25]
[03:05:25]ELF file SHA256: 0000000000000000
[03:05:25]
[03:05:25]Rebooting...
[03:05:25]ets Jul 29 2019 12:21:46
[03:05:25]
[03:05:25]rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
[03:05:25]configsip: 0, SPIWP:0xee
[03:05:25]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[03:05:25]mode:DIO, clock div:1
[03:05:25]load:0x3fff0030,len:1344
[03:05:25]load:0x40078000,len:13864
[03:05:25]load:0x40080400,len:3608
[03:05:25]entry 0x400805f0
[03:05:25]E (219) psram: PSRAM ID read error: 0xffffffff
[03:05:25][I][logger:359]: Log initialized
[03:05:25][C][ota:483]: There have been 3 suspected unsuccessful boot attempts.
jkeilson commented 7 months ago

My initial post was light on details. I tried installing using the web installer and the esphome CLI with your yaml. Both "succeeded", but then the device would not visibly start up, and I've captured the text output above. Based on your comment in issue 10, I figured it could be faulty hardware, but then went to flash with something else, and was able to successfully flash it the UIFlow firmware, and even get sensor readings, so I'm not inclined to believe that the hardware is faulty. I think the more likely case is that there's a new hardware revision that is poorly documented/communicated by the M5stack folks:

SKU:K023 vs K023-B (which is what I have)

The key difference seems to be that the sensor changes from the SHT20 to the SHT30, but maybe there's other stuff too. In any case, the i2c address is different (0x40 vs 0x45) and I can't imagine that the SHT20 library included will work. Would you prefer to close this as out of scope? I can fork and try to work through it, though I'd appreciate your expertise.

koenvervloesem commented 7 months ago

Thanks for figuring this out, @jkeilson! I would be happy to accept a PR adding support for this new hardware revision. The sensor seems to be supported by ESPHome in the sht3xd platform.