Run an Agora Conversational AI voice agent on Seeed SenseCAP Watcher. The firmware connects over Wi-Fi to a local quickstart server, joins Agora RTSA, and uses the Watcher's built-in microphone, speaker, 412x412 display, and wheel button.
This firmware talks to a local Agora Conversational AI server running on your PC. Keep the Watcher and your PC on the same Wi-Fi, then configure the firmware with your PC's LAN address on port 8000, for example http://192.168.0.101:8000.
Install Agora's AI coding skill:
npx skills add github:AgoraIO/skillsThen open this repo in your AI coding tool and paste:
Use the Agora skill from https://github.com/AgoraIO/skills.
Read docs/ai-quickstart.md and complete the setup for this SenseCAP Watcher voice agent project.
Set up agent-quickstart-python, configure the local firmware config, build with PlatformIO, and explain the upload and monitor steps.
Keep secrets only in ignored local config files and do not print them.
When the assistant finishes setup and the build succeeds, upload and monitor from the terminal:
pio run -e sensecap-watcher -t upload
pio device monitorPress the Watcher wheel button to start or stop the agent.
For direct terminal steps, follow docs/manual-setup.md.
This project uses ESP-SR AFE directly for 3A audio processing: AEC, noise suppression, and AGC. The firmware does not use ESP-ADF audio_pipeline or audio_stream APIs.
ESP-SR is tracked as a Git submodule at third_party/esp-sr. For compatibility with older local checkouts, the build can also use ESP_SR_PATH, third_party/esp-adf/components/esp-sr, or $ADF_PATH/components/esp-sr.
For a fresh clone with the current submodule layout:
git clone --recurse-submodules git@github.com:AgoraIO-Community/agent-with-sensecap-watcher.git
cd agent-with-sensecap-watcherIf you already cloned without submodules:
git submodule update --init --recursiveAlternatively, use a shared ESP-SR checkout instead of the submodule:
export ESP_SR_PATH=/path/to/esp-srOpen this repo in VS Code and install the PlatformIO IDE extension. PlatformIO should detect the sensecap-watcher environment from platformio.ini.
Useful PlatformIO actions:
- Build: compiles the voice-agent firmware.
- Upload: flashes the connected Watcher over USB-C.
- Monitor: opens the serial monitor at
115200baud. - Upload and Monitor: flashes the device, then opens serial logs.
Equivalent CLI commands:
pio run -e sensecap-watcher
pio run -e sensecap-watcher -t upload
pio device monitorThe project is configured for:
- PlatformIO environment:
sensecap-watcher - Board base:
esp32-s3-devkitc-1 - Framework: ESP-IDF
- Flash size: 32 MB
- PSRAM: octal PSRAM enabled
- Partition table: Watcher layout with factory, OTA, storage, and model partitions
- Upload speed:
115200 - Monitor speed:
115200
Keep local credentials and server URLs in src/app_config_local.h. That file is git-ignored and overrides the placeholder defaults from src/app_config.h.