--- title: Reachy Mini WebRTC Demo emoji: ๐Ÿค– colorFrom: blue colorTo: indigo sdk: static pinned: false hf_oauth: true hf_oauth_expiration_minutes: 480 short_description: Single-file WebRTC demo โ€” sign in with HF, drive the robot. tags: - reachy_mini - reachy_mini_js_app --- # Reachy Mini WebRTC Demo Single-file (`index.html` + `style.css`) WebRTC demo for Reachy Mini. No build step, no bundler โ€” drop it on a Hugging Face Space with `sdk: static` and you're done. Boots on the modern **host-shell** pattern documented in [`ts/APP_CREATION_GUIDE.md`](https://github.com/pollen-robotics/reachy_mini/blob/main/ts/APP_CREATION_GUIDE.md): - The host shell (loaded from jsDelivr on a standalone visit) owns HF OAuth + robot picker + the connect / leave button. No more hand-rolled login screen here. - The post-connect UI (sliders, audio, sound, animations, torque, volume, daemon logs) lives in this page's markup and runs inside the host's iframe via `connectToHost()`. Same features as before. ## Features - Video streaming from the robot's camera - Head RPY sliders, body yaw (tank-coupled), antennas - Wake up / go to sleep / torque toggle - Sound playback (free-text + presets) - Speaker volume sync - Mic + speaker mute toggles - Live latency badge (RTT / buffer / jitter, colour-coded) - Daemon `journalctl` stream over the WebRTC data channel ## How it works 1. Visit the Space โ€” the host shell renders sign-in. 2. Sign in with Hugging Face (OAuth). 3. The shell lists your reachable robots; pick one. 4. The shell wakes the robot and iframes this page at `?embedded=1`. 5. All the controls below light up. ## Requirements - Robot online on the central signaling server. - Robot daemon recent enough to expose `subscribeLogs`, `getVolume`, `wakeUp`, `gotoSleep`, `setMotorMode` over the data channel (anything โ‰ฅ 1.8 should be fine). ## SDK pin `@pollen-robotics/reachy-mini-sdk@1.8.0-rc1-main.fd4354c`, loaded from `cdn.jsdelivr.net`. Same exact pin as the three Pollen reference apps โ€” mixing versions across the SDK, host shell, and daemon causes silent protocol drift (see APP_CREATION_GUIDE ยง10).