Hey all,
I’ve been working on a custom Lovelace card that I think a lot of people running wall-mounted tablets or kiosk dashboards might find useful, so I wanted to share it here.
I have a couple of tablets around the house running HA dashboards, and I wanted them to double as voice satellites for Assist. The existing options all require dedicated hardware (ESP32-S3 boxes, etc.), but these tablets already have perfectly good microphones sitting right there. Seemed wasteful to stick a separate voice satellite next to a device that already has everything it needs.
Voice Satellite Card is a custom card that turns any browser with a microphone into a fully functional Assist voice satellite. It hooks into your existing Assist pipeline (wake word, STT, conversation agent, TTS – the whole thing) and runs the wake word detection server-side through Wyoming/openWakeWord, just like a regular satellite would.
You drop it into any dashboard view and it works invisibly in the background. When it picks up the wake word, it shows a subtle gradient animation bar and transcription bubbles, processes your request through the pipeline, and plays back the TTS response through the device speakers.
What it does:
- Listens for wake words using your existing wake word setup (server-side, not local to the browser)
- Streams audio to your Assist pipeline for STT, conversation, and TTS
- Stays active across dashboard view changes
- Auto-starts on page load (with a manual fallback button if the browser blocks auto-start)
- Shows visual feedback via a customizable gradient bar and speech transcription bubbles
- Works with Fully Kiosk Browser – can disable the screensaver when the wake word is detected so the screen wakes up for the interaction
- Configurable chime sounds on wake word detection and request completion
- Supports noise suppression, echo cancellation, and auto gain control
Requirements:
- A working Assist pipeline (wake word + STT + conversation agent + TTS)
- Browser with microphone access over HTTPS
- The screen/device needs to stay on (use a screensaver rather than screen-off, otherwise the mic goes to sleep)
Installation:
Available through HACS as a custom repository, or manual install by dropping the JS file into your www folder. Basic config is just:
yaml
type: custom:voice-satellite-card
That’s literally it for the default setup. There are a bunch of appearance and behavior options if you want to customize things further.
I’ve been running this on a couple of Samsung tablets with Fully Kiosk and it’s been working well. It’s nice not having to buy separate satellite hardware for rooms that already have a tablet on the wall.
Feedback, bug reports, and PRs are all welcome. Let me know if you run into any issues.

