🗿👁 ʻOhana Watcher kit
SenseCAP Watcher W1-A (loaner from ShanHaiWoo) → the first physical node of the ʻOhana Bot: a round screen with eyes that talks as SHAKA, and — through the laptop — as all six faces. The 3D totem is the body it grows into.
⬇ watcher-kit.tar.gz (14 MB) README role prompt laptop totem
0x9000, where Seeed stores the Watcher's identity (EUI + SenseCraft credentials). flash.sh backs up nvsfactory.bin (3 s) and a full 32 MB image (≈6 min) and refuses to write without the identity backup. Copy backup/ to Drive right after. restore.sh hands it back exactly as received.0b · Which firmware? Read the label first
| label | flash | binds on | wake word | extra |
|---|---|---|---|---|
| W1-A (plain) | ./flash.sh community xiaozhi v2.5.2 | xiaozhi.me (Google) | 你好小智 | — |
| W1-A-EN | ./flash.sh --seeed Seeed Visual-Trigger v2.0.4 | sensecraft.seeed.cc Watcher Agent (Google/GitHub/Apple) | "Jarvis" | visual wake-up + camera |
Seeed's firmware on a plain W1-A needs an "authentication file" = a one-time irreversible eFuse burn — never on a loaner. Both platforms expose an MCP endpoint, so Path B is identical. Study notes: wiki.seeedstudio.com/watcher.
0 · On the table
- Plain 5 V/1 A power (phone charger; Seeed: >5 V may burn it). 400 mAh battery = backup only.
- Laptop ·
python3·pip3 install esptool(China:-i https://pypi.tuna.tsinghua.edu.cn/simple) - USB-C data cable into the bottom/side port (back port = power only). Two serial ports appear; the script probes both.
- 2.4 GHz Wi-Fi (phone hotspot works; iPhone → Maximize Compatibility ON). No 5 GHz on ESP32.
- Google account — xiaozhi.me console has Sign in with Google, no Chinese phone needed (VPN for Google only; the device itself needs none).
1 · Flash (Path A, ≈10 min)
tar xzf watcher-kit.tar.gz && cd watcher-kit ./flash.sh # backups → type FLASH → xiaozhi v2.5.2 written at 0x0 ./flash.sh --skip-full # hurry mode: identity backup only
2 · First boot → Wi-Fi → bind
- Dark screen? hold the wheel ~3 s.
- Phone → Wi-Fi Xiaozhi-xxxx → captive page (or
http://192.168.4.1) → pick the 2.4 GHz network → Connect. Redo later: single-click the wheel on the "starting" screen. - Say “你好小智” (or click the wheel) → it speaks a 6-digit code.
- xiaozhi.me/console → Sign in with Google → 新建智能体 “SHAKA” → 添加设备 → the code.
- 配置角色 → paste xiaozhi-role-prompt.txt → pick a warm voice → save.
- “你好小智 — Aloha Shaka, what are you?” 🤙
Wheel = volume · click = talk/stop · hold 2 s = off · hold 10 s = factory reset (Wi-Fi + binding) · pin in the bottom hole = reset · speak 3–10 cm from the mic · phone hotspot, never captive-portal Wi-Fi.
3 · Path B — all six faces through the laptop
# terminal 1 cd totem-web && python3 serve.py # http://127.0.0.1:8777 # terminal 2 cd watcher-kit/mcp && pip3 install -r requirements.txt export MCP_ENDPOINT='wss://api.xiaozhi.me/mcp/?token=…' # Console → 智能体 → 配置角色 → MCP接入点 python3 mcp_pipe.py
ask_ohana("kala", …) → laptop /chat → same router.py + memory.json → KALA glows on the 3D totem while the Watcher speaks her words. Outbound websocket only; venue Wi-Fi is enough. Bridge down → in-persona canned line, never an error read aloud. Tested 22 Oct 07:5x CST against the live brain: DEVA (EN) + KALA (中文) answered, markdown stripped for speech.4 · Give it back
./restore.sh # exact 32 MB image, else Seeed V1.1.7 + your nvsfactory.bin
Firmware: 78/xiaozhi-esp32 v2.5.2 (MIT) · factory bins: Seeed OSHW-SenseCAP-Watcher (Apache-2.0) · MCP pipe: 78/mcp-calculator. Everything here is CC0 — fork me like crazy 🍴