ESP32 S3 Box3

Thanks! I’ll try that next time I give this config a go.

hello I managed to get your firmware to work:

Which I find great on my esp32S3BOX3 but the microphone and the sound do not work on the device it is probably directed to another id I tested several methods it does not work can you help me thank you

I saw this article

is installing openWakeWord oops

I combined @HJM’s firmware for continuous conversation and sensors support with gnumpi’s implementation of media player. It mostly works, although in continuous conversation, after it finishes responding, it goes back to the idle screen for 1-2 seconds before listening again (which is not the case in @HJM’s implementation, but I haven’t been able to fix it). In addition, sometimes it doesn’t continue the conversation and stays on the idle screen (I couldn’t figure why and this is not consistent). Using the media player seems to solve the low volume problem. The firmware implements the “assist query” and “assist reply” sensors which, as @kicker10BOG pointed out, are not used in gnumpi’s implementation. The firmware uses “Hey Jarvis” but you can change it to your needs. I didn’t use gnumpi’s images as I wanted to maintain the original feel. You will also need to adjust the firmware to your own environment (wifi, ap, etc.). I did not test it extensively.

I made a few other changes:

  • I removed the frames around the text (I just like it better like that)
  • I clear the query and reply texts so that the old text doesn’t display in a new query before the new one displays
  • The time is taken for Home Assistant

Thank you @HJM and gnumpi for your good work.

The firmware can be found here - ESP32-S3-Box-3-Firmware/ESP32-S3-Box-3-Firmware-cc+sensors+media_player.yaml at main · nirnachmani/ESP32-S3-Box-3-Firmware · GitHub

Edit:
I fixed the issue of it going back to the idle screen for 1-2 seconds before listening again.

2 Likes

Hey, thank you for your effort :slight_smile:
I’m currently testing your FW - and trying to add some smaller ‘features’ as well.

If everything is working as expected, you might get an PR :wink:

1 Like

Cool! I thought of adding volume up and volume down graphics when pressing on the volume parts of the screen.

1 Like

PR is on the way … only small changes so far:

  • Added AHT20 Sensors
  • Added some other Sensors (Chip-Temperature, Wifi Info, etc.)

What I am still need to do:

  • change position of the clock (top right)
  • Switch for showing “request” / “response” seperately - or change the position for the response text
  • change clock format (24h)
1 Like

The clock format can be changed dynamically:

1 Like

I installed your firmware, and it succeeded, but it looks like I’m still on the original firmware. Weird.

Finally got this working for me and am really liking it. Strangely, it creates another esphome device and shows the working one as offline, but if I just ignore it, it all works. lol. I don’t use continuous conversation, but all the other stuff is fantastic.

Added volume information in the right corner, visual feedback when pressing to change the volume on the touchscreen and startup volume configuration setting to set a default volume when starting

Link - ESP32-S3-Box-3-Firmware/ESP32-S3-Box-3-Firmware-cc+sensors+media_player.yaml at edefb5f7750272e81d19ca0f538fe7016c2bdb38 · nirnachmani/ESP32-S3-Box-3-Firmware · GitHub

3 Likes

this is really cool. The only problem I’m having is that some buttons don’t always work. It seems to take forever before the media touch buttons and the home button actually work for some reason. And strangely, they’ve only started working for me after editing the yaml, not installing it again. No idea why.

Also, I suggest changing id(speaker_volume) > 5 and id(speaker_volume) < 95 to id(speaker_volume) >= 5 and id(speaker_volume) <= 95 so it can reach 0 and 100.

The screen is not very responsive and doesn’t always register the tap. I need to reset the device by pressing the reset button (lower one on the left) for the screen to work after flashing the device - otherwise it doesn’t work at all.

You are right about the 5 to 95 issue I thought it would prevent it from going above 100 but it is actually not an issue. I also didn’t test it. I will change it.

1 Like

The way I flash it is through ESPHome in Home Assistant. I edit the yaml file and then install. For big firmware changes I clean the bundle files first.

I’ve had pretty good luck with: GitHub - BigBobbas/ESP32-S3-Box3-Custom-ESPHome: Custom ESPHome config for ESP32-S3-Box-3 with sensors and touchscreen

Mic, speaker work. Volume control works, makes use of the red button and the side button.

I did a test but I wasn’t able to integrate the IDs, how did you do it???




I hope I’m not putting this in the wrong place. Every time I try to install firmware on my BOX3 it crashes and I get this in the Esphome logs for the device. I AM using the compile limit: 1. Every other device and every other install works fine.
Also, I have 2 other ESP32 voice assistants set up that are working fine. I just cant get the BOX3 to install. This is a dump of the logs. Can anyone guide me, I’m not a programmer just another novice.

##############

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 Frequently Asked Questions — ESPHome
INFO Starting log output from 192.168.34.71 using esphome API
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.093s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
WARNING Can’t connect to ESPHome API for esp32-s3-box-3-0502c8 @ 192.168.34.71: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5). (HandshakeAPIError)
INFO Trying to connect to esp32-s3-box-3-0502c8 @ 192.168.34.71 in the background
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.217s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.061s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.028s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.117s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.025s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.067s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).
INFO Successfully connected to esp32-s3-box-3-0502c8 @ 192.168.34.71 in 0.051s
WARNING esp32-s3-box-3-0502c8 @ 192.168.34.71: Connection error occurred: esp32-s3-box-3-0502c8 @ 192.168.34.71: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.5).

Looks like you need to add an encryption key for the api.
image

Thank you Jason. This is my YAML. Is this the wrong way to do it?

substitutions:
  name: esp32-s3-box-3-0502c8
  friendly_name: ESP32 S3 Box 3 0502c8

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
api:
  encryption:
    key: ### Redacted ###

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

voice_assistant:
  volume_multiplier: 5

I think I see what I did. The key was not in quotation marks.
I’m running it now with quotes.

1 Like