On this page

Using your familiar

Day-to-day life with the robot, once the Quickstart has it on your desk and talking. Everything here is voice-first; the display, servos, and LEDs follow along.

Waking it

Say “Hey Artemis” (the shipped custom wake word). The face perks up, a chime plays, and it starts listening — you can keep talking right through the chime; a short pre-roll buffer means words on the heels of the wake phrase aren’t lost.

Two things worth knowing:

Talking to it

Speak normally. Your words appear on the display as a caption (live while you speak, if the server runs -asr-streaming), the face shifts to thinking, and the reply streams back — voice and caption together.

One rule of the current release: it’s half-duplex. Let it finish talking before you speak again; interrupting mid-reply does nothing (barge-in is designed into the protocol and coming in v2.1).

The personality — how it talks, how long its answers run — is not baked in. It’s persona.txt on your server, and it’s yours to rewrite (deep dive).

Things to say

The LLM decides when to use its tools, so none of these are magic phrases — they’re just natural asks that exercise each capability:

SayWhat happens
“What time is it?”server-side clock tool, in your configured timezone
“Be a cat.”swaps the avatar — cat, bat, toad, fox, or default; persists across reboots
“Remind me in 20 minutes to take the bread out.”on-device reminder; it speaks up when due (“what are my reminders?” / “cancel it” work too)
“Turn your head to the left.”head servos
“Make your lights blue.”the LED ring
“Turn on kid mode.”on-device toggles (kid mode, smart mode)
“What’s it look like over there?”camera → multimodal LLM, if vision is configured
“What’s the weather like?”only if you’ve bridged an MCP fetch server — otherwise it will tell you it can’t reach the internet (it really can’t; that’s the point)
“Go to sleep.”says a brief goodbye first, then sleeps; wake it with the wake word

Ending a conversation is graceful by design: phrases like “goodbye”, “good night”, “that’s all”, or “shut down” get a short farewell and end the session — the device stays powered and idle, listening for its wake word. Actually powering off is physical; there is deliberately no voice path to it.

The familiars

cat
cat
bat
bat
toad
toad
fox
fox

Each familiar is a sprite skin over the same animated face rig: the eyes blink, the mouth moves while speaking, emotions droop or widen the eyes, and gaze drifts idly — identical behavior whether the skin is the procedural default face or a sprite animal. Your choice is stored in flash, so your familiar is still a toad after a power cycle.

Want your own? The four shipped animals are drawn by a script — poppet/main/assets/familiars/gen_familiars.py — and the firmware loads any registered name’s <name>_face/eye/mouth sprites from the assets partition. The poppet deep dive covers adding one.

Reading the robot

What it will never do

By architecture, not policy: the device speaks only to your server (the firmware ships with no cloud endpoints), and the privacy boundary is your firewall, not a setting. Give it internet only if you bridge one in via MCP — and even then, the reach belongs to the server, never the device.