ESP32 S3 Box3

Was able to figure out how to mute the speaker by removing the speaker component like below:

speaker: !remove
  # - id: !remove box_speaker

voice_assistant:
  speaker: !remove box_speaker
  on_tts_stream_start: !remove
  on_tts_stream_end: !remove
  on_tts_start:
    - lambda: id(voice_assistant_phase) = ${voice_assist_replying_phase_id};
    - script.execute: draw_display
    - homeassistant.service: 
        service: notify.kitchen
        data:
          message: !lambda 'return x;'
  on_tts_end:
    - lambda: id(voice_assistant_phase) = ${voice_assist_idle_phase_id};
    - script.execute: draw_display

on_tts_stream_start|end both require the speaker component so i removed those as well and just went with on_tts_start|end.

3 Likes

For those interested, I’ve customized the illustrations for my ESP32-S3-BOX-3 display, drawing inspiration from the Fallout TV series.

:cinema: Video: https://youtube.com/shorts/XmlBikFk2Uk

  loading_illustration_file: https://github.com/idodov/esp32-s3-box-3/raw/main/fallout/loading.png
  idle_illustration_file: https://github.com/idodov/esp32-s3-box-3/raw/main/fallout/idle.png
  listening_illustration_file: https://github.com/idodov/esp32-s3-box-3/raw/main/fallout/listening.png
  thinking_illustration_file: https://github.com/idodov/esp32-s3-box-3/raw/main/fallout/thinking.png
  replying_illustration_file: https://github.com/idodov/esp32-s3-box-3/raw/main/fallout/replying.png
  error_illustration_file: https://github.com/idodov/esp32-s3-box-3/raw/main/fallout/error.png

idle

7 Likes

I just got my ESP32-S3-BOX-3 and followed the directions at

Are lockups common occurrence? Multiple times the voice assistant response to my command has locked up the esp and I have to power cycle. Do I have bad hardware?

Are you sure you have enough power?

Was using a cell phone charger. Looks like it is 3A.

I see there was a discussion about the RAM needed to build (install) esp32-s3-box-3.yaml (with wake word) on the Box 3. So I just wanted to mention that I had to increase the RAM of the HA VM from 4GB to 6GB for the build to work and not get massively stuck. My guess is that you need free 4GB when building this. Also, try a VM restart before the build. It might help to run the build with a clean slate.

What’s the status for PR #173? I got a firmware update notification today, but didn’t see anything in the release notes.

All,

I have problems with my S3-box3, the sound is not working. When it boots i hear the speaker pop en when asking questions I see the question and answer in the text boxes, but I hear no reply. Just some very low hissing.

I’m using this firmware on esphome 2024.5.0
github://esphome/firmware/wake-word-voice-assistant/esp32-s3-box-3.yaml@main

Anyone have an Idea?

PS: Assist pipeline works on other devices, like m5stack-atom, android watch, …

Thanks!

1 Like

Adding another weird problem to the mix. I have a new Box-3 with vanilla YAML that makes ESPHome throw the following warning during compile. As a result the device boots and otherwise behaves normally but never triggers VAD or starts streaming to the pipeline, so remote wake word detection doesn’t work. The TensorFlow on-device wake word detection does work, but then the pipeline doesn’t detect when the query has ended and waits to time out before delivering the reply.

I have other devices (Atom Echos, Pi Wyoming satellite) working well but I’ve tried every possible solution to this issue without success. Anyone with the same problem or ideas?

Compiling .pioenvs/esp-box/src/esphome/components/esp_adf/esp_adf.o
Compiling .pioenvs/esp-box/src/esphome/components/esp_adf/microphone/esp_adf_microphone.o
Compiling .pioenvs/esp-box/src/esphome/components/esp_adf/speaker/esp_adf_speaker.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]
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]
1 Like

Still waiting for Jessie to approve it. Guess he’s a bit busy with the many projects he’s covering.

2 Likes

The most recent update has disabled the spoken responses to commands.

here are the logs: jarvis logs - Pastebin.com

3 Likes

Working fine here, and I’ve been tinkering with it all day.

Edit: FWIW, I’m playing out via a media player, not the ESP32 unit.

I’m having the same issue since the update. It was working fine previously.

2 Likes

I also don’t get spoken responses anymore.

2 Likes

Adding my voice to people who aren’t getting spoken responses from the S3 Box3 after the 2024.5.0 update

3 Likes

Oh happy day, well kinda (happy in that misery loves company and it wasn’t something I did). Finally a thread where someone else sees what I see. Since 2024.5.0, my S3 box 3 can now hear me but it’s silent. :frowning:

3 Likes

Can you please tell me exactly where should I insert this yaml code? In a “voice_assistant” section of the esp32-s3-box-3 yaml conf file?

I also did not get any spoken response with 2024.5.0.
reverting esphome CLI to 2024.04.2 worked.

1 Like

Assuming spoken response is fixed, does not having a media player also mean no possibility to sent TTS messages, or is that already possible? I’m not interested in music, but I am in announcements.

1 Like

I just did the second update today and still am not getting a spoken response. Is there something I need to add to the configuration now?

1 Like