"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

Looks like ESP-ADF won’t ever make it into esphome officially:

1 Like

This is very good news and makes sense. I am sure Espressif went out there way on software examples for the S3 box variants. But it was also a combination of the hardware and documentation. It seems like now that the voice team has gotten there feet wet so to speak, they are ready to move on which is good IMO.

I remember watching the live stream when they announced it and developer did talk a lot about the TensorFlow lite (tflite) open source code/library he found. Esp-adf didn’t really come up until the S3 box was using it.

This is very good news and makes sense. I am sure Espressif went out there way on software examples for the S3 box variants. But it was also a combination of the hardware and documentation. It seems like now that the voice team has gotten there feet wet so to speak, they are ready to move on which is good IMO.

I remember watching the live stream when they announced it and developer did talk a lot about the TensorFlow lite (tflite) open source code/library he found. Esp-adf didn’t really come up until the S3 box was using it.

1 Like

With huge help of Kevin (MWW dev), got Respeaker Lite fully working with MicroWakeWord too - but i used the version for Voice-Kit (PE), that isn’t yet merged into ESPHome, to get rid of Seeed-specific I2S implementation. Won’t publish that now, as it will be changing drastically in next couple weeks, and my code will be obsolete.
New MWW is using separate mic stream to keep listening even when voice_assistant is streaming audio. That’s pretty good solution for XMOS board used in PE device (it is exposing 2 different streams of audio), but not that good for Respeaker XMOS, because it’s exposing single consolidated audio input stream (ci=onfirmed with Seeed support). That means, MWW and VA components won’t be able to modify stream separately (adjust gain, mostly), that can lead to false positives on wake word. Will test it more, but looks not bad, actually.

On other news: mute button, similar to USR button, can be soldered to exposed GPIO pin and be accessible in ESP code. Confirmed this with Seeed support too.

LED is working for me flawlessly.

1 Like

Hello

Could you publish your code, just for testing ?

Thanks !

Okay, here it is, but remember - it all will be broken very soon. Also, i didn’t have a chance to tidy it up, and add mute/usr buttons. It’s just working file, with lot of stuff going on from my personal setup, with added pieces from HA PE dev YAML.

Edit: to remove old misleading YAML: here’s link to newest working config (link to my post lower in this thread): "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 - #87 by formatBCE

2 Likes

Thank, I’m not a developer I just play one on HA forums and for works sometimes as I do work in IT but not a dev. I can just put pieces of the puzzle together so what I can do in an hour a real dev could do in 15 minutes or less.

Thanks for the info above and confirmed that this is going to be for testing, I wouldn’t order it if I hadn’t already and Seeed will probably never release a single firmware update (I hope I’m wrong but I doubt I will be).

As far as the LED, I fixed that, sort of with a simple solution. I actually thought of this. I’m sure others have done it but it works great, I’m sure I’ll get 3 replies from people who have done it also. But with no LED to tell if it even heard the Wake word. By far the quickest and best automation idea I’ve.had. I’ve got another when it’s done, although not really needed…

You can play sound on respeaker itself. Check how ding.mp3 is played in my code for timer. No need to create automation.
P.S. so is LED problem hardware-based for you? Because for me, LED works completely fine…

Yes, or something wasn’t soldered correctly. It hasn’t worked once. The green led and red led on the XIOS S3 work just fine. Since everything appears to be working without any issues I’m speculating it’s hardware or quality control issue. I haven’t tried to flash the PC firmware/DFU but was probably going to try and see if that works with the assist microphone add-on just to test. I’m not really expecting better results

I’ll certainly be looking at your code later, this was just a quick solution and I was sick at looking at the Android app to see if it actually heard the wake word.

I tried DFU - LED is turned off there completely. I2C does expose it on ESP GPIO1. Bummer, if it’s broken…

UGH, looks like Mute button doesn’t have a state (like, HIGH on muted, LOW on unmuted), but instead is just momentary switch. So it can toggle, but can’t know if it’s actually muted…

I think I will get over it as it’s working better then what I put up or Seeeds code but obviously way more pieces. At first the entire media section was red because it said it didn’t recognize Nabu as a platform even though it was in the external components list. Maybe it just didn’t have time because I did a verify, clean build files, and installed (deleting the original in esphome integrations) before doing the install.

Probably the least or a tie for the least amount of shadow declaration warnings I have received (which I always ignore) because even the S3 box gets those. Thanks! It seems to be working better but placebo effect. Need some more time. Certainly nice to have it be a media player, granted I have the 5W speaker kit.

I may be the wrong that HA uses tflite micro but noticed that XMOS has been doing some updating of their tflite micro xcore kernels I don’t know if it’s the same version that applies to HA though… I think it’s micro but I could easily be wrong. Regardless, it looks like the i2s stuff has also been updated fairly recently too which is awesome considering most is a year or more ago from last edit.

1 Like

Here’s link to YAML (EXPERIMENTAL!) on my Github, for tracking and changes:

Got mine, and instantly saw it is crap. Seeed people do not answer questions on their discord server, do offer 5$ coupons while I tel them I have to pay double of the unit price because they forgot to declare the goods at the customs.

What the hell of a piece of shit device did I buy again ? It did not even come with mounting instructions, nor screws to mount the speaker, nor even a clear way to get it to work.

I’m stuck with buffer errors and can’t even get that shit to detect the wakeword that actually works using a cheap 13$ atom echo.

Don’t buy that device gents… For that price, you should expect a device that has hotspot feature, asks for you wifi credentials, shows up in HA and works out of the box ! Not a set of plastic pieces you have to figure out how to assemble all by yourself !

full review here : Seeed and the ReSpeaker Lite Module - A Disappointing Experience

Your attitude is strange. Before buying the product, you could read about it. I studied whole manuals section before ordering, and I knew what to expect.
Everything you mentioned as desired is part of software. But Seeed doesn’t sell ready to use product - it’s dev kit. Some examples are there, but I knew from scratch, that I’ll have to research and build my software myself.
So instead of whining I started to search and build. Now I have completely working product (with restrictions of experimental software, because XMOS is still very new to ESPHome, and we all wait for PE (Voice Kit) to be merged into main repo and become stable.

Both of my Respeaker kits are working really good. It’s not Alexa experience - but it’s way closer to it, than I had with self-made 1-mic satellites or even Wyoming Satellite.
Yes, Seeed is pretty bad at supporting things - but your word “again” indicates that you knew it.

Anyways. Research more, complain less. This is the way.

4 Likes

Ok, so. I finally had some time to try and play with it. Not having any results using i2s, the UA firmware works and I can use the respeaker board as a mic and speaker (line out). I tested the UA firmware using Assist in lovelace frontend and it works.

I am starting to work my way through the i2s examples in the seeed wiki to see if the microphone/speaker is working via i2s using arduino IDE. SO far, I did the first i2s test and it came back ok.

Also, I am now noticing on plugging in or unplugging the power, the lineout does pop and hiss. The LED between the mics doesnt work for me either, just the mute and power leds.

It sounds like you didn’t order the full kit that includes the acrylic case, or if you did, you didn’t receive it. I’m not sure where the confusion is about setup. Their wiki is very clear that it comes shipped with the PC DFU firmware, even if you buy the version with the pre soldiered XIAO S3. I found the instructions to be very clear and straight forward. Download the i2s DFU firmware and flashing utility, flash the I2S firmware via the USB port on the board, not the XIOS. After the firmware is flashed, unplug and plug the USB C cable to.the XIAOS and add to ESPHome like any other device. Instructions were provided via one of those QR codes you scan with your phone. While I’m not a fan of this a lot of new products are doing this. They don’t have any instructions included, they just have a QR code you scan that takes you to a web page.

The instructions for assembly are in the link below. Here is the PDF from that page. That’s what contains the standoffs and acrylic case. If you just bought the respeaker and speaker then you got exactly what you ordered. If you ordered the full kit then that’s on Seeed. You can find your order in your email and verify what exactly you purchased. If you created a Seeed account then just log in and go to orders.

It doesn’t come ready for HA. In fact they have several Arduino examples in the wiki. I had to search just to find Speeds yaml for HA and it was lackluster, didn’t use microwakeword so the above is much, much better. One being doing voice via MQTT which may be useful in HA potentially. This was never sold as a dedicated device for HA.

I can’t speak about the entire shipping fiasco as different countries have rules but if you live in the US then what you paid at checkout should have been all you had to pay.

I share some of your frustrations with Seeed. The listen light LED on mine doesn’t work but everything else does. Seems like some sloppy QC as it was well packaged so I doubt it was damage during shipping but you never know. With that said this was clearly a development board. The fact that there is an external pad for both the S3 and the XMOS chip makes that pretty apparent. I would try the following.

1 - flash the I2S firmware again with the USB Cable plug directly into the board using the DFU utility
2 - Delete it completely from HA or at a minimum delete the device under integrations
3 - Flash it in ESPHome again using the above yaml which worked perfectly on my unit, using Microwakeword plus some other benefits.

If the above does work flash the PC DFU and it should show up on your PC as an option for sound input/output. If it doesn’t work in either scenario then something is clearly wrong with the board.

2 Likes

This is 100 percent the same behavior as mine and now I’m more confused. The red light that comes on when pressing mute is the same LED used for the listen light so the LEF is working as mine turns red when pressing the physical mute button. The green LED for power works and red LED on the XIOS chip both work when plugging the USB cable into the XIOS.

EDIT: after further examination it does appear to be two different LEDs close to each other with the one labeled RGB being the listen light which doesn’t work for me.

IDK guys I have 2 boards and LED works on both of them.

@ginandbacon Your respeaker board is just the board itself? without the esp32? Your board is working via i2s properly with the experimental yaml file?

@formatBCE Your boards are the kit with the esp32 pre-soldered?

Mine was the board without, I de-soldered the esp32 and added pin headers instead to see if that makes a difference, same result.