ESPHome Respeaker Install compilation terminates during install

I am trying to get my new ReSpeaker Lite Voice Assistant Kit to install for Home Assistant using Esphome. I am copying the .yaml code provided by SeeedStudio HERE

I keep getting compilation errors at different steps. Here is my last 2 compile issue txt.

INFO ESPHome 2024.10.0
INFO Reading configuration /config/esphome/respeaker.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esp32s3 (board: esp32-s3-devkitc-1; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
 - framework-espidf @ 3.40408.0 (4.4.8) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
No dependencies
Compiling .pioenvs/esp32s3/src/esphome/components/api/api_pb2.o
Compiling .pioenvs/esp32s3/src/esphome/components/logger/logger.o
Compiling .pioenvs/esp32s3/src/esphome/components/logger/logger_esp32.o
Compiling .pioenvs/esp32s3/src/esphome/components/logger/logger_esp8266.o
Compiling .pioenvs/esp32s3/src/esphome/components/logger/logger_host.o
Compiling .pioenvs/esp32s3/src/esphome/components/logger/logger_libretiny.o
Compiling .pioenvs/esp32s3/src/esphome/components/logger/logger_rp2040.o
Compiling .pioenvs/esp32s3/src/esphome/components/mdns/mdns_component.o
Compiling .pioenvs/esp32s3/src/esphome/components/mdns/mdns_esp32.o
Compiling .pioenvs/esp32s3/src/esphome/components/mdns/mdns_esp8266.o
Compiling .pioenvs/esp32s3/src/esphome/components/mdns/mdns_host.o
Compiling .pioenvs/esp32s3/src/esphome/components/mdns/mdns_libretiny.o
Compiling .pioenvs/esp32s3/src/esphome/components/mdns/mdns_rp2040.o
Compiling .pioenvs/esp32s3/src/esphome/components/network/util.o
Compiling .pioenvs/esp32s3/src/esphome/components/output/automation.o
Compiling .pioenvs/esp32s3/src/esphome/components/output/float_output.o
xtensa-esp32s3-elf-g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
*** [.pioenvs/esp32s3/src/esphome/components/api/api_pb2.o] Error 1
========================= [FAILED] Took 14.59 seconds =========================

INFO ESPHome 2024.10.0
INFO Reading configuration /config/esphome/respeaker.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esp32s3 (board: esp32-s3-devkitc-1; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
 - framework-espidf @ 3.40408.0 (4.4.8) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
No dependencies
Compiling .pioenvs/esp32s3/src/esphome/components/api/api_pb2.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/addressable_light.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/automation.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/esp_color_correction.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/esp_hsv_color.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/esp_range_view.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/light_call.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/light_json_schema.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/light_output.o
Compiling .pioenvs/esp32s3/src/esphome/components/light/light_state.o
xtensa-esp32s3-elf-g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
*** [.pioenvs/esp32s3/src/esphome/components/api/api_pb2.o] Error 1
========================= [FAILED] Took 18.05 seconds =========================

AND HERE IS MY .yaml

esphome:
  name: esp32s3
  friendly_name: ReSpeakerv3
  platformio_options:
    board_build.flash_mode: dio
    board_build.mcu: esp32s3
  # on_boot:
  #   then:
  #     - if:
  #            condition:
  #              switch.is_on: 
  #            then:
  #              - voice_assistant.start_continuous:


esp32:
  board: esp32-s3-devkitc-1
  variant: esp32s3
  framework:
    type: esp-idf
    version: recommended

logger:
  level: VERY_VERBOSE

api: 

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

captive_portal:

external_components:
  - source: github://QingWind6/ESPHome_XIAO-ESP32S3

i2s_audio_xiao:
  i2s_lrclk_pin: GPIO7
  i2s_bclk_pin: GPIO8
  i2s_mclk_pin: GPIO9


microphone:
  - platform: i2s_audio_xiao
    id: xiao_mic
    adc_type: external
    i2s_din_pin: GPIO44
    pdm: false
    bits_per_sample: 32bit
    channel: left

speaker:
  - platform: i2s_audio_xiao
    id: xiao_speaker
    dac_type: external
    i2s_dout_pin: GPIO43
    mode: stereo

voice_assistant:
  microphone: xiao_mic
  use_wake_word: true
  noise_suppression_level: 0
  auto_gain: 0dBFS
  volume_multiplier: 1
  speaker: xiao_speaker
  id: assist
  on_listening:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Slow Pulse"
  on_stt_vad_end:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Fast Pulse"
  on_tts_start:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        brightness: 100%
        effect: none
  on_end:
    - delay: 100ms
    - wait_until:
        not:
          speaker.is_playing:
    - script.execute: reset_led
  on_error:
    - light.turn_on:
        id: led
        red: 100%
        green: 0%
        blue: 0%
        brightness: 100%
        effect: none
    - delay: 1s
    - script.execute: reset_led
  on_client_connected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led
  on_client_disconnected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.stop:
          - light.turn_off: led

light:
  - platform: esp32_rmt_led_strip
    id: led
    name: None
    disabled_by_default: true
    entity_category: config
    pin: GPIO1
    default_transition_length: 0s
    chipset: ws2812
    num_leds: 1
    rgb_order: grb
    rmt_channel: 0
    effects:
      - pulse:
          name: "Slow Pulse"
          transition_length: 250ms
          update_interval: 250ms
          min_brightness: 50%
          max_brightness: 100%
      - pulse:
          name: "Fast Pulse"
          transition_length: 100ms
          update_interval: 100ms
          min_brightness: 50%
          max_brightness: 100%

output:
  - platform: ledc
    id: light_output
    pin: GPIO21
    inverted: true


script:
  - id: reset_led
    then:
      - if:
          condition:
            - switch.is_on: use_wake_word
            - switch.is_on: use_listen_light
          then:
            - light.turn_on:
                id: led
                effect: none

          else:
            - light.turn_off: 
               id: led


switch:
  - platform: template
    name: Use wake word
    id: use_wake_word
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - lambda: id(assist).set_use_wake_word(true);
      - if:
          condition:
            not:
              - voice_assistant.is_running
          then:
            - voice_assistant.start_continuous
    on_turn_off:
      - voice_assistant.stop
      - lambda: id(assist).set_use_wake_word(false);

  - platform: template
    name: Use Listen Light
    id: use_listen_light
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - script.execute: reset_led
    on_turn_off:
      - script.execute: reset_led

If anyone ever sees this: I use HA on an Unraid VM that only had 2gb ram given to it. I rose it to 4gb and the job compiled fine.

2 Likes