M1LL1-E versions.
A record of the robot software as it grows. Version numbers mark planned development releases; each running Jetson build also carries its exact Git identifier on the live dashboard.
Current versions: Robot v0.7.0 · Millie Control 0.8.0 · Dashboard 1.5.0.
v0.7.0
Robot v0.7.0 and Millie Control 0.8.0 add personal memories, explicit profile enrollment, and identity correction. Dashboard remains at 1.5.0.
- Enroll or select a profile with “These memories are for [name]”, then ask Millie to remember a preference. Existing memories stay shared until explicitly moved.
- Ask “Who do you think I am?” to check the selected profile. Correct an enrolled identity with “I’m [name]”, or say “That’s wrong” to suspend personal recall.
- Automatic spoken personalization requires one visible face, fresh observations, a stable confirmed name, and a conservative recognition threshold. Uncertain or multiple-face observations use shared memories only.
- Typed identity is selected independently of the camera. Manual selections last up to five minutes; a spoken correction tied to a face is suspended if that face changes or leaves.
- Temporary AI conversation history clears when identity, input path, or saved data changes. Replies cancel when identity changes during generation or playback; a change during speech capture or transcription requests a repeat.
- Control separates personal and shared entries and supports profile enrollment, correction, editing, moving, and deletion. Saved memories and identities stay out of public telemetry and sanitized diagnostics.
Profiles support personalization; they are not identity authentication. Software checks passed. Recognition with people speaking in the room remains a hardware acceptance check.
v0.6.0
Robot v0.6.0 and Millie Control 0.7.0 introduce explicit memories that survive a restart. Dashboard remains at 1.5.0.
- Use “Remember that…”, “What do you remember about me?”, and forget commands to manage saved memories. Ordinary conversation is not automatically saved.
- Control can add, edit, and delete memories. Shared entries apply to everyone using the robot.
- Up to 100 memories of 500 characters each are saved locally with atomic, owner-only writes. A failed write preserves existing data.
- Saved data accompanies requests to the configured AI provider and is excluded from public telemetry and sanitized diagnostic downloads.
v0.5.0
Robot v0.5.0 and Millie Control 0.6.0 add spoken interruption during conversation replies, echo protection, and private interruption status. The Dashboard plugin is unchanged.
- Say “Millie, please stop talking now” during a reply to cancel the current speech and queued sentences silently.
- Interrupt with “Hey Millie…” and a new question to make it the next conversation turn. Direct stop commands and requests such as “can you…” can also work during a reply without her name.
- A dedicated echo-cancelled microphone and speaker route, plus recognition checks, help prevent Millie’s own voice and background statements from interrupting her.
- Listening continues between streamed sentences and during silent voice preparation. Quiet mode, sleep requests, and normal follow-up conversation remain supported.
- Millie Control shows interruption readiness and includes status and count in private diagnostics. No new transcripts or interruption fields are added to public telemetry.
- The feature is enabled on Millie and remains optional for other installations. Source and settings backups are saved for rollback.
Validation: 159 runtime tests passed, two optional model tests skipped, and all 31 Control tests passed. JavaScript and UI checks, controlled acoustic interruption and echo checks, audio-route reconstruction, and a live spoken-stop test also passed. Acoustic tests used synthetic voices; recognition across different room positions still needs normal-use validation.
v0.4.0
Robot v0.4.0 and Millie Control 0.5.0 add faster local recognition, silent model warm-up, streamed speech, and response timing. The Dashboard plugin is unchanged.
- The installed English-only recognition preset reduced median transcription from 3.82 to 1.29 seconds across eight synthetic test phrases. Real-room accuracy still depends on the speaker and noise.
- The end-of-speech wait drops from 1.2 to 0.9 seconds, while preserving the tested 0.8-second mid-sentence pause.
- Whisper and Piper warm up silently at service startup. Responses enter the speech queue sentence by sentence as text arrives.
- Quiet mode, cancellation, and newer sleep requests still stop speech; interrupted replies are not replayed.
- Control shows recording, endpoint, transcription, answer generation, first text/playback, voice preparation, and playback timings. Conversation text and these new timings stay private.
Validation: 140 runtime tests, 31 Control tests, both installed-model checks, browser checks, and a live provider/synthesis test passed. In one provider trial, first sentence audio was ready at 3.31 seconds versus an estimated 5.19 seconds for sequential whole-answer synthesis; this excludes microphone input and speaker latency.
v0.3.0
Robot v0.3.0 and Millie Control 0.4.0 add persistent quiet mode. The Dashboard plugin is unchanged.
- Say or type “quiet mode” to silence replies, greetings, and eye-poke comments. “Speak again” restores her voice. Wake-phrase prefixes work too.
- Typed replies remain in private Control history. Eyes, tracking, microphone input, and sleep/wake gestures keep working.
- Control includes a quiet-mode button and status. Speaker tests cannot override mute.
- Muting stops current playback and discards queued audio. Unmuting does not replay old replies.
- The setting survives service and device restarts in a private local preference file.
Software validation: 130 runtime tests (two optional model tests skipped), 31 Control tests, and browser syntax/regression checks passed. Quiet mode mutes speaker output; it does not disable the microphone.
v0.2.0
Robot v0.2.0 and Millie Control 0.3.0 are installed. Dashboard 1.5.0 is packaged for the companion plugin update.
- Both eyes wake on a tap and sleep after a two-second hold, with dim feedback and gentle wake brightness.
- Pokes turn only the touched eye red, close it, and give it three recovery blinks. Varied spoken reactions include a playful response to repeated pokes.
- Larger irises and pupils, slower smooth blinks, familiar-face happy crescents, curious thinking, sleep lids, and a brief wake expression.
- The new ReSpeaker XVF3800 microphone supports wake phrases and 45-second follow-up conversations. Eyes return to idle or happy between spoken turns.
- Typed Control messages and spoken requests share one conversation pipeline without changing modes or restarting.
- Temporary microphone and recognition failures retry; newer sleep and wake requests take priority. Control reports actual microphone readiness.
- Private recordings stay on the device. A source rollback is preserved and the release is tagged in Git.
Validation: 125 runtime tests (two optional model tests skipped), 30 Control tests, PHP dashboard tests, browser checks, and native eye/protocol checks passed. A 72-hour accelerated soak used simulated devices; physical USB unplug/replug recovery remains a hardware check.
v0.1.0-dev.1
Establishes a named baseline for the Jetson build. Device rollout and Git tag verification are pending.
- Central Jetson runtime joins vision, voice, and behavior.
- OAK-D Lite vision and depth, with ESP32-S3 tracking integration.
- Keeme Labs dashboard receives status, hardware readings, 24-hour history, and the last completed session.
- Robot application version and exact Git build are tracked separately.
- Replacement microphone is on order; development continues with typed input.
Build milestones
Codex CLI runs on the Jetson while a replacement microphone is on order.
OAK-D Lite, ReSpeaker audio, Whisper, and the AI conversation run together.
The Jetson sends tracking coordinates to ESP32-S3 and publishes status to Keeme Labs.
Jeff and Zach start building a desktop robot around vision, voice, and interaction.