Skip to content
Conduit

mcp server

Echo-Assistant

An open-source ESP32-S3 smart speaker with a round AMOLED touchscreen, local speech, Hermes, Home Assistant, Spotify Connect, and a configurable web UI. Alpha.

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 21, 2026

Echo Assistant

A smart speaker and smart display you can build, understand, and make your own.

Echo brings conversational AI, music, home control, and everyday planning to a compact round speaker or a Raspberry Pi touchscreen. A shared host runs the assistant and speech models; each device has its own screen and audio. A web workspace puts conversations, memory, research, and configuration within reach from a computer or phone.

Public source · alpha development. Echo Mini and Echo Deck are both running on physical hardware, with voice and music exercised on the prototypes. The current source includes the Deck expansion beyond the earlier alpha release. Room-distance wake reliability, two-device calls, and broader build validation remain in progress. See current status before choosing a build.

CI Round speaker Smart display Status License

Choose a build · Smart display · Web workspace · Round speaker · Try the UI · Build guide · Status · Documentation

UI screenshots use synthetic data. Prototype photographs show the physical Deck and round builds; enclosure concepts are labeled separately. Image sources and provenance.

Two builds, one Echo

BuildHardware and experienceStart here
Echo Mini · round smart speakerWaveshare ESP32-S3-Touch-AMOLED-1.75, 466 × 466 touch display, onboard microphones, attached speaker, swipe navigation, and contextual physical buttons. Printable Crescent stand included.Board and firmware · Enclosure
Echo Deck · Pi smart displayRaspberry Pi 4B, touchscreen, and its own attached microphone and speaker. A larger view of conversation, rooms, music, calendars, and household tasks. Current display layout targets 1024 × 600.Pi bring-up and pairing · Pi voice
Browser companionOpen the workspace on a computer or phone. A paired browser can also use push-to-talk and room calls with microphone permission. Mobile background listening is not verified.Build options · Private remote access

The Pi does not require the round speaker for voice, music, or alarms. Choose the input and output for each device explicitly. General support for other ESP32 boards and pairing a separate screen with a spare audio device remain future work.

What Echo includes

ExperienceCurrent software
Talk or type“Hey Echo” / “Okay Echo,” a warm activation cue, push-to-talk, visible listening/thinking/replying states, software mute, and request cancellation.
Ask, research, rememberA configured model or Hermes agent, supported web lookup with citations, longer research tasks, and explicitly saved facts you can review, edit, export, or delete.
Control your homeHome Assistant room lights, individual brightness/colour controls, thermostat modes and temperatures, speaker selection, and saved routines with device permissions.
Play musicSpotify Connect with artwork, track details, seeking, shuffle/repeat, and volume controls; searchable internet radio and favorites, an SD-card music library, and optional Spotify playlist browsing through Music Assistant.
Plan the dayA daily briefing, selected calendars, reviewed event creation, repeating schedules, reviewed event/occurrence changes, shopping lists, tasks, and notes.
Keep track of timeMultiple timers, recurring alarms and reminders, snooze/dismiss, quiet hours, time zones, and daylight-saving handling.
See and shareLocal Deck camera preview and image questions, selected Home Assistant camera views, silent doorbell cards, photo albums, household notifications, room announcements, and answered intercom. Optional browser voice/video calls use a self-hosted LiveKit server; real two-device call quality still needs validation.
Make it yoursProvider/model selection, editable personality, local voice choices, device names, room assignments, display preferences, and a printable enclosure.
Share deliberatelyOwner-assigned Household or Guest profiles for Deck and Mini, selected devices and sources, and optional local guest home voice. Personal sign-in adds separate memory, personality and conversation on Deck and Mini. Mini firmware is installed; physical sign-in acceptance remains open.

Home Assistant, Spotify, and Hermes are optional integrations. Features that need an account, a selected source, or an audio device report their availability. The build queue separates software coverage from physical and live-service acceptance. The remaining task plan assigns bounded implementation tasks, dependencies and acceptance criteria for completing both builds.

The smart display

Echo Deck, on the workbench

The current Deck runs on a Raspberry Pi 4 and a landscape HDMI/USB touchscreen mounted in a repurposed picture frame. A Waveshare USB audio interface drives a salvaged speaker, with a separate USB microphone for voice input.

A proposed home for the hardware

The Deck enclosure concept brings the same components into a wood-trimmed, navy housing with a fabric-covered speaker base, camera pod and removable back. The editable Blender model includes front, rear and cover-off views.

Concept, not a print kit: panel dimensions, mounting fit, cooling and acoustics still need physical validation. Explore the model and source.

Your home at a glance

Make the home screen your own: choose four tiles for time and Echo, weather, rooms, music, timers, lists or the thermostat. Music sits at bottom right by default, with live artwork and playback control. Swipe left or right between pages, or jump straight to a page from the sidebar.

Calendar has a month grid, a selected-day agenda, calendar filtering, and an agenda for the whole month. Open it from the Deck sidebar or the web workspace; the owner can connect Google and choose shared calendars from the same page. On Calendar or My day, open event details, edit a supported event or occurrence, or create a repeating schedule. Choose explicitly which occurrences a series change affects. Calendar permissions separate agenda access, creation, and changes to existing events. Guest calendars stay read-only.

For individual memory and preferences, set up personal accounts. A passcode unlocks a 15-minute personal session on an owner-approved Deck.

For a shared room, assign a Guest display profile and choose its devices and sources. General guest questions use separate temporary history; household memory and Hermes tools stay in the trusted workspace. An optional local command path lets guests ask about or control only the devices explicitly shared with their display.

Adjustable idle dimming and sleep keep the display from staying bright all day. Tap once to wake, or use an enabled wake word. Paired X11 Pi displays can also turn off the HDMI signal while music and the microphone keep running. Optional Home Assistant motion/occupancy sensors can wake a selected display; source sharing and per-screen setup are covered in Screen comfort.

With a supported Pi camera, My day → Your camera adds a local preview, one-shot focus and orientation controls, and an explicit Send this frame action for image questions. Optional camera motion wake stays off until enabled. See Deck camera for setup, privacy controls and the remaining video-call and Google Meet compatibility checks.

A conversation with room to breathe

Echo's status panel and settings sit beside the conversation. Type a message, press the microphone, or enable local wake words after configuring the Pi's microphone and speaker. Replies return to the device that heard the request. Tapping the chat field opens a compact keyboard with local English swipe typing and word corrections; the talk button stays within reach. The same keyboard works in lists, notes, calendar drafts, and display text settings, with field navigation and a newline key for notes. Phones keep their native keyboard. The blue-green ring changes with listening, thinking, speaking, and connection state; Stop and mute remain accessible.

The display uses locally served Manrope, vector icons, and a smooth ring with a soft glow. The default dark palette and four alternative themes are available under Settings → Appearance on both the Deck and browser workspace. Theme choice is saved locally in each browser and applies immediately; assistant settings still require Save. Umbrella Grove, Mushroom Meadow, and Slice Dojo use original CSS motifs rather than third-party artwork. Settings are grouped by category and searchable. The kiosk uses the active panel bounds without unnecessary browser scaling. The design guide covers native sizing, touch spacing, reduced motion, and remaining physical checks.

Music and home control

Choose a room, adjust its lights, change a supported thermostat setting, or select a Home Assistant speaker. Device grants and fresh state govern the available controls. Google Home devices become controllable through their corresponding Home Assistant integrations; Echo does not import Google Home's device graph.

The Pi has a separately named Spotify Connect receiver that plays through its selected output. The round speaker is another explicit destination. Spotify Premium is required. Open Spotify on your phone and choose the named Echo receiver from its device picker. For browsing directly on Echo, the music library adds persistent Spotify sign-in through Music Assistant, playlists, search and queue selection. The playlist shelf starts with three favorites, prioritizing names prefixed with 1., 2. and 3., with More playlists underneath. Podcasts includes followed shows, New episodes, and ordering by latest aired episode. Radio includes station discovery and favorites; Files automatically indexes music and M3U playlists in the Pi’s ~/Music/Echo folder. Chromecast and AirPlay receivers are not included. The Now Playing panel follows library playback as well as Spotify Connect, with cover art, position and controls for the selected output. Pausing a library queue retains the song and resume position. Deck also has an optional, default-off Bluetooth A2DP adapter for an owner-selected bonded phone. Its adapter software is included; Bluetooth profile setup and real phone-to-Deck playback still need validation.

Pi wake words remain active during Spotify. Choose pause mode, or lower music by 80% through the cue and conversation with a shared audio output. Ducking restores the previous level afterward; pause mode waits for you to resume. Interrupting Echo's own spoken reply requires an echo-cancelled input. An optional Pi WebRTC audio service supplies that processing; room pickup and feedback still need physical verification. See display music, Pi receiver setup, and voice setup.

The optional Music Assistant connection adds a Together tab for library search, queue selection, shared-player controls and reviewed room grouping. Browse connected providers and explicitly choose where to play. It works with compatible players configured in Music Assistant. The optional native Pi player connects through Echo’s private gateway and keeps voice attenuation local to that screen. The Mini host receiver includes owner volume limits, track information and voice priority. It defaults to disabled and requires compatible firmware and explicit setup. Firmware 0.19.0 is installed on the prototype; physical Mini group playback and multi-speaker timing remain unverified.

Your day, lists, and reminders

My day combines weather, upcoming calendar events, reminders, tasks, and shopping-list counts into a local briefing. Ask for the same briefing by voice or text. Planner adds recurring alarms and reminders, quiet hours, snooze, and a notification inbox. Lists keeps shopping, to-dos, and notes editable across paired displays, with encrypted host storage.

Calendars connect through Home Assistant or the direct Google Calendar connection. The owner selects which calendars to share and separately permits event creation. Google connections default to read-only; optional editing requires an additional OAuth grant. Connect from the Deck's Home & calendars settings or the browser Settings link. A Personal account can instead connect its own private, read-only Google calendars; see Personal Google calendars. The Deck offers a phone QR when Echo has a phone-reachable HTTPS callback. The touch form supports timed and all-day events. Describe an event by voice or text on the smart display, review the model's editable draft, and choose Create event to save it. Repeat options create a bounded series. Edits and confirmed deletion require separate owner permission, with explicit choices for one occurrence, following events or full-series deletion. Direct Google series editing loads the original schedule and preserves its repeat pattern and event count. Simple counted Google series also support reviewed following-only rescheduling. A separate guest review shows attendees and the notification choice before confirmation. Live validation of calendar writes, series changes, and invitations remains pending. Calendar guide · Daily briefing.

Signed-in Personal accounts can connect their own Google calendars and choose which appear in My day and personal agenda replies. Those read-only selections stay separate from household calendars and other people's accounts. The installation owner still configures the Google OAuth client first.

Cameras, doorbells, and room audio

Show a selected Home Assistant camera as a live MJPEG view or refreshing snapshots. Doorbell presses create silent cards with a View camera action. Camera audio, recording, and two-way doorbell talk are not included.

Send a short announcement to selected rooms and check its delivery result, or call another paired endpoint. Intercom requires the other person to Answer before sending microphone audio. Calls and announcements are opt-in; quiet hours, mute, cancellation, and connection loss are handled explicitly.

See cameras and doorbells, room audio, and round intercom. Home Assistant camera/doorbell behavior and advanced calendar changes need live integration checks; Deck and Mini intercom still need physical listening and feedback checks. Local Deck camera verification is described in Deck camera.

Choose a 12/24-hour clock, idle timeout, and software dimming, or use photos. Session-only photos stay in that browser. Shared albums are stored encrypted on the host; uploaded images are resized and stripped of metadata. Software dimming does not turn off an LCD backlight.

The web workspace

The companion web app is where you manage Echo as well as talk to it. Review a conversation and its sources, organize explicit memories, run research tasks, assign home devices to rooms, and configure the assistant without reflashing a board.

Select OpenAI, Azure OpenAI / Foundry, Claude / Anthropic, or a compatible local endpoint, using either the direct conversation adapter or optional Hermes. Edit the personality and response preferences in Settings. Tool and web-search availability depends on the selected provider or configured Hermes tools; the direct web-lookup path currently supports OpenAI and Azure.

Local speech options include Vosk or faster-whisper for transcription and Pocket TTS, Kokoro, or Windows voices for replies, depending on the host. Model downloads are explicit. The optional Docker-hosted Hermes instance has both an alternate WebUI and its native dashboard, connected to the same agent gateway.

Browse the web UI gallery for the remaining pages and preview workflow.

The round smart speaker

The original build combines a 466 × 466 AMOLED, microphones, an attached speaker, and a host connection over USB or paired Wi-Fi. Swipe between Echo, weather, timers, lights, music, and settings. On the speaker page, the physical buttons adjust volume; on the thermostat page, they adjust temperature. On Home/Echo, the upper button toggles software microphone mute.

The new Mini calendar review presents spoken event drafts page by page, then requires a separate Create confirmation. It shares the Deck's calendar permissions and duplicate protection. Firmware 0.19.0 is installed; physical touch acceptance is pending.

Mini access profiles add a Guest mode for a shared room. Choose which lights, thermostat and speakers it can control, and whether it can answer questions. Household memory and Hermes tools stay private. The host support is deployed, and firmware 0.19.0 is installed; physical access-profile acceptance remains open.

These are photographs of the assembled prototype, including temporary cable restraints. The screen galleries below use the firmware's shared renderer with sample data. Intercom-capable firmware 0.19.0 is installed and has reconnected over Wi-Fi; physical call acceptance remains open.

Battery charging in this gallery is simulated. Battery runtime and charging still need physical validation with a compatible attached battery.

How it fits together

flowchart LR
    Round["Round ESP32-S3 speaker<br/>Touch display · microphones · speaker"]
    Pi["Pi smart display<br/>Chromium · local wake · attached audio"]
    Web["Web workspace<br/>Conversation · settings · memory"]
    Host["Echo host<br/>Speech · tools · shared storage"]
    Brain["Direct model or Hermes<br/>Local endpoint or cloud provider"]
    HA["Home Assistant<br/>Devices · calendars · cameras"]
    Spotify["Spotify Connect"]
    Round <-->|"USB or paired Wi-Fi"| Host
    Pi <-->|"Paired HTTPS connection"| Host
    Web <-->|"Authenticated browser access"| Host
    Host <--> Brain
    Host <--> HA
    Spotify -->|"Pi receiver"| Pi
    Spotify -->|"Round receiver"| Host

The host handles transcription, speech synthesis, conversations, tools, and shared storage. The Pi handles its kiosk, local wake detector, capture/playback, and Spotify receiver; the round firmware handles its own interface and audio transport. The host can run on a Windows computer or in the documented Linux/x86-64 Docker stack. Managed remote provisioning currently targets Windows with Docker Desktop and OpenSSH; native-Linux provisioning is not packaged as a one-command install.

Privacy and access

A Pi receives its own revocable pairing credential. Its local bridge keeps that credential out of the browser and limits access to display features. Owner-only settings include provider keys, source selection, and display administration. Optional Tailscale access can be restricted to explicitly selected devices.

Saved facts, credentials, lists, schedules, and shared photos use encrypted host storage. Explicit memory is separate from temporary conversation context. Local speech runs on your hardware; a cloud conversation provider receives the text and context needed for the request. Web lookup, Spotify, and configured integrations use their respective services. Software mute closes Echo's capture path; it does not electrically disconnect the microphone.

Try the UI

The repository is public; anyone can clone it. The read-only web preview needs Python 3 and uses the standard library. Browse the actual web workspace with sample data, without a board, account, model, or home connection. On Windows:

git clone https://github.com/NotADevIAmaMeatPopsicle/Echo-Assistant.git
cd Echo-Assistant
py -3 tools/preview_web.py

Once the server starts, open http://127.0.0.1:8778/ on the same computer. This local preview address is available while the command is running. Its Calendar and smart-display links open the separate Deck preview at port 8788, so start that preview too before following those links. On macOS or Linux, use python3 tools/preview_web.py for the last command. Press Ctrl+C to stop it.

The larger preview uses the host's pinned Python dependencies, but needs no model downloads. On Windows, from the checkout:

py -3.13 -m venv .venv
./.venv/Scripts/python.exe -m pip install -r backend/requirements-windows.lock.txt
./.venv/Scripts/python.exe tools/preview_smart_display.py

Once the server starts, open http://127.0.0.1:8788/display on the same computer. Timers, lists, forms, and simulated controls use in-memory sample data; closing the server clears it. No real devices, microphone, speaker, or accounts are connected. Press Ctrl+C to stop it. For a working installation, continue with the build guide below; its authenticated host uses port 8768 by default.

Build your own

Choose an endpoint, prepare the host, and get it working on the desk before adding an enclosure or battery. The build-options guide explains the supported configurations and future adapter ideas.

Parts and tools

The complete Amazon shopping list covers both builds, including quantities, cables, power, connectors, enclosure fasteners, and tools. These are plausible hardware choices: the exact development parts are identified below, while alternatives still need their electrical requirements and physical fit checked. Reuse parts you already have, and check bundle contents before ordering duplicates. Links are non-affiliate; prices and availability can change.

PartRound speakerPi smart display
Core boardWaveshare ESP32-S3-Touch-AMOLED-1.75; 16 MB flash and 8 MB PSRAM. This is the exact supported ESP32 target.Raspberry Pi 4B, preferably 4 GB RAM or more, with a 64-bit Linux OS and Chromium.
DisplayIntegrated 1.75-inch touch AMOLED.Supported touchscreen; current layout targets 1024 × 600 landscape. Confirm its model and touch connection.
Microphone and speakerOnboard microphone hardware and a speaker matching the board's electrical/connector requirements.Attached USB microphone/audio interface and a selected speaker output. The Pi has no built-in microphone. Playback wake needs echo cancellation.
Power and storageUSB-C data cable; optional compatible battery and microSD.Reliable 5.1 V / 3 A Pi supply, panel supply when required, cooling, and preferably a 32 GB or larger microSD.
Host and toolsWindows host, 64-bit Python 3.13, Git, and PlatformIO.Shared Windows host with Python 3.13 and Git; PlatformIO is unnecessary for a Pi-only build.
NetworkUSB first; optional paired 2.4 GHz Wi-Fi.Wi-Fi or Ethernet with access to the Echo host.

Where to buy

BuildHardware choiceMatch to the project
MiniWaveshare ESP32-S3-Touch-AMOLED-1.75Exact supported board. Includes display, touch, microphones, and speaker amplifier.
DeckCanaKit Raspberry Pi 4, 4 GB kitSame Pi model; convenient bundle with power, storage, cooling, and display cable. A bare board works too.
DeckWaveshare 7-inch HDMI touchscreenAlternative 1024 × 600 panel. The prototype's exact screen model remains unidentified; dimensions and power arrangement may differ.
DeckWaveshare USB TO AUDIOExact audio-board model, including amplified speaker outputs.
DeckUSB mini microphone two-packExact purchased listing. One microphone is sufficient; the second is a spare.
Deck, optional cameraArducam IMX519 with caseExact camera model. Requires the Pi camera stack; browser calling has separate compatibility checks.
EitherCQRobot enclosed 8-ohm, 3 W speaker pairRetail alternative to the salvaged Google Home Mini speakers. Requires different mounting and an MX1.25 adapter for Mini; the Deck board uses PH2.0.
Mini enclosureM2/M3 screw, nut, and washer assortmentContains the sizes and quantities in the Crescent assembly guide.
Deck, optional storage upgradeSanDisk High Endurance 128 GB microSDMore room for local music; do not also buy a separate boot card if using this one.
Deck, optional USB expansionSabrent powered USB hubCandidate for peripheral power/port expansion, not hardware tested in this build. Check power limits and upstream back-powering.

The full list also covers donor speakers, optional batteries, USB/HDMI/CSI cables, resin, gaskets, mounting supplies, and shared tools. The Mini enclosure includes printable files and an assembly walkthrough; the Deck enclosure is currently an editable concept rather than a print-ready housing.

The Docker guide covers advanced hosting. Home Assistant and Spotify Premium are optional; set them up after the basic device works.

1. Prepare the host

From the repository directory in PowerShell:

py -3.13 -m venv .venv
./tools/setup.ps1

Reuse an existing .venv if you already prepared the preview. Setup installs the pinned host dependencies and verifies a Vosk model download. See local setup for neural voices and optional echo cancellation.

2. Set up the endpoint

Round speaker: follow hardware and firmware setup to identify the board, preserve its original full-flash backup, build, and flash. Set ECHO_DEVICE_MAC locally to the verified identity; the repository supplies no paired device identity. Add Wi-Fi through the USB pairing flow.

Pi display: preserve and verify the original SD-card backup, then follow Pi bring-up. Start the host in the next step before pairing. The installer adds a versioned client and loopback bridge to a supported desktop; it does not require reflashing the card. Select the Pi's own input/output in voice setup, then configure Spotify and alerts if wanted.

3. Start Echo and open its workspace

For a Pi-only local host:

./tools/run.ps1 start -DisplayOnly
./.venv/Scripts/python.exe tools/open_ui.py --display

For the round speaker:

./tools/run.ps1 start
./.venv/Scripts/python.exe tools/open_ui.py

The launcher opens an authenticated session; the local host defaults to http://127.0.0.1:8768/. In Settings choose the provider, model, voice, and personality. The conversation provider can stay disabled while you configure timers, lists, and home integrations. Pair a Pi from Display → Settings → Your displays, then complete its client installation. Start audible tests at 2%.

4. Connect the services you want

AddGuide
Lights, climate, speakers, and routinesHome Assistant and permissions
Music from the Spotify appRound receiver · Pi receiver
Calendar agenda, repeats and event changesCalendar permissions and forms · Google Calendar · Daily briefing
Local camera preview, image questions, and doorbell cardsDeck camera · Home Assistant cameras and doorbells
Announcements and answered callsRoom audio · Round intercom · Browser voice/video calls
An always-on host and HermesDocker deployment and UIs
Access from selected phones/computersPrivate Tailscale access

The Crescent enclosure

Crescent is the printable stand for the round speaker build. A removable snap ring holds the display above adjustable speaker posts. Guided button plungers keep both physical controls accessible, and a rear channel routes wiring past the battery cradle.

STL models · Print and assembly walkthrough · Editable geometry

The package includes 12 STL designs, optional posts/spacers, display fit gauges, editable Python geometry, and suggested Photon Mono M7 print orientations.

  1. Print the display fit kit and check cured dimensions against the actual board.
  2. Check USB clearance, free button travel, and gentle snap-ring engagement.
  3. Print the stand and selected speaker/battery mounts.
  4. Assemble with the documented M2/M3 fasteners and support the cables without loading the connectors.

The demonstrated build uses a salvaged Google Home Mini speaker in its acoustic housing. The battery holder's dimensions do not establish electrical compatibility. The assembly guide includes quantities, print volumes, and close-up photographs. Repeatable fit, durability, thermal behavior, and acoustic performance still need broader physical validation. An editable Deck enclosure concept is also included; printable Deck parts remain future work.

Current status

Public alpha source, reviewed September 25, 2026. The published v0.1.0-alpha.1 prerelease is the earlier source package. The default branch, codex/public-release, contains the newer Mini and Deck work described here. Clone that branch for the current build; the older release archive does not include the Deck expansion. A complete, validated two-build release is still ahead. See release history and the remaining task plan for the detailed boundaries.

AreaEvidence and remaining work
Echo MiniPhysical prototype, voice/music path, and touch navigation exercised. Firmware 0.19.0 is installed and reconnects over Wi-Fi, including intercom capability. New calendar/profile flows, screen protection, sustained playback, distant wake, battery operation, and repeatable enclosure fit need broader physical validation.
Echo Deck displayInstalled and running at 1024 × 600. Pairing, OS restart, live revocation/re-enrollment, and recovery after a 90-second Echo connection outage verified. Settings tabs and connection-delay fixes are deployed. Exact panel identification, complete touch calibration, stable power, cold power-on, and router recovery remain open.
Deck audio and musicUSB audio interface and microphone connected; quiet speaker/microphone checks passed, with audible cues, spoken replies, and Spotify/library playback exercised. Buffering changes improved listening quality; Now Playing retains the paused track on the Deck. Sustained duplex, room-distance wake, feedback, and interruption/resume need broader checks.
Local camera and callsIMX519 preview, focus response, and a live browser video track verified. Image questions and opt-in motion wake are implemented. Two synthetic participants verified the self-hosted LiveKit TCP route; real two-device intercom/video quality remains unverified. Google Meet is experimental and its CSI-camera path is not yet working in Chromium.
Home and daily toolsControls, lists, reminders, briefing, calendar forms, Home Assistant camera relay, and doorbell UI implemented. Calendar writes, series changes, invitations, personal Google accounts, and live Home Assistant camera/doorbell behavior still need integration acceptance.
PackagingHost tests, firmware build, Windows recovery-task execution, fresh-container API/Hermes archive restore, Linux Pi checks, browser flows, and privacy guards exercised. Portable passphrase backups support recovery without the original Windows account. Broader fresh-install/provider coverage remains open.

Further work includes generic audio-endpoint adapters, physical validation of synchronized grouped playback, live Google workflow checks, separate personal Hermes instances, and voice/video call acceptance. Chromecast and AirPlay receivers are not included; commercial streaming-video playback remains experimental and unverified. Echo does not claim complete Nest Hub or Echo Show feature parity.

Documentation

GuideWhat it covers
Setup · Build optionsHost preparation, startup, speech, and device choices
Smart display · Display designPi installation, pairing, page map, typography, and native sizing
Pi voice · Spotify · AlertsIndependent Pi microphone and speaker paths
Hardware · WirelessRound-board identity, original backup, build, flash, and pairing
Home control · Calendars · CamerasSources, permissions, actions, and integration limits
Deck camera · Browser callingLocal preview, image questions, motion wake, self-hosted calls, and experimental Meet support
Music · Room audio · Round intercomPlayback, destinations, announcements, and calls
Deployment · Private accessDocker, Hermes UIs, storage, recovery, and selected-device access
Crescent assembly · Web galleryPrintable parts, build photographs, and UI examples
Deck enclosure conceptBlender model, concept renders, hardware assumptions and editable geometry
Build queue · Release history · Package checksCurrent acceptance, historical releases, and reproducible checks
DirectoryPurpose
src, includeESP32 firmware and shared scene renderer
backend, webHost services, web workspace, and smart-display UI
deploy/piPi kiosk, pairing, local wake, Spotify, and alerts
deploy/host, deploy/remoteDocker images, Compose, and hosting helpers
tools, configSetup, previews, diagnostics, examples, and pinned dependencies
testsOffline checks using synthetic services
enclosure/crescent-v1Printable parts, source, renders, and assembly guide
lib, third_partyVendored components and attribution

See Contributing for development checks. Use synthetic preview data for documentation screenshots, and keep credentials, personal configuration, recordings, model weights, paired firmware, and backups out of Git. Report security issues through Security.

License and acknowledgements

Echo Assistant is GPL-3.0-or-later. Software dependencies, fonts, models, and services retain their own terms; see LICENSE and third-party notices. Model weights and pre-paired firmware are not included. This is an independent project, unaffiliated with Waveshare, Home Assistant, Spotify, Google, Nous Research, Anycubic, or model providers.

↑↓ navigate openesc close