Skip to content
← All articles
Engineering1 min read

An offline voice assistant with 13 tools and zero cloud

Echo 1's push-to-talk assistant transcribes with faster-whisper and answers with a tool-calling agent — time, weather cache, scene description, OCR — fully offline.

Hold the button on Echo 1 and ask a question. No wake word listening to your home all day, no audio uploaded anywhere. Release the button, and an entirely local pipeline takes over.

The pipeline, end to end

  • Push-to-talk — a physical button on GPIO, polled at 50 Hz with debouncing. While recording, the speaker ducks so the mic doesn't capture the device's own voice.
  • Speech-to-text — faster-whisper transcribes on the Pi 5, tuned for short spoken commands via an INMP441 I2S microphone.
  • Intent routing — the transcript goes to a tool-calling agent that picks one of 13 registered tools.
  • Spoken reply — the answer is synthesized and played at assistant priority, below navigation and safety.

What the 13 tools cover

Time and date, battery and system status, where am I, what's around me (scene description), read this (OCR), find a specific object, start and stop navigation, volume control, and more. Each tool is a small, testable function — the agent chooses, the tool executes, the result is spoken.

Why tools instead of a chatty LLM

A blind user standing at a curb doesn't want a paragraph — they want the answer. Tool-calling keeps replies grounded in real device state (actual GPS position, actual battery level) instead of a language model's plausible guess. Hallucinating the time of day is annoying; hallucinating 'no obstacles ahead' is dangerous, which is why safety alerts bypass this pipeline entirely.

All 13 tools pass integration tests on the physical device — part of the 121-test suite that runs on real hardware, not simulators.

Questions about EchoSense, pilots, or partnerships?

Talk to the team