"ReSpeaker Lite" - new Seeed Studio Voice Assistant Development Kit hardware combine ESP32 with XMOS XU316 DSP chip for advanced audio processing as a ESPHome-based Home Assistant Assist Satellite voice devkit

So here I am, back with a Respeaker Lite blue LED flashing fast :roll_eyes:

Context:

Respeaker running firmware supplied by @formatBCE :white_check_mark:
Blue LED pulsing slowly :white_check_mark:

I switched off the Respeaker and moved it from one room to an adjacemt room and plugged it in.

Respeaker blue LED flashes fast and stays that way all night :x:
I noticed there was an update available in ESPHome Builder so I ran it OTA this morning, which seemed to work okay :white_check_mark:

Blue LED still flashing fast. Again, the device seems to be working okay, I just cannot understand why the change in behaviour of the blue LED from one room to an adjacent room. In fact it’s literally sitting on the other side of a stud partition wall, connected to the same network and same IP address.

Is this going to happen every time I move one?

This is not a moan by the way. I’m just trying to understand what is going on so I can fix it if something has gone awry and avoid it again in future :grinning:

There’s no reason for it to behave like this. Could it be that USR button unsoldered? Because this is the only case I saw something like this…
Everything happens for reason, and I didn’t have such problems on any of mines…

@formatBCE
Hey, first of all thanks for your git repo. Been using stuff from there in one satellite I’m currently testing in the kitchen, and works quite good so far. Few hickups but nothing critical.
I wonder if its possible to set a fixed volume for the announcements? Because they are quite loud compared to hearing music at some volume level. So it would be great to change volume to a fixed level just for the speech and music to the “normal volume slider” value.

1 Like

Hmm it should be possible in the media player module itself - but I’m not owning it, it’s NabuCasa library. So someone would have to fork it and make that available…

1 Like

The USR button connection is fine. I followed the same process as the last time and reflashed both the XMOS and ESP firmware. I took the latest version of YAML from your repo.

LED is still flashing fast. Interstingly, while looking through the respeaker-satellite-base.yaml saw this section:

  # Script executed during initialization
  # Fast Blue pulse if Wifi is connected, Else slow blue pulse
  - id: control_leds_init_state
    then:
      - if:
          condition:
            wifi.connected:
          then:
            - light.turn_on:
                brightness: 50%
                red: 9.4%
                green: 73.3%
                blue: 94.9%
                id: led_respeaker_onboard
                effect: "Fast pulse"
          else:
            - light.turn_on:
                brightness: 50%
                red: 9.4%
                green: 73.3%
                blue: 94.9%
                id: led_respeaker_onboard
                effect: "Slow Pulse"

This suggests to me that the blue LED is exhibiting normal behaviour (albeit the new normal). When the device initialises, the LED pulses slowly for a few seconds then start flashing.

However, if this is the new normal, then that doesn’t explain why the LED on my other Respeaker Satellite (which is running the same firmware) pulses slowly.

Both are connected and working fine :man_shrugging:

This script should work on initialization step only. When init goes to false, other light effects take precedence.
This is very weird stuff.

Thanks @formatBCE and @rananna for your effort, time and sharing it to all of us :+1:

My little robo have a respeaker lite with integrated xiao esp32s3 inside and it works fantastic.

Michael

4 Likes

That’s not satellite, that’s state of the Art! :slight_smile:

1 Like

Did you ever finish this? Do you make the STL files available somewhere?

What’s wrong with Koala-Satellite/casing/stl at main · formatBCE/Koala-Satellite · GitHub? :slight_smile:

Hey everyone!

Soon (on next ESPHome major release) the firmware for PE will be reformatted to use newly-merged media_player instead of custom component. That’s great news, and i’ll look closely to introduce these changes to the Respeaker/Koala as soon as possible.

Also there’s some improvement coming (allegedly) soon from Seeed, that will improve noice cancellation and AEC for our device. Will update you as soon as i have it.

Meanwhile i’m seeing a lot of requests for Openwakeword usage for PE-like devices. While this is inferior to Microwakeword (which is local on-device unlike OWW), i guess i could add the possibility to use OWW instead of MWW (with drop-down, i guess). What do you think?
If you have other ideas on what is missing from current firmware, throw your thoughts. :slight_smile:

2 Likes

+1 for OpenWakeWord as option as a temporary solution for now to enable easy to use custom wake word models.

As it right now is too hard to make new custom Micro Wake Word models it would if nothing else it serve as as showcase for the demand of custom wake words, which might also be an incentive for more developers step up to join the effort helping to make custom Micro Wake Word models easier make in the future too.

INFO ESPHome 2025.2.0
INFO Reading configuration /config/esphome/respeaker-satellite-02.yaml…
INFO Updating https://github.com/esphome/home-assistant-voice-pe@dev
Failed config

external_components: [source /config/esphome/respeaker-satellite-02.yaml:712]

  • source:
    type: git
    url: GitHub - esphome/home-assistant-voice-pe: Home Assistant Voice PE
    ref: dev
    components:

    Could not find init.py file for component aic3204. Please check the component is defined by this source (search path: /data/external_components/3bf38338/esphome/components/aic3204/init.py).

    • aic3204
    • audio_dac
    • media_player
    • micro_wake_word
    • microphone
    • nabu
    • voice_assistant

The update ESP on home Assistant gives failures. Is this only a problem for me? I’m using the respeaker lite kit and @formatBCE yaml.
Please need some advice.

Yup, updating code to use new components right now.

2 Likes

Updated to 2025.2.0

2 Likes

BTW, regarding the OpenWakeWord - it’s pretty hard to do, as i discovered. There’s bunch of functionality that won’t be available once Microwakeword is removed. So most probably, there will be two separate YAML files, and no easy way to switch between MWW/OWW. Just for purpose of maintainability, i don’t want to write dozens of if-else in the YAML…

Thanks you very much​:bangbang: I’ll try it tomorrow.:facepunch:t2:

1 Like

Thanks for the update. I was trying to update my code, but I noticed that the ssid and password lines are missing from the wifi section. I was not able to relate this to any of the mentioned breaking changes. Sorry if I am missing something here.

I split yaml to base and example, that includes base. Check and merge both please.

Thanks, much appreciated. I will have a look later today.