Firmware update for ESP32-S3-BOX-3 crashes HA

Recently I bought myself a S3-BOX-3, I have seen several cool videos about using that device for a voice assistant.

So I purchased one and started the project to control the house with my voice assistant.

With a lot of enthusiasm I followed this guide ESP32-S3-BOX voice assistant - Home Assistant but like everybody else I got stuck at the WIFI settings.

Thanks to a post on this forum I got it working.

Someone told us he has to unplug and reconnect the device and select log / console for 17 times to get to the WiFi settings.

Lucky me I only had to do that 12 times!

After that I had to adopt it to ESPHome and then It should work right?

I looked at the box and said Oke, Nabu … nothing… I know, I don’t speak very loud so I spoke a bit louder again Oke, Nabu … nothing

Hmm strange!

I started debugging the voice assistant that seems to work.
Wake word was recognized, voice to text worked.

So I moved a bit closer to the box and said Oke, Nabu and there it goes its figuring out what to do.
It does not work yet but for now it recognizes the wake word.

This morning I see a firmware update for the box 2024.5.4, that’s cool lets update it. I started it and waited to complete… Suddenly my HA just died, it rebooted and started again!

Strange, I did the process again same behavior. It tries to install and after a few minutes it completely take down HA.

Anybody else that got the same?

Another thing is, when installing new settings into the box it starts compiling and everytime when it compiles Compiling .pioenvs/esp32-s3-box-3-059a78/components/esp-tflite-micro/tensorflow/lite/micro/micro_context.o it takes down HA.

Can someone help me out with setting this up correctly so I can continue with this project

HA is running the latest versions on a Hardkernel ODROID-N2/N2+ with 4GB RAM

1 Like

yes thanks hero!

I have the same problem and I am beyond frustrated. But I’ll keep looking and trying anything I can find.

Did you try the fix above?

The fix above will resolve crashing HA when updating the device.

But the S3-Box-3 is still not working like I see on all those cool videos.

It will react on the wake-word but then every sentence or simple word like goodnight that should trigger an simple automation for turning off a few lights does not work.

When debugging the voice assistant everything works like a charm, but when I try to get the box execute them it wont work.

Maybe the update that is running at this moment will fix a few things.

Updated to the latest version, still no luck.

Box will react to the wake word, okay nabu, then goodnight.
Box reacts with could not understand that.

Yes, I tried the compile limit at β€œ1” but sadly it crashed much quicker.

Could you share your config file withus?

Because when I added this

esphome:
compile_process_limit: 1

The problem of crashing was solved, it will take a lot longer to compile because it only uses one process now instead of all available.

Absolutely, Its running on an RPI4-8gb by USB directly into the box, no dock for the box. I have 6 devices in my ESP Home and this is the only one that won’t complete a flash. Thanks for looking at it.

substitutions:
  name: esp32-s3-box-3-0502c8
  friendly_name: havoice_box3_1
packages:
  esphome.voice-assistant: github://esphome/firmware/wake-word-voice-assistant/esp32-s3-box-3.yaml
  #esphome.voice-assistant: github://jaymunro/esphome_firmware/wake-word-voice-assistant/esp32-s3-box-3.yaml@continued-conversation
  #esphome.voice-assistant-sensor: github://jaymunro/esphome_firmware/esp32-box-docks/box3-sensor-for-voice-assistant.yaml@sensor_dock

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  compile_process_limit: 1
api:
  encryption:
    key: hvnt4nq85rUjY/0yE7ePqF57cW9IbA5GCbOLFUjvt70=

voice_assistant:
  volume_multiplier: 4.0

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

i2c:
  - id: bus_a
    sda: GPIO08
    scl: GPIO18
    scan: true

  - sda: GPIO41
    scl: GPIO40
    id: bus_b

sensor:
  - platform: aht10
    i2c_id: bus_b
    variant: AHT20
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidity"
    update_interval: 60s

  - platform: adc
    pin: GPIO10
    name: "Battery voltage"
    id: battery_voltage
    unit_of_measurement: "V"
    accuracy_decimals: 3
    device_class: "voltage"
    entity_category: "diagnostic"
    update_interval: 30s
    attenuation: auto
    filters:
        - multiply: 4.01

  - platform: copy
    source_id: battery_voltage
    name: "Battery level"
    unit_of_measurement: "%"
    accuracy_decimals: 1
    device_class: "battery"
    entity_category: "diagnostic"
    filters:
      - lambda: return (x - 2.5) / (4.2 - 2.5) * 100;
      - clamp:
          min_value: 0
          max_value: 100
          ignore_out_of_range: true

switch:
  - platform: template
    name: "Mute when absent"
    id: mute_when_absent
    icon: mdi:account-right-arrow
    optimistic: true
    entity_category: config
    restore_mode: RESTORE_DEFAULT_OFF

number:
  - platform: template
    name: "Presence duration"
    id: radar_delayed_off
    icon: mdi:account-clock
    optimistic: true
    restore_value: true
    initial_value: 60
    min_value: 0
    step: 5
    max_value: 300
    unit_of_measurement: s
    entity_category: config
    mode: box

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO21
    name: "Presence detect"
    disabled_by_default: false
    device_class: "occupancy"
    filters:
      - delayed_off: !lambda return id(radar_delayed_off).state * 1000;
    on_release:
      then:
        - if:
            condition: 
              switch.is_on: mute_when_absent
            then:
              - switch.turn_on: mute
              - light.turn_off: led
    on_press:
      then:
        - if:
            condition: 
              switch.is_on: mute_when_absent
            then:
              - switch.turn_off: mute
              - light.turn_on: led

I just did a β€œclean build files” and β€œinstall” in order to show you the log. I didn’t see anything other the i2s warnings. Also, it doesn’t always crash at the same place every time. Thanks again.

INFO ESPHome 2024.5.5
INFO Reading configuration /config/esphome/esp32-s3-box-3-0502c8.yaml...
INFO Updating https://github.com/esphome/esphome.git@pull/5230/head
WARNING GPIO0 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 Generating C++ source...
INFO Updating https://github.com/jesserockz/esp32-s3-box-3-board.git@main
INFO Updating https://github.com/espressif/[email protected]
INFO Updating submodules (components/esp-sr, components/esp-adf-libs) for https://github.com/espressif/[email protected]
INFO Updating https://github.com/espressif/[email protected]
INFO Updating https://github.com/espressif/esp-tflite-micro@None
INFO Compiling app...
Processing esp32-s3-box-3-0502c8 (board: esp32s3box; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
Library Manager: Installing esphome/Improv @ 1.2.3
INFO Installing esphome/Improv @ 1.2.3
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/noise-c @ 0.1.4
INFO Installing esphome/noise-c @ 0.1.4
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.1
INFO Installing esphome/libsodium @ 1.10018.1
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP32S3 240MHz, 320KB RAM, 16MB Flash
 - framework-espidf @ 3.40407.0 (4.4.7) 
 - tool-cmake @ 3.16.9 
 - tool-ninja @ 1.10.2 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Creating a new virtual environment for IDF Python dependencies
Installing ESP-IDF's Python dependencies
Collecting urllib3<2
  Downloading urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.8/143.8 kB 1.1 MB/s eta 0:00:00
Collecting cryptography<35.0.0,>=2.1.4
  Downloading cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 5.5 MB/s eta 0:00:00
Collecting future>=0.18.3
  Downloading future-1.0.0-py3-none-any.whl (491 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 491.3/491.3 kB 7.1 MB/s eta 0:00:00
Collecting pyparsing<2.4.0,>=2.0.3
  Downloading pyparsing-2.3.1-py2.py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 kB 8.9 MB/s eta 0:00:00
Collecting kconfiglib~=13.7.1
  Downloading kconfiglib-13.7.1-py2.py3-none-any.whl (145 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 145.7/145.7 kB 5.3 MB/s eta 0:00:00
Collecting idf-component-manager~=1.0
  Downloading idf_component_manager-1.5.2-py2.py3-none-any.whl (160 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 160.3/160.3 kB 9.1 MB/s eta 0:00:00
Collecting cffi>=1.12
  Downloading cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 466.6/466.6 kB 5.7 MB/s eta 0:00:00
Collecting packaging
  Downloading packaging-24.0-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 kB 19.7 MB/s eta 0:00:00
Collecting requests<3
  Downloading requests-2.32.3-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.9/64.9 kB 14.9 MB/s eta 0:00:00
Collecting requests-file<2
  Downloading requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
Collecting requests-toolbelt
  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 13.1 MB/s eta 0:00:00
Collecting schema
  Downloading schema-0.7.7-py2.py3-none-any.whl (18 kB)
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting tqdm<5
  Downloading tqdm-4.66.4-py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.3/78.3 kB 14.4 MB/s eta 0:00:00
Collecting colorama
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting pyyaml>5.2
  Downloading PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (732 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 732.2/732.2 kB 6.1 MB/s eta 0:00:00
Collecting cachecontrol[filecache]>0.12.6
  Downloading cachecontrol-0.14.0-py3-none-any.whl (22 kB)
Collecting contextlib2>0.6.0
  Downloading contextlib2-21.6.0-py2.py3-none-any.whl (13 kB)
Collecting click
  Downloading click-8.1.7-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 8.1 MB/s eta 0:00:00
Collecting msgpack<2.0.0,>=0.5.2
  Downloading msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (400 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 400.8/400.8 kB 5.9 MB/s eta 0:00:00
Collecting filelock>=3.8.0
  Downloading filelock-3.14.0-py3-none-any.whl (12 kB)
Collecting pycparser
  Downloading pycparser-2.22-py3-none-any.whl (117 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 7.7 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2
  Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (136 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 136.6/136.6 kB 1.4 MB/s eta 0:00:00
Collecting idna<4,>=2.5
  Downloading idna-3.7-py3-none-any.whl (66 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.8/66.8 kB 4.4 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading certifi-2024.6.2-py3-none-any.whl (164 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.4/164.4 kB 3.7 MB/s eta 0:00:00
Installing collected packages: schema, pyparsing, urllib3, tqdm, six, pyyaml, pycparser, packaging, msgpack, kconfiglib, idna, future, filelock, contextlib2, colorama, click, charset-normalizer, certifi, requests, cffi, requests-toolbelt, requests-file, cryptography, cachecontrol, idf-component-manager
Successfully installed cachecontrol-0.14.0 certifi-2024.6.2 cffi-1.16.0 charset-normalizer-3.3.2 click-8.1.7 colorama-0.4.6 contextlib2-21.6.0 cryptography-3.4.8 filelock-3.14.0 future-1.0.0 idf-component-manager-1.5.2 idna-3.7 kconfiglib-13.7.1 msgpack-1.0.8 packaging-24.0 pycparser-2.22 pyparsing-2.3.1 pyyaml-6.0.1 requests-2.32.3 requests-file-1.5.1 requests-toolbelt-1.0.0 schema-0.7.7 six-1.16.0 tqdm-4.66.4 urllib3-1.26.18
Reading CMake configuration...
Generating assembly for certificate bundle...
Dependency Graph
|-- Improv @ 1.2.3
|-- noise-c @ 0.1.4
Generating assembly for .pioenvs/esp32-s3-box-3-0502c8/duer_profile.S
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/adc/adc_sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/aht10/aht10.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/api_connection.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/api_frame_helper.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/api_pb2.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/api_pb2_service.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/api_server.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/list_entities.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/proto.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/subscribe_state.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/api/user_services.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/binary_sensor/automation.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/binary_sensor/binary_sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/binary_sensor/filter.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/button/button.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/copy/sensor/copy_sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/dashboard_import/dashboard_import.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/display/display.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/display/display_buffer.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/display/rect.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32/core.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32/gpio.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32/preferences.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble/ble.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble/ble_advertising.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble/ble_uuid.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble_server/ble_2901.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble_server/ble_2902.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble_server/ble_characteristic.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble_server/ble_descriptor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble_server/ble_server.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_ble_server/ble_service.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp32_improv/esp32_improv_component.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp_adf/esp_adf.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp_adf/microphone/esp_adf_microphone.o
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp: In static member function 'static void esphome::esp_adf::ESPADFMicrophone::read_task(void*)':
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp:110:3: warning: missing initializer for member 'i2s_driver_config_t::chan_mask' [-Wmissing-field-initializers]
   };
   ^
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp:110:3: warning: missing initializer for member 'i2s_driver_config_t::total_chan' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp:110:3: warning: missing initializer for member 'i2s_driver_config_t::left_align' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp:110:3: warning: missing initializer for member 'i2s_driver_config_t::big_edin' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp:110:3: warning: missing initializer for member 'i2s_driver_config_t::bit_order_msb' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp:110:3: warning: missing initializer for member 'i2s_driver_config_t::skip_msk' [-Wmissing-field-initializers]
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/esp_adf/speaker/esp_adf_speaker.o
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp: In static member function 'static void esphome::esp_adf::ESPADFSpeaker::player_task(void*)':
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp:77:3: warning: missing initializer for member 'i2s_driver_config_t::chan_mask' [-Wmissing-field-initializers]
   };
   ^
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp:77:3: warning: missing initializer for member 'i2s_driver_config_t::total_chan' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp:77:3: warning: missing initializer for member 'i2s_driver_config_t::left_align' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp:77:3: warning: missing initializer for member 'i2s_driver_config_t::big_edin' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp:77:3: warning: missing initializer for member 'i2s_driver_config_t::bit_order_msb' [-Wmissing-field-initializers]
src/esphome/components/esp_adf/speaker/esp_adf_speaker.cpp:77:3: warning: missing initializer for member 'i2s_driver_config_t::skip_msk' [-Wmissing-field-initializers]
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/factory_reset/button/factory_reset_button.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/font/font.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/i2c/i2c.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/i2c/i2c_bus_arduino.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/i2c/i2c_bus_esp_idf.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ili9xxx/ili9xxx_display.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/image/image.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/improv_base/improv_base.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/improv_serial/improv_serial_component.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ledc/ledc_output.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/addressable_light.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/automation.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/esp_color_correction.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/esp_hsv_color.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/esp_range_view.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/light_call.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/light_json_schema.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/light_output.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/light/light_state.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/logger/logger.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/logger/logger_esp32.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/logger/logger_esp8266.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/logger/logger_host.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/logger/logger_libretiny.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/logger/logger_rp2040.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/md5/md5.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/mdns/mdns_component.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/mdns/mdns_esp32.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/mdns/mdns_esp8266.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/mdns/mdns_host.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/mdns/mdns_libretiny.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/mdns/mdns_rp2040.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/micro_wake_word/micro_wake_word.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/network/util.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/number/automation.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/number/number.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/number/number_call.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/number/number_traits.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ota/ota_backend_arduino_esp32.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ota/ota_backend_arduino_esp8266.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ota/ota_backend_arduino_libretiny.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ota/ota_backend_arduino_rp2040.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ota/ota_backend_esp_idf.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/ota/ota_component.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/output/automation.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/output/float_output.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/psram/psram.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/script/script.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/select/select.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/select/select_call.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/select/select_traits.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/sensor/automation.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/sensor/filter.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/sensor/sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/socket/bsd_sockets_impl.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/socket/lwip_raw_tcp_impl.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/socket/lwip_sockets_impl.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/socket/socket.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/spi/spi.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/spi/spi_arduino.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/spi/spi_esp_idf.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/switch/automation.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/switch/switch.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/template/number/template_number.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/template/select/template_select.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/template/switch/template_switch.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/template/text_sensor/template_text_sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/text_sensor/filter.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/text_sensor/text_sensor.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/voice_assistant/voice_assistant.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/wifi/wifi_component.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/wifi/wifi_component_esp32_arduino.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/wifi/wifi_component_esp8266.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/wifi/wifi_component_esp_idf.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/wifi/wifi_component_libretiny.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/components/wifi/wifi_component_pico_w.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/application.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/color.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/component.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/component_iterator.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/controller.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/entity_base.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/helpers.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/log.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/ring_buffer.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/scheduler.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/string_ref.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/time.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/util.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/main.o

to be honest you got a lot in your settings!

What if you try this first and when that works extend your settings.

I got two Esp boards connected to HA, one Bluetooth board for my plants :slight_smile: and the S3 box.
Both got their own settings file, this is my settings file for the voice assistant:

substitutions:
  name: esp32-s3-box-3-059a78
  friendly_name: VoiceAssistant

  micro_wake_word_model: okay_nabu

packages:
  esphome.voice-assistant: github://esphome/firmware/wake-word-voice-assistant/esp32-s3-box-3.yaml@main
  
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  compile_process_limit: 1

voice_assistant:
  volume_multiplier: 4.0

api:
  encryption:
    key: !secret api_key

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: xxx.xxx.x.xxx
    gateway: xxx.xxx.x.xxx
    subnet: xxx.xxx.xxx.x

Could you copy your own into a backup file and try my version.

Interestingly, I just completed an attempted install after commenting out all the β€œsensors” section. I cleaned the build files before installing and lo and behold, it crashed at the same spot, β€œmain.o”

Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/time.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/esphome/core/util.o
Compiling .pioenvs/esp32-s3-box-3-0502c8/src/main.o

I will try yours next…
By the way, When I first got the box3 I was able to get the unaltered package installed and the box3 IS working. All these later attempts were to get the sensors working. (Just for background info)

OK, I tried your config (except the manual ip section) and it still crashed at β€œmain.o”.
Soon I’m going to do a factory reset and see if that helps.

Did a factory reset.
Re-provisioned the box3.
Validated a bare bones configuration ymal.
installed it
Result: crashed at β€œmain.o” again.

I give up…

Then Im sorry man I cannot help you out. Simply because I really dont know how.

In my case it wont crash any more but the thing does not do what I hoped it should do.
It reacts to the wake word and then it tells me it could not understand good night

[D][micro_wake_word:362]: Wake word sliding average probability is 0.565 and most recent probability is 1.000
[D][micro_wake_word:128]: Wake Word Detected
[D][micro_wake_word:177]: State changed from DETECTING_WAKE_WORD to STOP_MICROPHONE
[D][micro_wake_word:134]: Stopping Microphone
[D][esp_adf.microphone:234]: Stopping microphone
[D][micro_wake_word:177]: State changed from STOP_MICROPHONE to STOPPING_MICROPHONE
[D][esp-idf:000][filter]: W (116662) AUDIO_ELEMENT: IN-[filter] AEL_IO_ABORT
[D][esp-idf:000][read_task]: E (116664) AUDIO_ELEMENT: [filter] Element already stopped
[D][esp-idf:000][read_task]: W (116696) AUDIO_PIPELINE: There are no listener registered
[D][esp-idf:000][read_task]: I (116698) AUDIO_PIPELINE: audio_pipeline_unlinked
[D][esp-idf:000][read_task]: W (116698) AUDIO_ELEMENT: [i2s] Element has not create when AUDIO_ELEMENT_TERMINATE
[D][esp-idf:000][read_task]: I (116702) I2S: DMA queue destroyed
[D][esp-idf:000][read_task]: W (116704) AUDIO_ELEMENT: [filter] Element has not create when AUDIO_ELEMENT_TERMINATE
[D][esp-idf:000][read_task]: W (116706) AUDIO_ELEMENT: [raw] Element has not create when AUDIO_ELEMENT_TERMINATE
[D][esp_adf.microphone:285]: Microphone stopped
[D][micro_wake_word:177]: State changed from STOPPING_MICROPHONE to IDLE
[D][voice_assistant:502]: State changed from IDLE to START_MICROPHONE
[D][voice_assistant:508]: Desired state set to START_PIPELINE
[D][voice_assistant:220]: Starting Microphone
[D][ring_buffer:024]: Created ring buffer with size 16384
[D][voice_assistant:502]: State changed from START_MICROPHONE to STARTING_MICROPHONE
[D][esp-idf:000][read_task]: I (116719) I2S: DMA Malloc info, datalen=blocksize=512, dma_buf_count=8
[D][esp-idf:000][read_task]: I (116725) I2S: I2S0, MCLK output by GPIO2
[D][esp-idf:000][read_task]: I (116729) AUDIO_PIPELINE: link el->rb, el:0x3d0584ac, tag:i2s, rb:0x3d0588c0
[D][esp-idf:000][read_task]: I (116731) AUDIO_PIPELINE: link el->rb, el:0x3d058620, tag:filter, rb:0x3d05a900
[D][esp-idf:000][read_task]: I (116736) AUDIO_ELEMENT: [i2s-0x3d0584ac] Element task created
[D][esp-idf:000][read_task]: I (116738) AUDIO_THREAD: The filter task allocate stack on external memory
[D][esp-idf:000][read_task]: I (116741) AUDIO_ELEMENT: [filter-0x3d058620] Element task created
[D][esp-idf:000][read_task]: I (116743) AUDIO_ELEMENT: [raw-0x3d058750] Element task created
[D][esp-idf:000][i2s]: I (116749) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:1
[D][esp-idf:000][filter]: I (116751) AUDIO_ELEMENT: [filter] AEL_MSG_CMD_RESUME,state:1
[D][esp-idf:000][filter]: I (116754) RSP_FILTER: sample rate of source data : 16000, channel of source data : 2, sample rate of destination data : 16000, channel of destination data : 1
[D][esp-idf:000][read_task]: I (116757) AUDIO_PIPELINE: Pipeline started
[D][esp_adf.microphone:273]: Microphone started
[D][voice_assistant:502]: State changed from STARTING_MICROPHONE to START_PIPELINE
[D][voice_assistant:274]: Requesting start...
[D][voice_assistant:502]: State changed from START_PIPELINE to STARTING_PIPELINE
[D][voice_assistant:523]: Client started, streaming microphone
[D][voice_assistant:502]: State changed from STARTING_PIPELINE to STREAMING_MICROPHONE
[D][voice_assistant:508]: Desired state set to STREAMING_MICROPHONE
[D][voice_assistant:625]: Event Type: 1
[D][voice_assistant:628]: Assist Pipeline running
[D][voice_assistant:625]: Event Type: 3
[D][voice_assistant:639]: STT started
[D][text_sensor:064]: 'text_request': Sending state '...'
[D][text_sensor:064]: 'text_response': Sending state '...'
[W][component:237]: Component voice_assistant took a long time for an operation (224 ms).
[W][component:238]: Components should block for at most 30 ms.
[D][voice_assistant:625]: Event Type: 12
[D][voice_assistant:783]: STT by VAD end
[D][voice_assistant:502]: State changed from STREAMING_MICROPHONE to STOP_MICROPHONE
[D][voice_assistant:508]: Desired state set to AWAITING_RESPONSE
[D][esp_adf.microphone:234]: Stopping microphone
[D][voice_assistant:502]: State changed from STOP_MICROPHONE to STOPPING_MICROPHONE
[D][esp-idf:000][filter]: W (131764) AUDIO_ELEMENT: IN-[filter] AEL_IO_ABORT
[D][esp-idf:000][read_task]: E (131766) AUDIO_ELEMENT: [filter] Element already stopped
[D][esp-idf:000][read_task]: W (131797) AUDIO_PIPELINE: There are no listener registered
[D][esp-idf:000][read_task]: I (131799) AUDIO_PIPELINE: audio_pipeline_unlinked
[D][esp-idf:000][read_task]: W (131803) AUDIO_ELEMENT: [i2s] Element has not create when AUDIO_ELEMENT_TERMINATE
[D][esp-idf:000][read_task]: I (131805) I2S: DMA queue destroyed
[D][esp-idf:000][read_task]: W (131807) AUDIO_ELEMENT: [filter] Element has not create when AUDIO_ELEMENT_TERMINATE
[D][esp-idf:000][read_task]: W (131809) AUDIO_ELEMENT: [raw] Element has not create when AUDIO_ELEMENT_TERMINATE
[W][component:237]: Component voice_assistant took a long time for an operation (241 ms).
[W][component:238]: Components should block for at most 30 ms.
[D][esp_adf.microphone:285]: Microphone stopped
[D][voice_assistant:502]: State changed from STOPPING_MICROPHONE to AWAITING_RESPONSE
[D][voice_assistant:625]: Event Type: 4
[D][voice_assistant:653]: Speech recognised as: " Good night."
[D][text_sensor:064]: 'text_request': Sending state ' Good night.'
[W][component:237]: Component voice_assistant took a long time for an operation (239 ms).
[W][component:238]: Components should block for at most 30 ms.
[D][voice_assistant:625]: Event Type: 5
[D][voice_assistant:658]: Intent started
[D][voice_assistant:625]: Event Type: 6
[D][voice_assistant:625]: Event Type: 7
[D][voice_assistant:681]: Response: "Sorry, I couldn't understand that"
[D][text_sensor:064]: 'text_response': Sending state 'Sorry, I couldn't understand that'
[D][voice_assistant:625]: Event Type: 98
[D][voice_assistant:766]: TTS stream start
[D][esp-idf:000][spaker_task]: I (133829) I2S: DMA Malloc info, datalen=blocksize=2048, dma_buf_count=8
[D][esp-idf:000][speaker_task]: I (133833) I2S: I2S0, MCLK output by GPIO2
[D][esp-idf:000][speaker_task]: I (133837) AUDIO_PIPELINE: link el->rb, el:0x3d05834c, tag:raw, rb:0x3d0584bc
[D][esp-idf:000][speaker_task]: I (133839) AUDIO_ELEMENT: [raw-0x3d05834c] Element task created
[D][esp-idf:000][speaker_task]: I (133843) AUDIO_ELEMENT: [i2s-0x3d0580a8] Element task created
[D][esp-idf:000][i2s]: I (133847) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:1
[D][esp-idf:000][i2s]: I (133848) I2S_STREAM: AUDIO_STREAM_WRIER
[D][esp-idf:000][speaker_task]: I (133850) AUDIO_PIPELINE: Pipeline started
[W][component:237]: Component voice_assistant took a long time for an operation (267 ms).
[W][component:238]: Components should block for at most 30 ms.
[D][voice_assistant:625]: Event Type: 8
[D][voice_assistant:701]: Response URL: "https://xxxxxxxxx/api/tts_proxy/dae2cdcb27a1d1c3b07ba2c7db91480f9d4bfd8f_en_2c82848529_google_translate.wav"
[D][voice_assistant:502]: State changed from AWAITING_RESPONSE to STREAMING_RESPONSE
[D][voice_assistant:508]: Desired state set to STREAMING_RESPONSE
[D][voice_assistant:625]: Event Type: 2
[D][voice_assistant:715]: Assist Pipeline ended
[D][voice_assistant:625]: Event Type: 99
[D][voice_assistant:774]: TTS stream end
[D][voice_assistant:374]: End of audio stream received
[D][voice_assistant:502]: State changed from STREAMING_RESPONSE to RESPONSE_FINISHED
[D][voice_assistant:508]: Desired state set to RESPONSE_FINISHED

Anybody out there that can help me out?

So, I was able to compile your YAML exactly as you had it. So, it must mean it’s your device, or setup.

Thanks for the help Sty. It is helpful because it’s pushing me to figure it out.
I know what I said but I’m not really giving up just yet.

Had the same problem. I run Home Assistant on a VM which I only gave 2gigs of RAM. Increased it to 4gigs and compiling worked fine.

I recommend giving Home Assistant more RAM. (maybe there is another process running which reserves some?)

So I deleted the previous build files, deleted the item on esphome and under HA integrations, and used the compile process limiter and I was able to use this: GitHub - BigBobbas/ESP32-S3-Box3-Custom-ESPHome: Custom ESPHome config for ESP32-S3-Box-3 with sensors and touchscreen

That’s certainly worth a try.
I think if this doesn’t work I’ll move my HA installation from the pI4 it’s on now to a pi5 and see what happens.