WOLFIEWEBVOICE LAB / ESP32 + HOME ASSISTANT
VOICE LAB 01 · SUPPORTED HARDWARE

Give your
desk a voice.

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 demo

Click to enlarge · AI concept illustration

Source-checked setup guide, not a bench-tested build. This route uses the official ESP32-S3-BOX-3/3B installer. No custom microphone wiring or fabricated firmware is required. The hero image is a concept illustration, not an exact product photograph.
BROWSER DEMONSTRATION

One command. A visible response.

Choose a simulated command. This demo requests no microphone access and controls no real devices.

Simulation ready. No Home Assistant connection.

Build the system, not just the speaker.

RequiredWhat to use
Voice satelliteEspressif ESP32-S3-BOX-3B, or BOX-3 if you already own one. Verify exact variant against the official installer before buying.
Home Assistant hostA separate machine running Home Assistant OS; a supported Raspberry Pi or existing HAOS host. The audio box is not the server.
Computer for flashingDesktop Chrome or Edge, USB-C data cable, and 2.4 GHz Wi-Fi credentials.
Desk outputA light already integrated into Home Assistant and confirmed controllable from its dashboard. No bare mains relay wiring in this build.
Voice processingLocal 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.

Where your command goes.

On-device wake-word detection is only one stage. Speech processing and device integrations determine whether the complete command path stays local.

Get a first win in five stages.

  1. Prove the lamp works. In Home Assistant, turn your chosen light on and off using the dashboard. Give it a clear name such as Desk Lamp. Resolve integration problems before adding voice.
  2. Prepare Assist. Choose local or cloud speech processing below. Test the typed command “turn on Desk Lamp” in Assist. A successful text test isolates entity names and control from microphone problems.
  3. Flash the exact box variant. Open the linked official S3-BOX guide in desktop Chrome/Edge. Connect USB-C directly to the box, not its dock. Follow its variant-specific install, Wi-Fi and Home Assistant onboarding prompts. The installer replaces existing device firmware.
  4. Select and test the voice pipeline. Open the discovered ESPHome device, select your configured assistant as described in the official guide, and check its wake-word setting. Say the configured wake phrase, then “turn on Desk Lamp.” Do not assume a particular wake phrase is enabled.
  5. Test repeatedly. Try on/off commands from your normal desk position. Record successful attempts, misunderstood commands and response times. Test microphone mute, then repeat after restarting the satellite.
Open official installer + variant instructions ↗

Choose your voice-processing route.

RouteGood fitTrade-off
Local: Speech-to-Phrase + PiperA first desk-light demonstration using supported commandsRestricted vocabulary and command coverage; not general conversation.
Local: Whisper + PiperBroader transcription on a capable hostMore processing demand; latency depends on hardware and model.
Home Assistant CloudSimpler hosted speech servicesNetwork 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.

Upgrade: “start desk mode.”

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 YAML

Paste 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.

Troubleshoot the stage that failed.

SymptomFirst check
USB device missingData cable, direct box port, desktop browser and official boot-mode procedure.
Typed command failsEntity exposure, exact name/alias, selected conversation agent and dashboard control.
Typed works; voice failsMicrophone mute, selected pipeline/language, wake word and speech-engine logs.
Response is slowHost workload, speech model and network quality. Measure before changing several settings.
No spoken replyPiper/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.

Study links

Original documentation and maintained installation

Verify board stock and firmware compatibility before purchasing. No price, recognition accuracy or response-time claim is made here. Hardware validation remains outstanding.

🤖 ↑Enlarged tutorial graphic