Building your own smart devices can be a lot of fun, but as your projects scale in complexity, so can the parts required. I've wanted to build my own voice assistant for quite a long time now, after using the Home Assistant Voice Preview Edition, and it looked to be a pretty difficult task. Thankfully, Seeed Studio's ReSpeaker Lite came to the rescue, which makes the task significantly easier.

Overall, I was impressed with the experience. I had a lot of fun learning and messing around with this particular board, and that has been massively helped by the community. Given how much was already connected for me (taking a bit of the DIY out of it), I decided to add some DIY back into the project by taking apart an old speaker.

ReSpeaker Lite

The ReSpeaker Lite is a cheap, easy-to-use board from Seeed Studio, and optionally comes with a pre-soldered ESP32 to greatly simplify development and deployment. With an ESP32, you can flash a custom ESPHome firmware that turns it into a full-fledged local voice assistant.

About this article: Seeed Studio sent me the ReSpeaker Lite for the purposes of this article. The company had no input into its contents.

What is the ReSpeaker Lite?

A full speaker kit on a single board

ReSpeaker Lite is a single-board kit for building a smart speaker. It comes in two versions: one with a pre-soldered XIAO ESP32‑S3 and one without. The hardware is otherwise identical and includes:

  • Dual microphone array, RGB light ring, mute, and user buttons
  • 5 V power input, USB‑C, 3.5 mm audio out, JST PH‑2.0 speaker connector for 5 W speakers
  • XMOS XU316 audio processor with I2S support

The XU316 is where all of the audio processing magic happens and is what provides support for I2S audio. In case you're wondering, you're not just limited to an ESP32 either, and Seeed Studio specifically mentions the Adafruit QT Py, a regular Raspberry Pi, or even a PC via USB as supported devices by the ReSpeaker Lite.

It's a tiny board with a lot of interesting ways to drive it, but for simplicity's sake, the ESP32-S3 integrated board is the way to go for most people. It's plug and play, and as I'll show you as well, there's even a ready-to-go ESPHome project that you can deploy on it.

Audio is simple, but I wanted to do some tinkering

An old speaker was a great place to start

I had been planning on building my own voice assistant for quite a while, and while I enjoyed this project and how well it worked (the 3.5mm jack is perfect for most people), I wanted to hook up my own speaker to it. At first, I considered just buying a 5W speaker and connecting it up myself, as that was something I had been considering for a while anyway. But then I realised that speakers are very simple devices, and if I could take apart an old device, I could harvest the speaker for this project. Enter the TDK OutLoud CD Wallet.

In planning for this project, I asked my parents if they had any old speakers that I could take apart, as I didn't have any. That's when my dad presented me with an old CD wallet speaker. Basically, it's a speaker that could carry CDs, was battery-powered, and had a 3.5mm jack that you could connect to whatever device you wanted. The jack could be taken out of the wallet while it was still zipped up, but the idea was that you could carry CDs with you inside of it, connect the speaker to a CD player, then close it up and listen to your music.

This speaker was released in the latter half of 2003 and required batteries to work, and when my dad handed me it, we tried a new set of AA batteries to see if they would work. It wouldn't power on, and audio wouldn't play, but I told him that all I needed were the speaker units themselves. He was happy for me to take it as he hadn't used it in over a decade, and given that it was broken, it was of no use to him anyway.

Once I got home, I immediately got to work on disassembling it and seeing if I could find why it had stopped working, which meant carefully removing a few screws and a lot of padding. What I discovered made sense; the PCB that everything is connected to had sustained some kind of liquid damage, particularly around the VCC pin, which handles power, and the "IC1" chip, which appears to be an integrated audio circuit for handling left-channel audio. The right channel has an "IC2" chip. From what I can see, it's a fully proprietary PCB with the only identifying information being located at the bottom of the board: an identifier that says "Stereo V1.2." There are no datasheets out there for it, nor any disassemblies of this particular product, but it was thankfully labelled very well.

What was most important to me in this project was how it was originally connected up, so that I could work out how to connect everything to the ReSpeaker Lite instead. The speakers had been soldered to their corresponding L and R outputs on the PCB, with a positive and negative pin for each, and the 3.5mm jack connects to an "R-in" and "L-in" pin, alongside a ground pin. I still haven't done anything with that yet, but I might in the future.

Given that I just wanted to connect a speaker to the ReSpeaker Lite, I ignored everything else and went to work on desoldering the positive and negative connections on the PCB from one speaker, connected the ReSpeaker Lite to a power supply, and played music from Music Assistant with it. Once I tapped the desoldered speaker wires against the corresponding positive and negative terminals on the ReSpeaker Lite, audio came through, and it worked perfectly.

With that said, this obviously isn't ideal. It's not a particularly permanent solution, and the speaker wires themselves are long. This is where I made a big mistake: I cut the ends of the speaker wire off. Normally, this wouldn't be a problem, but it turns out that the speaker wire had been "pre-tinned", which is a process that uses a small amount of solder to join up the strands of copper inside the wire itself to ensure proper contact is made. As an aside, I got quite lucky that this also didn't melt when I removed the wires. I wasn't bothered fixing this (you can technically just resolder it, but too much solder introduces interference and may prove difficult to form a connection with), so I simply moved over to the speaker originally for the right channel and made sure not to cut the wire this time.

This worked, but I still needed a more consistent way to maintain the connection. I also didn't want to do any soldering for now, but that's when I realised I could use a breadboard to send the audio channel over some jumper pins. I inserted the ends of the speaker wire into a breadboard, then used a pair of jumper pins to touch the audio terminals on the ReSpeaker Lite. It's still not perfect, but it makes it a lot easier to test and ensure that everything works, which it did. All I need is a JST 2.0 PH plug that I can crimp the positive and negative wires to, and I can then connect it permanently to the ReSpeaker Lite.

All of this is to say that my voice assistant project went from merely being a fun experiment to something that can be converted into something portable with ease. Plus, it's a great way to get use out of old hardware. My dad would have thrown out the speaker if he had known it was broken, yet I was able to turn it into something useful with a small bit of wiring. Right now, all I have to do is power the ReSpeaker Lite, and the two-decades-old speaker wallet comes to life.

Configuring a voice assistant

There's a firmware ready to go

I was all ready to go and figure out how to port the firmware of the Home Assistant Voice Preview Edition to the ReSpeaker Lite using ESPHome... only to discover that someone has already done that, while adding additional features, too. I flashed it, it works, and it does everything you expect a voice assistant to do.

In fact, if you look at the above screenshot, you'll likely see some of the extra features that it has. You can turn on an alarm, you can see the XMOS version, and you can see when the user button is pressed. However, there's an even better feature that you can't do with the Home Assistant Voice Preview Edition right now... and that's proper timer support.

On the HAVPE, when you set a timer, it's set internally. This means Home Assistant doesn't actually know it exists, and there's no way to pull the state of the timer and show it on another device. However, with the ReSpeaker Lite and this ESPHome firmware, when a timer is set, it will be exposed to Home Assistant and updated every five seconds. This way, you could pull the state of the timer, send it to a custom dashboard, and count it down either from the initial value or by interpolating the values within those five-second update periods.

Plus, it has wake word support, and with microWakeWord support, it does it all on-device. It's not like openWakeWord, which requires your Home Assistant instance to do the processing. On top of that, there are TTS URI events and STT text events that can be used in Home Assistant.

So, with ESPHome and the ReSpeaker Lite, you can build your own home voice assistant with additional features over the Home Assistant Voice Preview Edition, and in a form factor designed for you to build it yourself. Oh, and it's cheaper, too. What's not to love?

The ReSpeaker Lite is amazing

I absolutely love it

The ReSpeaker Lite is an incredible little board, and with an ESP32 soldered on, it's amazing what it can achieve. I wasn't sure what to expect, yet paired with my Home Assistant voice pipeline, it's the perfect Google Nest or Amazon Echo Dot replacement. Plus, because of the fact that you build it how you want, you can do something creative with it and take apart an older device to donate speakers, if you wish.

Of course, the wallet case that I'm using will muffle the microphones when it's closed, so the plan is to out a portion of it so that I can expose the microphones fully. It's a full-on DIY project, and it's taking something old and making it new again. Something that would have been tossed in the bin suddenly has a new use, and it's not just a "fun" use either; it's genuinely useful.

If you're looking for your next project, a DIY one like the ReSpeaker Lite could be a great place to start. I've seen a ton of projects with this that also massively benefit from a 3D printer, as you can make your own housing for it, too. I'm excited to finish it off, and it's been a great way to get started with soldering and wiring up my own projects.