Say it. See the lamp respond. Understand every stage in between.
Set up an ESP32-S3 voice satellite with Home Assistant, then turn a simple desk-light command into your first voice automation.
Try the interactive demoClick to enlarge · AI concept illustration
Choose a simulated command. This demo requests no microphone access and controls no real devices.
Simulation ready. No Home Assistant connection.
| Required | What to use |
|---|---|
| Voice satellite | Espressif ESP32-S3-BOX-3B, or BOX-3 if you already own one. Verify exact variant against the official installer before buying. |
| Home Assistant host | A separate machine running Home Assistant OS; a supported Raspberry Pi or existing HAOS host. The audio box is not the server. |
| Computer for flashing | Desktop Chrome or Edge, USB-C data cable, and 2.4 GHz Wi-Fi credentials. |
| Desk output | A light already integrated into Home Assistant and confirmed controllable from its dashboard. No bare mains relay wiring in this build. |
| Voice processing | Local Speech-to-Phrase + Piper, or a configured Home Assistant Cloud voice pipeline. |
Reference: Home Assistant documentation displaying version 2026.10.4, checked October 31, 2026. The S3-BOX guide states a 2023.12 minimum; use a currently supported installation. The web installer selects its maintained firmware; record the firmware version installed on your device.
On-device wake-word detection is only one stage. Speech processing and device integrations determine whether the complete command path stays local.
| Route | Good fit | Trade-off |
|---|---|---|
| Local: Speech-to-Phrase + Piper | A first desk-light demonstration using supported commands | Restricted vocabulary and command coverage; not general conversation. |
| Local: Whisper + Piper | Broader transcription on a capable host | More processing demand; latency depends on hardware and model. |
| Home Assistant Cloud | Simpler hosted speech services | Network and service dependency; check current subscription terms. |
For the local route, install and start your chosen speech-to-text app plus Piper on HAOS. Add their discovered Wyoming integrations. In Settings → Voice assistants, create an assistant using Home Assistant as conversation agent, your selected speech engine, Piper, and matching language settings.
Expose Desk Lamp under Settings → Voice assistants → Expose. Start with that single entity. A locally processed command may still operate a cloud-dependent light integration; check the entire chain before describing your system as offline.
Once the basic command works, create an automation with a Sentence trigger for start desk mode. Add a light-on action targeting your lamp and a conversation response. Test the typed sentence before trying it aloud.
Compatibility: use a Home Assistant conversation agent. With Speech-to-Phrase, verify the custom sentence is supported by the installed model/version; typed success alone does not establish that it can transcribe an arbitrary phrase. Use an open-ended speech engine if needed.
alias: WolfieWeb - start desk mode
description: Example only - replace the light entity before enabling
triggers:
- trigger: conversation
command:
- start desk mode
conditions: []
actions:
- action: light.turn_on
target:
entity_id: light.replace_with_your_desk_light
- set_conversation_response: "Desk mode is ready."
mode: single
Download automation YAMLPaste this into a new automation’s YAML editor, replace light.replace_with_your_desk_light with the actual entity ID, and save. This is an untested starter example; it is not an ESPHome device configuration.
| Symptom | First check |
|---|---|
| USB device missing | Data cable, direct box port, desktop browser and official boot-mode procedure. |
| Typed command fails | Entity exposure, exact name/alias, selected conversation agent and dashboard control. |
| Typed works; voice fails | Microphone mute, selected pipeline/language, wake word and speech-engine logs. |
| Response is slow | Host workload, speech model and network quality. Measure before changing several settings. |
| No spoken reply | Piper/cloud TTS setup, voice language and satellite volume. |
Keep the audio satellite focused on voice; ESPHome warns that extra components, especially BLE alongside audio, can cause resource problems. There is no need to add an LLM to switch a desk lamp.
Verify board stock and firmware compatibility before purchasing. No price, recognition accuracy or response-time claim is made here. Hardware validation remains outstanding.