The fully self-contained voice control gadgets described in my previous post have been in use for almost a year now, and overall, I am still satisfied with how they simplify interaction with my home automation setup. I have made two major changes though, which are reflected in the updated Github repository.
(1) Supporting some off-the-shelf hardware variants enables cloud-less and solder-less deployment.
(2) Moving from using the Rhasspy-integrated text-to-speech engine to a standalone text-to-speech engine makes this project completely independent from Rhasspy — although communication with the home automation system still uses MQTT messages that mimic Rhasspy.
Multiple hardware platforms
The firmware can now be compiled for multiple hardware variants. They all have in common an ESP32-S3 processor with 16MB flash memory and 8MB external RAM, one or two microphones and one speaker. Optionally, there can be an RGB LED as a status indicator, a climate sensor (more about that below), and a TFT display to show climate information.

Variant ‘homemade’
This the hardware described in the previous post, some soldering required. It comprises two digital microphones, and a small Amazon desktop speaker with, in my opinion, good sound quality.
On one of my units, I added a climate sensor and TFT display.
Variant ‘Espressif Box’
Years ago, I bought two Espressif ESP32-S3-BOX-Lite gadgets, to experiment with the Willow speech recognition project, and now I am reusing these with my own firmware. This is a 5x7cm box with two microphones, a small speaker and a TFT display. The speaker inside the gadget sounds rather tinny, and the device is much more expensive (>€50) than the custom hardware, but you get a ready-made unit, no soldering required. While this device is no longer available from Espressif, I believe, you may be able to find some on eBay.
Some GPIO pins are accessible, so I was able to add a climate sensor … some soldering required for this, or course.
Variant ‘Spotpear Muma’
Another off-the-shelf hardware alternative is the Spotpear “Muma”, this can be found on Aliexpress for about €25, as “DeepSeek AI Chat Box ESP32-S3 1.54 inch LCD“. The manufacturer provides some technical information here. It has one microphone (in an awkward position near the back of the unit), one small speaker (quite tinny) and a small LCD. You get a unit for the same cost as my homemade variant, with much lower sound quality, but no soldering required.
No GPIO pins are accessible from outside, so no chance to add a sensor.
Standalone text-to-speech service
Previously, I had used the test-to-speech (TTS) service that comes with Rhasspy to convert text in OpenHAB to a WAV file that the ESP32-S3 firmware can play back. I was using the Larynx service with the blizzard_lessac voice.
This TTS engine generates WAV files 22050 Hz sample rate, by default, while the ESP-SR speech recognition engine expects the microphone to be sampled at 16000 Hz. My custom hardware can deal with this, but the off-the-shelf gadgets need the same sample rate for input and output.
My solution was to set up my own TTS service based on the piper-tts project, so I can configure the engine to whatever sample rate I want. Detailed instructions for how to set this up are in GitHub. I created a dedicated VM for this, but I would think that you can install it on an existing server as well.
A nice side effect of this change is that the project is now completely independent of Rhasspy, all you need is the ESP32-S3 gadget, an OpenHAB installation, and a piper-tts installation.
Featuritis
In a bout of featuritis, i.e. the urge to add features that nobody asked for, and that are unrelated to the core purpose of the project, I added (for some hardware variants):
- the ability to connect a temperature/humidity/pressure sensor, and an air quality sensor.
- the ability to connect a TFT display, to display weather information, collected from above sensors, or received from the home automation server via MQTT.
This was a case of “now we have the solution, but what is the problem?”. Namely, the off-the-shelf hardware variants come with a built-in display, so I tried to do something useful with that.