Hear
Works in this buildThe dual-microphone array captures push-to-talk audio after the XMOS is on Muse's required 16 kHz I2S firmware.
Build recipes / A self-assembled voice node for Muse
Stack a pre-soldered reSpeaker Lite and XIAO controller over a 5 W speaker, route the antenna and data cable, then use the finished node as a push-to-talk Muse body.
Build proof
This clip explains the intended interaction. It is a concept animation, not footage of a verified physical build. The interactive model below distinguishes official CAD and published dimensions from clearly labeled schematic accessories.
No version-matched community build has been reviewed yet. A verified upload must retain the board revision, XMOS image, Muse commit, parts substitutions, finished-build photo and real push-to-talk result.
Assembly model
Drag to inspect the fit, explode the 5 physical assemblies, and follow the actual build order.
Senses and actions
Capabilities are labeled at the integration boundary, so a speaker is not mistaken for working TTS.
The dual-microphone array captures push-to-talk audio after the XMOS is on Muse's required 16 kHz I2S firmware.
The XIAO BOOT button starts push-to-talk and confirms pairing; the reSpeaker board also exposes user and mute controls.
The board and kit include a speaker path, but Muse speaker playback is not verified on hardware. Current replies appear as text in the Muse app.
Muse's optional home-network tunnel can reach local HTTP devices; enable it only on a network you trust.
Parts
Prices were checked 2026-10-07. Hackshop opens seller links but never places an order.
Main board or device for this build.
Required · $31.00Required for the complete physical voice-node assembly. Seeed lists this speaker for the reSpeaker Lite kit at $2.00 on 2026-10-07. Muse speaker playback is not verified on hardware yet, so this part establishes the hardware path rather than a working spoken-reply claim.
Required · $2.00The self-assembled black acrylic frame mounts the reSpeaker board above the enclosed speaker. Seeed listed it at $5.00 on 2026-10-07.
Required · $5.00Must carry data, not just charge. Most flashing problems are charge-only cables. This Seeed cable is USB-C to USB-A and carries USB 3.1 data ($2.50 on 2026-10-05). If your computer has only USB-C ports, use the USB-C to USB-C option.
Required · $3.00Optional. Runs the gadget from a wall outlet instead of your computer. A phone charger that supplies 5 V / 2 A or more works.
Optional · $10.00Pre-soldered reSpeaker/XIAO board, Seeed 4 ohm / 5 W speaker, acrylic enclosure and one data cable. Shipping and tax are not included; the higher estimate uses the listed USB-C to USB-C cable alternative.
How to build it
The commands and recovery path are generated from the same machine-readable plan your agent receives.
You need the board and any build-specific accessories before flashing or pairing.
Muse gadgets pair with your account by using a private SDK token.
Create a token at gadgets.muse.ai > Account > SDK tokens (https://gadgets.muse.ai/settings/sdk-tokens). It starts with mgst_. For this ESP32 build, set CONFIG_GADGET_SDK_TOKEN="mgst_YOUR_TOKEN" in build-seeed-respeaker-lite/sdkconfig after the board build command has created that file, then run the build command again. idf.py menuconfig > ESP32 Device SDK > Muse Gadgets SDK token is the interactive alternative. Never commit the real token or paste it anywhere public.
The board needs the Muse ESP32 firmware configured with your SDK token.
Source: https://github.com/facebookincubator/muse-gadget-sdk/blob/main/esp32/devices/seeed-respeaker-lite.md
Give your coding agent the build brief at https://www.hackshop.dev/build/seeed-respeaker-lite-xiao-esp32s3/build.md. Tell it to keep the token private, use mgst_YOUR_TOKEN as the placeholder, and find the serial port before flashing. It should find the port with ls /dev/cu.usbmodem* 2>/dev/null || ls /dev/ttyACM* 2>/dev/null; on Windows, use Device Manager to find the COM port, then run commands in the ESP-IDF shell.
Install ESP-IDF v6.0.1 and only the esp32s3 target for this board. Muse's ESP32 README verifies macOS and Linux. Windows is not documented by the Muse SDK; if you use it, install ESP-IDF v6.0.1 with Espressif's Windows installer and run commands in the ESP-IDF shell. Clone the Muse Gadget SDK, run tools/board.sh seeed-respeaker-lite build once to create build-seeed-respeaker-lite/sdkconfig, set CONFIG_GADGET_SDK_TOKEN="mgst_YOUR_TOKEN" in that file, run tools/board.sh seeed-respeaker-lite build again, then flash. If flashing cannot connect, hold BOOT, tap RESET, then release BOOT.
git clone -b v6.0.1 --recursive https://github.com/espressif/esp-idf.git ~/esp/esp-idf-v6~/esp/esp-idf-v6/install.sh esp32s3. ~/esp/esp-idf-v6/export.shgit clone https://github.com/facebookincubator/muse-gadget-sdkcd muse-gadget-sdk/esp32tools/board.sh seeed-respeaker-lite buildprintf '\nCONFIG_GADGET_SDK_TOKEN="mgst_YOUR_TOKEN"\n' >> build-seeed-respeaker-lite/sdkconfigtools/board.sh seeed-respeaker-lite buildls /dev/cu.usbmodem* 2>/dev/null || ls /dev/ttyACM* 2>/dev/nulltools/board.sh seeed-respeaker-lite flash-monitor PORTPairing links the freshly flashed board to your Muse account.
In the Muse app, turn on Settings > Devices > Developer mode, then Settings > Devices > Add Device (+). Pick MuseGadget-respeaker-XXXXXX and press the XIAO BOOT button when the status light breathes blue. Green means connected. Status meanings: orange = ready for setup, blue breathing = press the button, blue = joining Wi-Fi and connecting, green = connected, yellow blinking = reconnecting, purple = unpaired, red blinking = error. Hold the pairing button for 5 seconds to reset pairing.
The acrylic stack keeps the microphones exposed, carries the board above the speaker and makes both USB-C ports reachable for recovery.
Power the board down. Keep the pre-soldered XIAO attached to the reSpeaker carrier. Mount the complete board on the upper acrylic deck, connect the keyed speaker lead, then fasten the upper and lower plates around the speaker. Start every fastener by hand and tighten only until secure. Snap the external antenna lead straight down onto the XIAO U.FL connector, place the antenna where its cable is relaxed, and leave both microphones clear. For Muse flashing and power, plug the data cable into the small XIAO USB-C port, not the larger reSpeaker USB-C port.
A first prompt proves the device is paired, reachable, and useful for the project.
Acceptance checks
A flash that exits successfully is not enough; the final checks happen on the real device.
visual
The board is secured above the speaker, the acrylic is not cracked, both microphones are clear, and neither USB-C port is obstructed.
command
The reSpeaker XMOS is detected before installing Seeed's 16 kHz I2S v1.0.9 image required by the reviewed Muse profile.
dfu-util -lcommand
A new serial port appears only after the data cable is connected to the small XIAO USB-C port.
ls /dev/cu.usbmodem* 2>/dev/null || ls /dev/ttyACM* 2>/dev/nullserial log
Startup includes “link.main: Muse Gadget starting”.
tools/muse/monitor.py PORT 20app readback
MuseGadget-respeaker-XXXXXX is connected under Muse Settings > Devices and the status light is green.
real device
Holding and releasing XIAO BOOT sends a voice note and the Muse app shows the expected text reply.
real device
After a power cycle, the node reconnects and another push-to-talk request succeeds.
Before you build
Source trail
SDK commit b139b45064b4 · ESP-IDF v6.0.1 · reviewed 2026-10-07