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, 2026Echo 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.
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
| Build | Hardware and experience | Start here |
|---|---|---|
| Echo Mini · round smart speaker | Waveshare 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 display | Raspberry 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 companion | Open 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
| Experience | Current 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, remember | A 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 home | Home Assistant room lights, individual brightness/colour controls, thermostat modes and temperatures, speaker selection, and saved routines with device permissions. |
| Play music | Spotify 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 day | A daily briefing, selected calendars, reviewed event creation, repeating schedules, reviewed event/occurrence changes, shopping lists, tasks, and notes. |
| Keep track of time | Multiple timers, recurring alarms and reminders, snooze/dismiss, quiet hours, time zones, and daylight-saving handling. |
| See and share | Local 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 yours | Provider/model selection, editable personality, local voice choices, device names, room assignments, display preferences, and a printable enclosure. |
| Share deliberately | Owner-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.
| Part | Round speaker | Pi smart display |
|---|---|---|
| Core board | Waveshare 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. |
| Display | Integrated 1.75-inch touch AMOLED. | Supported touchscreen; current layout targets 1024 × 600 landscape. Confirm its model and touch connection. |
| Microphone and speaker | Onboard 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 storage | USB-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 tools | Windows 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. |
| Network | USB first; optional paired 2.4 GHz Wi-Fi. | Wi-Fi or Ethernet with access to the Echo host. |
Where to buy
| Build | Hardware choice | Match to the project |
|---|---|---|
| Mini | Waveshare ESP32-S3-Touch-AMOLED-1.75 | Exact supported board. Includes display, touch, microphones, and speaker amplifier. |
| Deck | CanaKit Raspberry Pi 4, 4 GB kit | Same Pi model; convenient bundle with power, storage, cooling, and display cable. A bare board works too. |
| Deck | Waveshare 7-inch HDMI touchscreen | Alternative 1024 × 600 panel. The prototype's exact screen model remains unidentified; dimensions and power arrangement may differ. |
| Deck | Waveshare USB TO AUDIO | Exact audio-board model, including amplified speaker outputs. |
| Deck | USB mini microphone two-pack | Exact purchased listing. One microphone is sufficient; the second is a spare. |
| Deck, optional camera | Arducam IMX519 with case | Exact camera model. Requires the Pi camera stack; browser calling has separate compatibility checks. |
| Either | CQRobot enclosed 8-ohm, 3 W speaker pair | Retail 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 enclosure | M2/M3 screw, nut, and washer assortment | Contains the sizes and quantities in the Crescent assembly guide. |
| Deck, optional storage upgrade | SanDisk High Endurance 128 GB microSD | More room for local music; do not also buy a separate boot card if using this one. |
| Deck, optional USB expansion | Sabrent powered USB hub | Candidate 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
| Add | Guide |
|---|---|
| Lights, climate, speakers, and routines | Home Assistant and permissions |
| Music from the Spotify app | Round receiver · Pi receiver |
| Calendar agenda, repeats and event changes | Calendar permissions and forms · Google Calendar · Daily briefing |
| Local camera preview, image questions, and doorbell cards | Deck camera · Home Assistant cameras and doorbells |
| Announcements and answered calls | Room audio · Round intercom · Browser voice/video calls |
| An always-on host and Hermes | Docker deployment and UIs |
| Access from selected phones/computers | Private 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.
- Print the display fit kit and check cured dimensions against the actual board.
- Check USB clearance, free button travel, and gentle snap-ring engagement.
- Print the stand and selected speaker/battery mounts.
- 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.
| Area | Evidence and remaining work |
|---|---|
| Echo Mini | Physical 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 display | Installed 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 music | USB 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 calls | IMX519 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 tools | Controls, 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. |
| Packaging | Host 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
| Guide | What it covers |
|---|---|
| Setup · Build options | Host preparation, startup, speech, and device choices |
| Smart display · Display design | Pi installation, pairing, page map, typography, and native sizing |
| Pi voice · Spotify · Alerts | Independent Pi microphone and speaker paths |
| Hardware · Wireless | Round-board identity, original backup, build, flash, and pairing |
| Home control · Calendars · Cameras | Sources, permissions, actions, and integration limits |
| Deck camera · Browser calling | Local preview, image questions, motion wake, self-hosted calls, and experimental Meet support |
| Music · Room audio · Round intercom | Playback, destinations, announcements, and calls |
| Deployment · Private access | Docker, Hermes UIs, storage, recovery, and selected-device access |
| Crescent assembly · Web gallery | Printable parts, build photographs, and UI examples |
| Deck enclosure concept | Blender model, concept renders, hardware assumptions and editable geometry |
| Build queue · Release history · Package checks | Current acceptance, historical releases, and reproducible checks |
| Directory | Purpose |
|---|---|
src, include | ESP32 firmware and shared scene renderer |
backend, web | Host services, web workspace, and smart-display UI |
deploy/pi | Pi kiosk, pairing, local wake, Spotify, and alerts |
deploy/host, deploy/remote | Docker images, Compose, and hosting helpers |
tools, config | Setup, previews, diagnostics, examples, and pinned dependencies |
tests | Offline checks using synthetic services |
enclosure/crescent-v1 | Printable parts, source, renders, and assembly guide |
lib, third_party | Vendored 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.