Your own speaker on ReSpeaker
Experimental
A DIY satellite: an ESP32-S3 board with a ReSpeaker microphone array and Homer firmware. Like rooted Yandex speakers, it is not part of the Homer 1.0 product — you build and flash it yourself.
ReSpeaker Mic Array v2.0 is a round board with four microphones, its own noise suppression, echo cancellation and voice direction, a ring of 12 LEDs and a jack for headphones or a powered speaker. In a Homer home it works in two ways.
- The microphone of the speaker on the computer. The board has no Windows drivers, so it is handed to WSL, and the sound goes to the speaker from there: in “Which microphone to use” it is the input “Мост из WSL (udp:8799)” (WSL bridge).
- Your own network speaker. An ESP32-S3 board with Homer firmware turns ReSpeaker into a satellite, the same as rooted Yandex speakers and Smartbox: the microphone goes to the Homer brain over the network, the voice comes back, and the speaker fetches its settings itself. The brain is the speaker on the computer or the backup on the Homer server; the board has no brain of its own. This page is about it.
Firmware sources: alice/respeaker/ in the Homer repository; the Bluetooth bridge: alice/btbridge/.
What you need
- An ESP32-S3 board with a USB OTG port: ReSpeaker connects to it over USB.
- ReSpeaker Mic Array v2.0 and power for both boards.
- A powered speaker or headphones in the ReSpeaker jack: that's where Homer's voice plays.
- Optionally a classic ESP32 for a Bluetooth speaker.
The firmware is built with ESP-IDF and flashed over a cable the first time. After that, updates come from the app.
Wi-Fi through the Homer-Setup hotspot
The Wi-Fi password is not baked into the firmware. A board without a configured network opens the Homer-Setup hotspot:
- Connect to it from your phone and open
http://192.168.4.1/. - On the “Хомер · ReSpeaker” page, pick your home network from the found ones or type its name, and enter the password.
- The brain addresses can stay empty: the home fills them in when you add the speaker.
- Press “Сохранить и перезапустить” (save and restart). The board joins your home network.
The same page opens at the board's address in the home network. It shows the firmware version, the brain link, whether ReSpeaker is found, the microphone level and the volume. The page is in Russian for now.
Adding it to the home
Settings → Speaker → Speaker microphones → Home speakers → New speaker. Enter the board's address and press Install by address (in the app, Install firmware). The Homer server recognizes the board by itself, and no SSH is needed: the firmware is already there, the server only gives it the home's brain addresses. The speaker appears in the list with the ReSpeaker picture and gets the same settings as the other satellites: Listening, Speaker brain, Room, Default voice, volume.
You can set the name right away in Speaker name or rename it later.
Firmware updates
The board has the same Update to … button as Yandex speakers. The board fetches the image from the Homer server itself, checks the checksum, installs it and reboots; the progress is shown in the card and spoken aloud. If the new firmware hasn't reached the brain within a minute, the board rolls back to the previous one by itself. An update takes about 20 seconds.
The Bluetooth bridge next to the board is updated with the same button.
Room mode
ReSpeaker cleans the sound before Homer hears it: gain, noise suppression, bass cut. In Speaker microphones, the speaker that listens to ReSpeaker has a ReSpeaker: room noise choice:
| Mode | When |
|---|---|
| Quiet — catch distant voice | A quiet room, you speak from the other end |
| Normal (factory) | Default |
| Noisy — TV, people talking | A TV is on or people are talking nearby: a distant background is not boosted up to the level of a voice next to it |
The mode reaches the board within seconds, no restart.
Light ring
The ReSpeaker ring shows what Homer is doing, like the light panel on Yandex speakers:
| Ring | What's happening |
|---|---|
| A wave from the side of the voice | The name was heard |
| Breathing, brighter on the side of the voice | Listening |
| A running comet | Thinking |
| A loudness wave around the ring | Speaking |
| Red | Microphone off |
The ESP32-S3 board's own LED shows the link: green — connected to the brain, red — no brain in sight, orange — no Wi-Fi.
Bluetooth speaker
The ESP32-S3 has no classic Bluetooth, so a Bluetooth speaker is connected by a separate bridge: a classic ESP32 with firmware from alice/btbridge/. It searches for speakers, pairs, holds the link and reconnects by itself when the speaker was turned off and on. The ReSpeaker board finds the bridge in the network itself and passes commands to it, so in the app it has the same Bluetooth: headphones and speakers section as the other satellites: find headphones or a speaker, pick one, connect.
No sound yet
Homer's voice will go to the Bluetooth speaker over a wire between the boards; for now the bridge only plays a test tone when checked. The voice still plays from the ReSpeaker jack.
What the board doesn't have
- SSH. Its card has no Push SSH key or Remove firmware buttons — there is nothing to remove.
- Alice. It is a Homer-only speaker.
- A brain of its own. Without the computer or the Homer server the board doesn't answer.
If it doesn't work
- Open the board's page at its address: it says whether the brain is connected and whether ReSpeaker is found.
- A red board LED means no brain in sight: is the speaker on the computer or the backup running, are the brain addresses right (Install by address gives them again)?
- Orange means no Wi-Fi: the board opens the Homer-Setup hotspot again if no network is saved.
- Everything else: Troubleshooting.