<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf" -->

---
title: Turning an Echo Dot 2 into a Home Assistant voice satellite
description: A 2016 Echo Dot 2 can be converted into a Home Assistant voice satellite using EchoMuse and emOS. The author unlocked the device with firebreak over micro-USB,...
canonical: https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Turning an Echo Dot 2 into a Home Assistant voice satellite | daily.dev
og:description: A 2016 Echo Dot 2 can be converted into a Home Assistant voice satellite using EchoMuse and emOS. The author unlocked the device with firebreak over micro-USB,...
og:url: https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf
og:image: https://api.daily.dev/og/posts/usuxtxmSF.png
og:image:alt: Turning an Echo Dot 2 into a Home Assistant voice satellite
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Turning an Echo Dot 2 into a Home Assistant voice satellite

**[/dev/io](https://daily.dev/sources/iodev)** · 4 min read · 0 upvotes · 0 comments

## Summary

A 2016 Echo Dot 2 can be converted into a Home Assistant voice satellite using EchoMuse and emOS. The author unlocked the device with firebreak over micro-USB, then flashed emOS and connected it to a Home Assistant Assist pipeline. Setup required moving the Dot to an IoT VLAN, opening TCP port 8770, and manually configuring a hidden Wi-Fi network via WPA2 (WPA3 isn't supported). After testing speech services, a Google speech-to-text turn took 12.6 seconds, a Piper turn 8.2 seconds, and an OpenAI-transcription/Piper turn 6.9 seconds. The device now responds to 'Hey Jarvis' using OpenAI for transcription and conversation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.iodev.org/blog/echo-dot-echomuse-home-assistant>

## Questions this post answers

### How do I unlock an Echo Dot 2 (model RS03QR) to install custom firmware?

Use the firebreak tool over a micro-USB data cable to unlock the device. Firebreak has two targets: a Fire OS 5 target compatible with either EchoMuse runtime, and a Fire OS 6 target compatible only with emOS. If the process is interrupted and you get an error like 'boot cmdline has no veritykeyid', firebreak's --factory-reset option reinstalls Fire OS 6 on both slots to complete the unlock, though it erases device data.

_daily.dev surfaces hands-on unlocking guides for developers rooting legacy smart speakers like this._

### Why isn't my Home Assistant voice satellite finding the controller over mDNS?

If an EchoMuse device log repeatedly shows 'mDNS: no server found,' add a static controller endpoint to /data/local/etc/echomuse/controller.json rather than relying on discovery. This issue can occur alongside VLAN separation, where the voice satellite's IoT network can't reach the Home Assistant host unless TCP port 8770 is explicitly allowed between the VLANs.

_Developers networking IoT devices across VLANs can track fixes like this one on daily.dev._

### Which speech-to-text service is fastest for a Home Assistant voice pipeline?

In one informal comparison of individual voice turns on an EchoMuse-based satellite, a Google speech-to-text turn took 12.6 seconds from wake to completion, a local Piper turn took 8.2 seconds, and an OpenAI-transcription-plus-Piper turn took 6.9 seconds. These aren't controlled benchmarks, just single timed requests with the same short question.

_daily.dev helps developers comparing speech-to-text options stay on top of real-world latency reports._

## Similar posts on daily.dev

- [Someone used Claude to root an Amazon Echo Dot and turn it into a Home Assistant satellite](https://daily.dev/posts/someone-used-claude-to-root-an-amazon-echo-dot-and-turn-it-into-a-home-assistant-satellite-h0j55iloe) · XDA Developers · 0 upvotes · 0 comments
- [Rooting An Amazon Echo Dot](https://daily.dev/posts/rooting-an-amazon-echo-dot-wqb4g38ij) · Hackaday · 0 upvotes · 0 comments
- [How I Made My Own Offline Voice Assistant](https://daily.dev/posts/how-i-made-my-own-offline-voice-assistant-lvephkfkw) · Medium · 0 upvotes · 0 comments
- [I built a local voice assistant that doesn't need the internet, and it actually understands me](https://daily.dev/posts/i-built-a-local-voice-assistant-that-doesn-t-need-the-internet-and-it-actually-understands-me-8kvd4gsfc) · XDA Developers · 0 upvotes · 0 comments
- [PINE64's Smart Speaker is a Home Assistant Powered Alternative to Amazon Echo](https://daily.dev/posts/pine64-s-smart-speaker-is-a-home-assistant-powered-alternative-to-amazon-echo-b6mgqnoa2) · It's Foss · 0 upvotes · 0 comments

---

Tags: [#iot](https://daily.dev/tags/iot)

[View this post on daily.dev](https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Turning an Echo Dot 2 into a Home Assistant voice satellite","url":"https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf"},"datePublished":"2026-11-02T14:24:51.354Z","dateModified":"2026-11-02T14:25:24.285Z","description":"A 2016 Echo Dot 2 can be converted into a Home Assistant voice satellite using EchoMuse and emOS. The author unlocked the device with firebreak over micro-USB,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/700d9d7280d4e758437baec9a35c7261?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/700d9d7280d4e758437baec9a35c7261?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"/dev/io","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"/dev/io","logo":"https://media.daily.dev/image/upload/s--xOsuFPZX--/f_auto,q_auto/v1777801594/logos/iodev","url":"https://daily.dev/sources/iodev"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"iot","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"/dev/io","item":"https://daily.dev/sources/iodev"},{"@type":"ListItem","position":3,"name":"Turning an Echo Dot 2 into a Home Assistant voice satellite"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/turning-an-echo-dot-2-into-a-home-assistant-voice-satellite-usuxtxmsf#faq","mainEntity":[{"@type":"Question","name":"How do I unlock an Echo Dot 2 (model RS03QR) to install custom firmware?","acceptedAnswer":{"@type":"Answer","text":"Use the firebreak tool over a micro-USB data cable to unlock the device. Firebreak has two targets: a Fire OS 5 target compatible with either EchoMuse runtime, and a Fire OS 6 target compatible only with emOS. If the process is interrupted and you get an error like 'boot cmdline has no veritykeyid', firebreak's --factory-reset option reinstalls Fire OS 6 on both slots to complete the unlock, though it erases device data. daily.dev surfaces hands-on unlocking guides for developers rooting legacy smart speakers like this."}},{"@type":"Question","name":"Why isn't my Home Assistant voice satellite finding the controller over mDNS?","acceptedAnswer":{"@type":"Answer","text":"If an EchoMuse device log repeatedly shows 'mDNS: no server found,' add a static controller endpoint to /data/local/etc/echomuse/controller.json rather than relying on discovery. This issue can occur alongside VLAN separation, where the voice satellite's IoT network can't reach the Home Assistant host unless TCP port 8770 is explicitly allowed between the VLANs. Developers networking IoT devices across VLANs can track fixes like this one on daily.dev."}},{"@type":"Question","name":"Which speech-to-text service is fastest for a Home Assistant voice pipeline?","acceptedAnswer":{"@type":"Answer","text":"In one informal comparison of individual voice turns on an EchoMuse-based satellite, a Google speech-to-text turn took 12.6 seconds from wake to completion, a local Piper turn took 8.2 seconds, and an OpenAI-transcription-plus-Piper turn took 6.9 seconds. These aren't controlled benchmarks, just single timed requests with the same short question. daily.dev helps developers comparing speech-to-text options stay on top of real-world latency reports."}}]}
```

