In an effort to free myself from the Google shackles, I came upon the board in the title that looked like a perfect replacement for my Google Home minis, which sadly still haven’t been hacked to run custom firmwares to this day. It has a newer sibling (ESP32-S3-Korvo-1) but it doesn’t seem to bring much to the table and is a bit pricier, I may give it a go later if my current POC is a success.
So far I was able to get wifi and audio output working, and I’m trying to figure out how to get the button array to work (they are all tied to a single GPIO pin with specific voltages between 0.3V and 2.8V, I can already read them with an adc sensor). Also trying to figure out how to get some input from the microphone array, this is my first esp project, it’s kind of a lot to take in.
I also have this ESP32-LyraTD-MSC board but didn’t have the time to work on it. If I get something working I’ll let you know. By the way, do you have a repository or something to track the project and make contributions?
Edit: Adjusting the value for the button sensor provided @mulcmu I managed to get all the buttons working. Here is the code:
hi… has anyone managed to add the esp32-s3-korvo-1 to esphome and have the microphones and audio output work as a media player? please someone help me with this
Thank you all for the replies, didn’t see the notification, sorry about the delay.
Since then I had made some progress, was able to get the microphone to work, but everytime I try to play audio, either via media player, or the assistant reply, the board crashes and reboots.
Playing tts sometimes works fine, but it’s very rare compared to crashes. Haven’t found out why it’s so unstable yet.
I see work happening to add ADF support from the espressif framework for the S3 box into ESPHome, hopefully that will also work for the LyraTD. ADF also supports wake words, that would be cool to have compared to having to press a button.
Thank you for sharing your progress! I’ve tried your config and I’m facing the opposite behavior. Audio playing works flawlessly but recording works 1 out of 10 times. Most of the time I get a pipeline timeout.
By the way, do you have any place to track your progress like a repository or something where contributions could be made??
Got it and would like to use it for voice assistant. Managed to configure it as ESPHome with working microphone. Assist works but I have to manually press Rec button. Any hints how to enable Wake word on this device?
This is the last thing I came up with. Wake word working! Other things like volume control is not working as I’m using speaker component rather than media_player.
Thanks for your config, @rikman122 . I was able to run LyraTD as voice assistant with it.
Moreover, I created custom component to control board’s LED’s according to assistant state.
The one thing I can’t resolve is how to debug raw voice data and setup audio parameters to get better results.
It’s quite dirty right now. Just make it possible to turn on|off lights. Will put it on github however.
I thought of making subclass of light or display in future.
Thanks for the implementation of LED support. This makes the LyraTD already usable as an assistant without a speaker connected.
Might it be possible to expose the LEDs as a “normal” light / LED strip? Such that we could use the already implemented effects for light components?
This would make using effects depending on the pipeline state much easier, see e.g. this M5tack AtomEcho yaml: https://github.com/esphome/firmware/blob/735ea09e64897b8248baeb2501e524c29e56b3c7/voice-assistant/m5stack-atom-echo.yaml#L68
Thank you for implementing something that fast! I unfortunately do not have any experience or knowledge regarding programming esphome components. The only thing I found is the deprecated “light.custom” component, which should no longer be used.