Skip to content

Latest commit

 

History

History
94 lines (63 loc) · 3.19 KB

File metadata and controls

94 lines (63 loc) · 3.19 KB

SenseCAP Watcher Voice Agent With Agora Conversational AI

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.

Quickstart

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.

Use An AI Coding Tool

Install Agora's AI coding skill:

npx skills add github:AgoraIO/skills

Then 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 monitor

Press the Watcher wheel button to start or stop the agent.

Manual Setup

For direct terminal steps, follow docs/manual-setup.md.

ESP-SR AFE

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-watcher

If you already cloned without submodules:

git submodule update --init --recursive

Alternatively, use a shared ESP-SR checkout instead of the submodule:

export ESP_SR_PATH=/path/to/esp-sr

Develop With PlatformIO

Open 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 115200 baud.
  • 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 monitor

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