The ecce speaker on a travertine block: a short charcoal felt cylinder with an ash wood cap and a softly glowing amber band where they meet.
Concept · prototype in progress

The speaker that thinks somewhere else.

ecce is a small felt speaker for every room. It hears its name locally, then sends the rest of your sentence to a cloud model you pick. New abilities come from plugins.

ecce · EK-kehLatin for “look here”Wake it with “Hey Ecce”

1.1 smedian to the first spoken word, measured on the bench rig
Any modelClaude for now. Switching to another model is a config change.
6 abilitiesworking on the prototype today, from Spotify to the grocery list
Offlinetimers, alarms and “stop” keep working without internet
Design

Made to sit on a shelf and go unnoticed.

It's wool felt and solid ash, about the size of a coffee tin. It fits in the spot where an Echo Dot sits now.

Top-down view of the ash cap with a black touch disc in the center and four tiny microphone holes near the edge.
Macro of the seam between ash wood and felt, with the amber light band glowing.
  • Cap

    Solid ash with a glass touch disc. Tap to talk or stop, and trace the edge for volume.

  • Mics

    Four far-field microphones at the rim, with echo cancellation so it hears you over its own music.

  • Band

    A ring of LEDs between wood and felt, bright enough to read from across the room.

  • Body

    Acoustic wool felt over a printed shell. The sleeve slips off and can be swapped.

The light band

One line of light tells you what it is doing.

Steady amber. It heard its name and is streaming what you say.

Talk to it

Say it the way you'd say it to a person.

You don't have to remember skill names or say “ask so-and-so to”. A language model reads the whole sentence and picks the plugin. Everything below works on the prototype today.

Play some Khruangbin in the kitchen.

Playing Khruangbin on Spotify.

Spotify

Set a pasta timer for nine minutes.

Nine minutes for the pasta, starting now.

Timers · works offline

Tell the bedroom dinner's ready.

The bedroom speaker says it out loud.

Announcements

Add oat milk and lemons to the list.

Added oat milk and lemons.

Grocery list

Do I need a jacket?

Yes, it's 48 and windy until about noon.

Weather · example reply

What's in the news?

Reads the top NPR headlines, or one topic if you ask.

News

Hey Ecce, snooze.

The alarm stops and comes back in nine minutes.

Alarms

Actually, never mind.

It stops mid-sentence and remembers what you were talking about.

Barge-in
The speaker glowing on a dining table during dinner, with people talking in the background.
A fingertip touching the black touch disc on top of the speaker while the band glows amber.
Speed

About a second from your last word to its first.

A pause of two seconds feels broken. ecce streams every step, so it starts talking while the model is still writing the answer.

  1. Transcribes while you talk, so most of the words are in before you stop.
  2. Starts thinking on the draft the moment you pause, and holds any action until the final transcript agrees.
  3. Speaks sentence by sentence, while the rest of the answer is still being written.
Every room

One per room, and each knows where it is.

Ask in the kitchen for music and it plays in the kitchen. Ask it to tell the bedroom something and the bedroom speaker says it.

The speaker in a sunny kitchen beside bread and coffee.
KitchenTimers, the grocery list and music while you cook.
The speaker on a walnut nightstand at dusk, its band glowing dimly beside a lamp.
BedroomAlarms with snooze, and a band that dims at night.
The speaker on a white oak shelf among ceramics and a trailing plant, with its light off.
Living roomWith the band off, it looks like part of the shelf.
Plugins

Anything with an API can be a plugin.

Each ability is a plugin. A plugin is an MCP server, the format thousands of existing tools already use, plus a short file that tells ecce where it runs and how to talk about it.

Timers and alarms

Working

Run on the speaker itself, so they ring even when the internet is down.

Spotify

Working

Play, pause and skip on any Spotify Connect device, Echos included.

Grocery list

Working

One shared list for the house. Add from any room, read it back at the store.

Weather

Working

Open-Meteo, no account needed. Kept fresh so the jacket question needs no lookup.

News

Working

NPR headlines, overall or by topic.

Announcements

Working

Say something out loud in another room.

Home Assistant

Built, not connected

Thermostat, alarm, door sensors and lights, through Home Assistant's own MCP server.

Calendar

Planned

The family calendar, once there is a safe way to connect it.

# plugins/weather/ecce.toml
[plugin]
name        = "weather"
description = "Current weather and the forecast"
mcp         = "stdio:python server.py"
runs_on     = "hub"

# Read before every request, so "do I need
# a jacket?" needs no lookup round trip.
[context]
tools       = ["home_weather"]

[voice]
style       = "brief"

This is the weather plugin's actual manifest. A plugin that can unlock a door or spend money has to get a spoken yes first.

Your model, your data

It thinks in the cloud and listens only in the room.

Bring your own brain.

The speaker is mostly microphones and a good driver. The model does the thinking, so when models improve, ecce improves with no new hardware.

ClaudedefaultGPTGeminiOpen models
  • Use a different model for each person, or for each kind of request.
  • The brain is one container. Run it on a mini PC at home or on your own server.
  • Ships as a Home Assistant add-on too.
The speaker in a dim room with its band glowing red because the microphones are switched off.

Red means nobody's listening.

A switch on the cap cuts power to the microphones. Software can't turn them back on.

  • The wake word is heard on the speaker. Nothing leaves the room before it.
  • If the TV says something close to “Ecce”, the transcript gives it away and the speaker goes back to sleep without a sound.
  • Transcripts and memory live in your own database. Export or delete them any time.
  • It never suggests things to buy.
Finishes

Three felts, two woods.

The felt sleeve and the cap both come off, so you can change the color when you move a speaker to another room. These finishes are concepts.

Three ecce speakers side by side: charcoal felt with ash, oat felt with walnut, and moss green felt with ash.
Charcoal and ashThe original.
Oat and walnutFor lighter rooms.
Moss and ashFor shelves with plants on them.
Specs

What's inside.

Target specs for the first enclosure. The bench rig today runs on a Mac with a USB mic array.

Exploded view of the speaker: ash cap, light diffuser ring, microphone board, compute board, driver and felt shell.
Size
About 100 mm wide, 110 mm tallBetween an Echo Dot and a full-size Echo.
Microphones
4-mic far-field array, XMOS XVF3800Beamforming and echo cancellation on the chip, so you can interrupt it.
Sound
3″ full-range driver with a passive radiatorFires down into the table for sound all around the room.
Light
24-LED band between cap and felt
Controls
Touch disc, touch volume ring, hardware mic switch
Wake words
“Hey Ecce”, “Ecce”, or “Computer”Our own wake word model, still in training. It runs on the speaker, and the cloud transcript double-checks every wake.
Brain
Streaming speech-to-text, an LLM with tools, streaming voiceRuns on a home hub or in the cloud, as a container or a Home Assistant add-on.
Offline
Timers, alarms, volume and “stop”
Power
USB-C or DC barrel
Compared

Why not just an Echo?

AreaAmazon Echoecce
The modelAmazon's, and only Amazon's.Whichever model you choose.
New abilitiesCertified skills, usually called by name.Any MCP server plus a short manifest. You ask, and it finds the plugin.
ConversationBetter with Alexa+, still phrase-bound in places.Follow-ups, multi-step requests, and interrupting mid-answer.
Your dataLives in Amazon's cloud.Lives in your own database.
OfflineMostly stops.Timers, alarms, volume and “stop” keep working.
UpsellsShopping suggestions and “by the way”.None.
The build

For now it's a prototype in one house.

The first goal is to replace the Echos in our house. If that works, ecce might become a product or an open-source project.

Code on GitHub
Phase 0 · now

Bench rig

Wake word, streaming, barge-in, timers and offline on a Mac. Waiting on the mic array.

Phase 1

Kitchen unit

The first felt enclosure, the light band and touch. It replaces one Echo for a month.

Phase 2

Whole house

One per room, voice recognition for each person, intercom, and a memory you can edit.

Phase 3

Open it up

A custom board, a plugin kit and docs.