M5Stack Atom Echo Volume Issue

I bought 2 Atom Echos quite a while ago and set them up like this:
$13 voice assistant for Home Assistant - Home Assistant

And while they worked fine - especially providing voice output at a decent level - I couldn’t get them to do a 100% of what I wanted, so I used them as BLE Proxies for a few months

I now bought some other HW for the BLE Proxies and wanted to set up the Atom Echos to work as voice assistant again - they’d be perfect for a little project where they initiate a conversation about the garage door being left open.

I tried today to set them up as voice assistants from the ready-made projects page here:
Ready-Made Projects — ESPHome

While they seem to work okay in terms of understanding and getting a command executed, they are unfortunately so quiet that I can barely hear them.

I am sure, it’s not a speaker issue (they would have both to be broken now, not just one of them) but I cannot find a way to get the volume back to the same level they were working at before.

Anybody got any hints how to amend the code of the ready-made project in order to get the speaker volume back to what it was originally?

This is basically the code they’ve both been set up with:
raw.githubusercontent.com/esphome/wake-word-voice-assistants/refs/heads/main/m5stack-atom-echo/m5stack-atom-echo.yaml

Haven’t solved the volume issue with the Atom Echo itself yet, but found a way - actually 2 - to kind of get around it:

  1. Pipe the sound output through a Chromecast Audio that sits in the same room. It’s the easier of the two options, but it interrupts (better: terminates) any music that’s playing though this device.
  2. Have the tablet that runs the Android Companion App in the same room make the announcement instead. This is a two-step process but doesn’t interfere with anything(?!) else.

ad 1.
The following code is added into the ESPHome file for the Atom Echo (in addition to the standard code from the ready-made project above):

voice_assistant:
  on_tts_start:
    - homeassistant.service:
        service: tts.speak  
        data:
          entity_id: tts.piper
          media_player_entity_id: media_player.chromecast
          message: !lambda 'return x;'

ad 2.
Adding this code to call a script instead:

voice_assistant:
  on_tts_start:
    - homeassistant.service:
        service: script.play_tts_on_dashboard
        data:
          tts_text: !lambda 'return x.c_str();'  

And here is the script called ‘Play TTS on Dashboard’:

alias: Play TTS on Dashboard
sequence:
  - data:
      message: TTS
      data:
        tts_text: "{{ tts_text }}"
        media_stream: alarm_stream
        ttl: 0
        priority: high
    action: notify.mobile_app_dashboard
mode: queued
max: 5
fields:
  tts_text:
    description: Text to speak
    example: Hello from ESPHome

I’m a little hesitant to call it ‘Solved’ because it’s not really, but it’s a feasible workaround for me for now.

I’d still be very grateful, if anybody had any further hints on how to get the original volume level back on the Atom Echos.

Just a quick follow-up in case somebody’s interested:

I had ordered two more Atom Echos when I ran into the issue above.
When they arrived a week ago, I wasn’t too motivated to hook them up to my system due to the volume issues I ran into as decried above.

Yesterday, though, curiosity got the better of me:
I installed the voice assistant SW from the first link on one of the ne Echos and to my surprise, the volume was sufficient - I can turn it up high enough to actually understand the commands from the device itself, no need to route the output through a nearby tablet :confused:

Guess I’ll have to fully reset my original two Echos and try that there as well :slight_smile: