Skip to content
← All docs

Echo 1 Wearable

Echo 1 — Architecture overview

Process isolation, single-owner hardware, and two-layer resilience.

Echo 1 boots from a single entry point that loads configuration, then a supervisor spawns one isolated subprocess per service and runs a ZeroMQ event-bus broker. Services never share memory — they communicate only over the bus.

Services & ownership

Each hardware resource has exactly one owner, so two processes can never fight over a serial port or the camera:

  • safety_service — owns the camera + LiDAR; capture → YOLO → hazard evaluator → alerts.
  • audio_service — owns the speaker; priority arbitration and a record-time duck.
  • assistant_service — owns the mic + push-to-talk button; STT → intent → tool → reply.
  • navigation_service — owns the GPS; route state machine and clock-direction cues.
  • vision_service — owns nothing; requests frames from safety over the bus.
  • dashboard_service — read-only observer; subscribes one-way to the bus.

Audio priority

All speech flows through the Audio Manager as a prioritized request. Safety (100) outranks Navigation (50) outranks Assistant (10); a higher priority preempts a lower one.

Two-layer resilience

The supervisor restarts an individual service if it crashes. If a critical service (safety or audio) gives up entirely, the process exits non-zero and systemd performs a clean full-stack restart. Assistant, navigation or vision crashes never affect safety.

Design rule: echo1/safety/** may never import the assistant or any LLM/cloud client. Safety has no internet dependency.

Have a question about this?

Talk to the team