{
  "added_at": "2026-11-03",
  "additional_evidence_urls": [
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/emos/README.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/docs/rooting.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/JOURNAL.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/porting/README.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/CONTRIBUTING.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/controller/config.yaml",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/.github/workflows/ci.yml",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/.github/workflows/emos-release.yml",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/docs/uat-results/2.26.0.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/NOTICE.md",
    "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/LICENSE",
    "https://github.com/wilbowes/EchoMuse/releases/tag/v2.18.1",
    "https://github.com/wilbowes/EchoMuse/releases/tag/emos-v0.10"
  ],
  "category": "reconstruction-cases",
  "description_en": "Replaces the software on an unlocked second-generation Amazon Echo Dot (2016, codename biscuit) so it works as a local Home Assistant voice satellite over the ESPHome API: EchoMuse's own Go firmware drives the microphones, speaker, LED ring and buttons, and a controller on the LAN handles wake words, devices and a dashboard. Its default emOS mode swaps Amazon's Android userspace for the project's own init and busybox while keeping the Dot's kernel from the owner's boot image. An engineering journal records how codec routes, the mute key and other hardware behavior were worked out by measuring the device and diffing the mixer and DAPM state while stock FireOS plays a sound.",
  "description_zh": "替换已解锁的第二代 Amazon Echo Dot（2016 年款，代号 biscuit）上的软件，使其通过 ESPHome API 成为本地 Home Assistant 语音终端：EchoMuse 自己的 Go 固件驱动麦克风、扬声器、LED 灯环和按键，局域网中的控制器负责唤醒词、设备管理和仪表盘。默认的 emOS 模式用项目自有的 init 和 busybox 取代 Amazon 的 Android 用户空间，同时保留取自机主自身启动镜像的 Dot 内核。工程日志记录了如何通过在设备上测量，并在原厂 FireOS 播放声音时对比混音器和 DAPM 状态，摸清编解码器通路、静音键等硬件行为。",
  "entry_url": "https://awesomerea.org/resources/echomuse-echo-dot-voice-satellite-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/echomuse-echo-dot-voice-satellite-case/",
  "evidence_url": "https://github.com/wilbowes/EchoMuse/blob/4bbf7ff6eb9c97faea9080e0a2a6032921ef8108/README.md",
  "group": "cases",
  "id": "echomuse-echo-dot-voice-satellite-case",
  "json_url": "https://awesomerea.org/resources/echomuse-echo-dot-voice-satellite-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/echomuse-echo-dot-voice-satellite-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/echomuse-echo-dot-voice-satellite-case/index.md",
  "name": "EchoMuse: replacement software that turns the Echo Dot 2nd gen into a Home Assistant voice satellite",
  "name_zh": "EchoMuse：把第二代 Echo Dot 变成 Home Assistant 语音终端的替换软件",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "Reviewed main commit 4bbf7ff (2026-10-27) is in active development. At review the latest stable device firmware is v2.18.1 (2026-10-15) and emOS 0.10 (2026-10-02), the controller add-on declares 2.26.3, and early-access v2.19.0-ea.2 and emos-v0.11-ea.1 builds followed. Only the Echo Dot 2nd gen is supported; README calls ports to the Echo Dot 3, Echo 2 and Echo Show 8 in progress and lists open issues, including no WPA3 on emOS under FireOS 6.",
    "Needs the user's own Echo Dot 2nd gen, first unlocked with third-party tools (firebreak running R0rt1z2's amonet-biscuit); README says this is done at the user's own risk and can soft-brick the device. The setup wizard keeps a copy of the device's own boot partition and builds the emOS image from its kernel and device trees, and emOS mounts bionic and tinyalsa read-only from the device's /system. The emOS README says no bootable image is published because it would contain Amazon's kernel; releases carry the project's own firmware binary, init and userspace payload, and busybox with its source.",
    "Requires a working Home Assistant with an Assist pipeline, an always-on host for the controller as a Home Assistant add-on or Docker container, and Chrome or Edge for the one-time WebUSB setup. Source builds use the project's Docker compiler image for the Go device firmware, Python 3.12 for the controller, and emos/build.sh, whose release workflow compiles the init with a pinned Android NDK.",
    "CI runs the controller pytest suite with coverage floors, dashboard and Go device tests, dependency audits and image builds, and the journal and acceptance-test reports describe runs on the maintainer's own devices. It does not reproduce Alexa, and no Amazon software or service is recovered.",
    "MIT, with vendored SpeexDSP (BSD-3-Clause), an ONNX Runtime header, aioesphomeapi protocol buffers and a CC BY 4.0 timer sound listed in NOTICE.md; the project states it is not affiliated with Amazon. README says EchoMuse is written largely with Claude, directed by the maintainer, and that more than half the commits carry a Co-Authored-By: Claude line."
  ],
  "requirements_zh": [
    "所审阅的 main 提交 4bbf7ff（2026-10-27）仍在积极开发。审阅时最新稳定版设备固件为 v2.18.1（2026-10-15），emOS 为 0.10（2026-10-02），控制器加载项声明版本 2.26.3，其后又发布了抢先体验版 v2.19.0-ea.2 和 emos-v0.11-ea.1。目前只支持第二代 Echo Dot；README 称 Echo Dot 3、Echo 2 和 Echo Show 8 的移植仍在进行，并列出未解决的问题，例如 FireOS 6 下的 emOS 不支持 WPA3。",
    "需要使用者自己的第二代 Echo Dot，并先用第三方工具（运行 R0rt1z2 的 amonet-biscuit 的 firebreak）解锁；README 称此步骤风险自负，可能导致设备软变砖。安装向导会保存设备自身启动分区的副本，并用其中的内核和设备树构建 emOS 镜像；emOS 以只读方式挂载设备 /system 中的 bionic 和 tinyalsa。emOS README 称不发布可启动镜像，因为其中会包含 Amazon 的内核；发布内容只有项目自己的固件程序、init、用户空间负载包，以及附带源码的 busybox。",
    "需要配置好 Assist 流程的 Home Assistant、一台常开主机以 Home Assistant 加载项或 Docker 容器运行控制器，以及一次性 WebUSB 设置所用的 Chrome 或 Edge。从源码构建时，Go 设备固件使用项目的 Docker 编译器镜像，控制器使用 Python 3.12，emOS 使用 emos/build.sh，其发布流程用固定版本的 Android NDK 编译 init。",
    "CI 运行带覆盖率下限的控制器 pytest 测试、仪表盘与 Go 设备测试、依赖审计和镜像构建；工程日志和验收测试报告记录了在维护者自有设备上的运行。它并不复现 Alexa，也没有恢复任何 Amazon 软件或服务。",
    "采用 MIT 许可证；NOTICE.md 列出内置的 SpeexDSP（BSD-3-Clause）、ONNX Runtime 头文件、aioesphomeapi 协议缓冲区定义和一段 CC BY 4.0 计时器音效。项目声明与 Amazon 无关。README 称 EchoMuse 主要在维护者指导下由 Claude 编写，超过一半的提交带有 Co-Authored-By: Claude 署名。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/wilbowes/EchoMuse",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
