ygelfand/echolocal

Turn an Echo Dot (2nd gen) into a fully local Home Assistant voice satellite, multi-room media player, lux sensor, Bluetooth proxy, and more. No Amazon, no cloud.

What it solves

EchoLocal transforms a 2nd-generation Amazon Echo Dot (biscuit, RS03QR) into a local, privacy-focused voice satellite for Home Assistant. It replaces Amazon's cloud services with a local Go-based implementation, allowing the device to function without relying on external servers.

How it works

The project consists of a daemon (echod) that runs directly on the Echo Dot hardware. This daemon manages the hardware, handles wake word detection, and implements an ESPHome native API server. This allows Home Assistant to discover and interact with the device as if it were a native ESPHome device. A companion CLI tool (echoctl) is used for installation and provisioning.

Who it’s for

Users who own a 2nd-generation Echo Dot and want to integrate it into a local Home Assistant setup for voice control, while maintaining privacy and removing Amazon's cloud dependency.

Highlights

  • Local Wake Words: 100% on-device detection using openWakeWord and microWakeWord models, including "stop" detection.
  • Home Assistant Integration: Acts as a native media_player and voice satellite, supporting media playback with ducking and white-noise generation.
  • Bluetooth Proxy: Forwards BLE advertisements to Home Assistant and acts as an iBeacon for device positioning systems.
  • Hardware Utilization: Enables the use of the onboard LED ring (with custom animations) and the previously unused ambient light (Lux) sensor.

Related

  • Project
  • Project
  • Project
  • Project