wilbowes/EchoMuse
Alexa replacement and controller for Echo Dot 2nd Generation device.
About wilbowes/EchoMuse
wilbowes/EchoMuse is an open-source project on GitHub, mainly written in Python. Alexa replacement and controller for Echo Dot 2nd Generation device. It currently holds 1,033 stars and 79 forks with 149 open issues, and was last pushed on 2026-10-04 (repository created 2026-05-01).
Project Overview
Git Homed tracks it on the Today's Trending board, currently at rank #80 with 50 new stars today.
GitHub Repository Details
README
EchoMuse
Turn an old Amazon Echo Dot (2nd gen) into a local voice assistant for Home Assistant.
Join the community — Discord · r/echomuse
EchoMuse makes a second-hand Echo Dot a voice satellite for Home Assistant: say the wake word, ask something, and hear the answer from the Dot. There is no Amazon account, no Alexa and no cloud service of ours. The Dot shows up in Home Assistant as an ordinary ESPHome voice satellite, so there is nothing extra to install there.
At a glance
What it is
- A replacement for the software on an Echo Dot 2nd generation (2016). Its
- A controller you run on your own network, as a Home Assistant add-on or
- A way to reuse hardware that sells second-hand for very little.
- Not Alexa. No Alexa skills, shopping, calling, Drop In or Amazon
- Not standalone. You need a working Home Assistant with an
- Not ready out of the box. The Dot needs a one-time unlock over USB with
- Not for other Echo models, yet. Only the Echo Dot 2nd gen works today.
- Not affiliated with Amazon.
What you need
| | | |---|---| | An Echo Dot 2nd gen | The hardware being repurposed. | | Home Assistant | With a working Assist pipeline. | | An always-on computer | Runs the controller. The Home Assistant machine itself is fine if it runs add-ons. | | A Linux computer (a live USB works) and a micro-USB cable, once | To unlock the Dot. The unlock does not run on macOS. | | Chrome or Edge, once | The setup wizard talks to the Dot over USB from the browser. |
Getting started
1. Unlock the Dot with R0rt1z2's amonet-biscuit. Either version works: v1.1.0 leaves it on FireOS 5, v2.0.0 moves it to FireOS 6. The rooting guide explains the choice. You do this at your own risk. 2. Start the controller, as an add-on:
or with Docker:
mkdir echomuse && cd echomuse
curl -O https://raw.githubusercontent.com/wilbowes/EchoMuse/main/controller/docker-compose.deploy.yml
curl -o .env https://raw.githubusercontent.com/wilbowes/EchoMuse/main/controller/.env.example
docker compose -f docker-compose.deploy.yml up -d
3. Run the setup wizard from the dashboard with the Dot plugged in over
USB. It installs everything and joins your WiFi. Approve the Dot in the
dashboard and Home Assistant discovers it.
The quickstart walks through all three.
emOS or FireOS?
The wizard offers two ways to run EchoMuse on the Dot:
- emOS (the default) replaces Amazon's Android with our own small Linux
- FireOS with root keeps Amazon's Android 5 and runs EchoMuse on top. FireOS
Features
- Voice turns through Assist, with the answer played on the Dot.
- Wake word on the controller or on the Dot. By default the controller
- Barge-in: say the wake word over a reply to interrupt it.
- More than one Dot: the first to hear the wake word answers and the rest
- Music: each Dot is a Home Assistant media player (media browser, Music
- Timers and announcements from Home Assistant.
- Custom wake words you train yourself with
oww_forge
- Extras in Home Assistant: a Bluetooth proxy per Dot (handy with
- A dashboard for setup, updates, per-device settings (EQ, LED ring, mic
- Updates over WiFi, for the firmware and for emOS itself, each with
Privacy
- The Echo listens for its wake word itself. Nothing leaves it until it
- You can detect the wake word on the controller instead, per Echo. That
- No telemetry. No analytics, no install counter. The controller only
- The mute button is a software mute. It silences the microphones in the
Status and known issues
EchoMuse is in active development and runs daily on a small fleet. emOS is newer than FireOS and has fewer device-hours behind it. Open issues worth knowing before you start:
- The 3.5mm jack: unplugging can stall the microphone for about 30 seconds (#117,
- emOS on FireOS 6 cannot join WPA3 networks: the WiFi driver has no support
- An announcement during a ringing timer can't be heard
Everything else is in the issue tracker.
Getting help
- Questions and bugs about EchoMuse go to
- Check the FAQ first.
- Attach a support bundle (Dashboard → Support → Download bundle). It holds
Documentation
| | | |---|---| | Quickstart | From nothing to talking to your Dot. | | Rooting | Unlocking the Dot, and which amonet version to use. | | Configuration | Every setting, in plain language. | | FAQ | Common problems and their fixes. | | emOS | How our own userspace on the Dot works. | | How the voice pipeline works | The path from wake word to answer. | | Device ↔ controller protocol | For porting EchoMuse to new hardware. | | Boards | How the firmware finds its hardware by name, and how to describe a new board. | | Profiling a new Echo | Scripts that collect what a port needs from an unsupported device. | | Contributing | Building from source, tests, and how to send changes. | | Engineering journal | How each part was worked out, including the dead ends. |
How it's built
EchoMuse is written largely with Claude,
Anthropic's AI model, directed by the maintainer. More than half
the commits carry a Co-Authored-By: Claude line, and replies on our issues
are signed "Team EchoMuse (powered by Claude)". Nothing about that is hidden.
Credits
EchoMuse would not exist without:
- R0rt1z2, for amonet-biscuit,
- Binozo, for EchoGo, the original SDK
- Dragon863, for EchoCLI.
- David Scripka, for openWakeWord.
- Xiph.Org, for SpeexDSP (the echo
- Home Assistant and ESPHome, whose open voice stack EchoMuse plugs into.
- Everyone who has contributed code,
Licence
EchoMuse is MIT licensed. It includes third-party components that keep their own licences, listed with their copyright notices in NOTICE.md. emOS releases also ship busybox (GPL-2.0), with its source and licence attached to each release, and wpa_supplicant (BSD).
Amazon, Echo, Echo Dot, Alexa and FireOS are trademarks of Amazon.com, Inc. or its affiliates. EchoMuse is an independent project, not affiliated with or endorsed by Amazon.