ESP32 S3 Box3

Thanks.
I’ll add this to my config

FYI - I’ve had no luck with this. Do you have an MVP config? I was attempting to work off of: Code for the ESP32-S3-Box3 · GitHub

Been getting:

/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/esp32-s3-box-3/src/main.o:(.literal._Z5setupv+0x320): undefined reference to `vtable for esphome::gt911::GT911'
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/esp32-s3-box-3/src/main.o:(.literal._Z5setupv+0x3dc): undefined reference to `esphome::touchscreen::Touchscreen::set_display(esphome::display::Display*)'
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/esp32-s3-box-3/src/main.o: in function `esphome::optional<std::function<void (esphome::display::Display&)> >::optional()':
/data/build/esp32-s3-box-3/src/esphome/core/optional.h:43: undefined reference to `esphome::touchscreen::Touchscreen::set_display(esphome::display::Display*)'
collect2: error: ld returned 1 exit status
*** [.pioenvs/esp32-s3-box-3/firmware.elf] Error 1

An ESPHome .yaml file has been made available on github to use the Box for voice-assist. https://github.com/esphome/firmware/blob/634231e271a104c66111ab1b8a27f0a0cd678982/voice-assistant/esp32-s3-box-3.yaml
I have not tried it yet but will do it asap.

2 Likes

thanks for the information :slight_smile:
I’ll have a look into it

I just tried the esp32-s3-box-3.yaml config file. I can compile it and flash it but the box seems to hang in a reset loop. Something seems to be wrong.

I also tried to install the new firmware today in the morning - but had no time to further test / investigate some things…

  1. I did copy the provided firmware file from the github link and created an empty configuration (to keep my original one)…
  2. I connected the Device with USB Cable and uploaded the new created config.
  3. After flashing, a new device popped up S3-Box3 Voice Assistant…
    3.1 The config of the new device does not show many of the configured options in the git - but all entities are available.
    3.2 I can’t controll the LCD Backlight brightness
    3.3 Assist in use is set to “Off” → I can’t see how to turn it on
    3.4 “Top Left Buton” sensor is reacting, when pressed
    3.5 “Mute” Sensor is changing when the Mute-Button was pressed

The device does not recognize the configured wakeword, probably because the “Assist in use” sensor is set to off…

Unfortunately, I do not have much time to continue testing today - so maybe tomorrow, or latest over the weekend I can continue.

I have it running as voice assistant :grinning:
I followed the same steps than you did. I then disabled my other voice assist device I used (pi3). Then I restarted HA and then the Box. It then worked !

Note: You need to configure a voice assistant in HA and select it as your default. Because the Box pipeline is configured to use the default voice assistant.

The “Assist in use” turns on once the box recognised the wake word. It turns off afterwards again. Also the display flashes after the wake word is recognised and as long as it listens to what you are saying.

hope, that I can do some more tests in the late evening / night… :smiley:
Does it behave better than the S3-Box? (if you can directly compare it…)

If not, I will try to switch my Box back to VoiceAssist and compare it then.

I don’t have a S3-Box so I cannot compare. I find the speaker volume is very low. I hope this can be changed.

I managed to get this box working, but on limited terms :slight_smile:
Since I have only a few enteties exposed (few lights, temperature sensor for water and outside temperature) I succseded to get light switched on and off and get water temperature, but the response was very laggy.
I’m really excited because this project has so much potential espacally if this box will get more support in esphome.

The display reset line is inverted.

spi:
  mosi_pin: 6
  clk_pin: 7
  interface: hardware

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 20

display:
  - platform: ili9xxx
    model: s3box
    rotation: 180
    auto_clear_enabled: false

    data_rate: 40MHz
    dc_pin: 4
    cs_pin: 5
    reset_pin:
      inverted: true
      number: 48
    id: main_lcd


output:
  - platform: ledc
    pin:
      number: GPIO47
    id: backlight_output

light:
  - platform: monochromatic
    output: backlight_output
    name: LCD Backlight
    id: led
    restore_mode: ALWAYS_ON
    default_transition_length: 0s

external_components:
  - source:
      type: git
      url: https://github.com/clydebarrow/esphome
      ref: ili9xx
    components: [ ili9xxx ]

psram:
  mode: octal
  speed: 80MHz

Same here, it just bricks the box.

hm…ok, my box don’t want to listen to me…
Really not sure, what the issue is - I’ve tried the Espressif-Demo, and the mic is working - but with the VA Firmware, I can’t set the brightness of the display, nor does it react when I use the wake word.

It does react on mute, when I disable “use wake word” and press the top left button, but that’s all… Don’t know, what I am doing wrong … :frowning_face:

EDIT:
OK, I completely deleted the device in ESPHome - and created a new one.
This time, I did just copy the whole Firmware YAML… this time, no auto-detect happened and finally, after compiling, it is running - but yes

  1. the feedback is pretty low (volume adjustment would be great)
  2. the feedback stutters and is broken … nearly the same as with the previous box.

BUT:
If you have tried the demo provided by espressif, it is clearly not the device itself…

1 Like

Did you add your WiFi access data to the .yaml? Without WiFi access it seems to be broke but isn’t.

I will do more tests today. For example there is a volume_multiplier config option that might increase the speaker volume. I’ll check that out later today.

A new version of the esp32-s3-box-3.yaml config file has been posted on github. It now contains a couple of images that are displayed while progressing through the voice pipeline. So it is work in progress and it’s probably better to wait until this is finally released.

You can also install voice assistant for Box 3 directly from the esphome web site at Ready-Made Projects — ESPHome Pick voice assistant, then click on the button for the ESP32-S3-Box image. You can then select the Box 3 variant.

3 Likes

With my slightly modified(wifi + encryption keys) official yaml from here: https://github.com/esphome/firmware/blob/67e776ab0f192e5d0d710266dd0ebe135264b899/voice-assistant/esp32-s3-box-3.yaml
I can’t get the VA to work, seems like a microphone problem.
With wake_word disabled and pressed upper_left button I can see following in the log:

[12:32:11][D][voice_assistant:395]: State changed from IDLE to START_PIPELINE
[12:32:11][D][voice_assistant:401]: Desired state set to START_MICROPHONE
[12:32:11][D][voice_assistant:124]: microphone not running
[12:32:11][D][voice_assistant:206]: Requesting start...
[12:32:11][D][voice_assistant:395]: State changed from START_PIPELINE to STARTING_PIPELINE
[12:32:11][D][voice_assistant:124]: microphone not running
[12:32:11][D][voice_assistant:124]: microphone not running
[12:32:11][D][voice_assistant:416]: Client started, streaming microphone
[12:32:11][D][voice_assistant:395]: State changed from STARTING_PIPELINE to START_MICROPHONE
[12:32:11][D][voice_assistant:401]: Desired state set to STREAMING_MICROPHONE
[12:32:11][D][voice_assistant:159]: Starting Microphone
[12:32:11][D][voice_assistant:395]: State changed from START_MICROPHONE to STARTING_MICROPHONE

Not sure the problem is related to HA or ESPHome, both configurations seem OK.
Specifics - in the pipeline I use non-english language for whisper and Google TTS.
Use the “Sensors” case with backup battery.

P.S. Microphone got activated after adding BLE disable to WiFi section, but only when started via inserting the USB cable and Wake_Word active.
If started after OTA update or use of software button “Factory reset” of “Restart” switch the microphone can’t be activated again…

I just installed this .yaml without any modifications, except adding my wifi credentials and it kind of works. My wakeword is recognized and I’m getting back the correct answer BUT the voice stream is not complete. There are parts missing at the beginning and at the end of the response stream.

Here is my VA config:

Esphome version 2023.11.5 has a fix for the audio cutting out too soon.