adamjrg

Turning an Old Echo Dot into a Local Voice Assistant

I took a 2018 Echo Dot from a drawer, removed Amazon from it and made it a Home Assistant voice satellite, so "Alexa, turn on the lights" never leaves my house.

5 min read in Homelab, Home Assistant, Privacy

Turning an Old Echo Dot into a Local Voice Assistant
Photo by Lazar Gugleta / Unsplash

I took an old 2018 Echo Dot, cut Amazon out of it completely, and turned it into a local voice assistant for Home Assistant. Now when I say "Alexa, turn on the lights", the command never leaves my house.

I followed Andy's Tech Lab video, I Rooted an Echo Dot. It involves opening the Dot up, soldering a USB cable onto the board, and rooting it. After my last post on the SC-900 security exam, the privacy angle is what got me interested. A normal Echo sends every voice command to Amazon's cloud. This one doesn't.

How I did it

The project is called echo-dot-assist. It removes the Alexa software, blocks Amazon's servers with a firewall, and turns the Echo into a Home Assistant voice satellite. It keeps the parts Amazon did well, the microphone array and the wake-word engine, so the Dot still hears me from across the room.

  1. Check the model. The original video's method only works on the 2018 Echo Dot 3rd gen, model D9N29T, which is printed on the base. The 2019 refresh and the version with a clock won't work.
  2. Give it a USB connection. The Dot has no USB port, so I opened the case with a T6 bit and a pry tool. I cut the end off an old USB cable and soldered the ground, data+ and data- wires onto the test pads, following the project's wiring guide. I cut off the red 5V wire and left it unconnected. Getting the wires onto those tiny pads was the fiddliest part, and tweezers helped a lot.
  3. Run the setup script. You need a computer running Linux directly, not in a virtual machine. I cloned the repo, made setup.sh executable and ran it. It asked me to download three firmware files. Then I held the action button (the one with the dot) while plugging in the power, and waited while the ring flashed through its colours. Finally, I entered my Wi-Fi details.
  4. Add it to Home Assistant. The Echo showed up under Devices & services as an ESPHome device. I said "Alexa" twice to train the wake word, then chose fully local processing, which installs Whisper (speech-to-text) and Piper (text-to-speech).

The risks

The project's README is upfront about this: the code was written by an AI and hasn't been audited. Unlocking the bootloader can brick the Echo, and a firewall mistake could leave it exposed on your network. I only tried it because I was happy to lose this Dot if it went wrong.

Since I work in identity and access management, I'll add one more point: you are putting an unaudited device on your home network. Treat it like one.

What's changed since the video

The project is moving fast. It has had dozens of commits in the week since the video came out on 30 October 2026, and it now supports eight Echos. If you don't have a 2018 Dot, check your drawer anyway, because six of these need nothing more than a micro-USB cable.

  • Echo Dot 2nd gen (2016), RS03QR: micro-USB, no soldering
  • Echo Show 5 1st gen (2019), H23K37: micro-USB, no soldering
  • Echo Show 8 1st gen (2019), C7H6N3: micro-USB, no soldering
  • Echo Show 5 2nd gen (2021), C76N8S: micro-USB, no soldering
  • Echo Show 8 2nd gen (2021), A8H3N2: micro-USB, no soldering (serial-port unlock)
  • Echo Input (2018), C1125P: micro-USB, no soldering, and no built-in speaker
  • Echo Dot 3rd gen (2018), D9N29T: open the case, wires on test pads (what I did)
  • Echo 2nd gen (2017), XC56PY: open the case, solder USB to the amplifier board

Each model also needs one exact firmware version, which is listed on its page in the repo. The full model list shows that the Echo Spot 1st gen and the Fire TV Cube 3rd gen are being worked on. The Echo Dot 4th and 5th gen, and the Echo Pop, still have no known exploit.

Other recent additions:

  • Echo Show screens now display a face, a pull-down drawer, and Music Assistant controls.
  • Windows setup works for the Echo Dot 2 and for any Echo that's already unlocked, using Git Bash.
  • Custom Alexa sounds, plus Wi-Fi fixes and a faster startup on the Echo Show 5.
  • Signed updates can now be installed from Home Assistant as well as from your PC.

Finding out which Echo you have

The model number decides everything, so find it before you open anything up. Several Echos look almost the same: the 2018 Dot 3 and its unsupported 2019 refresh look identical from the outside.

  • Flip it over. The model number is printed in small text on the bottom, usually as a code like D9N29T. On fabric-covered Dots it can be hard to read, so use your phone's camera and zoom in. If the base label is worn off, check the power adapter, which often has a label too.
  • Match it against the list above. If your code is there, you're in. If it isn't, check the full model list in the repo. For example, a Dot 3 showing C78MP8 (the 2019 refresh) or 36EBT3 (the version with a clock) won't work yet.
  • Use the visual clues. A screen means it's an Echo Show. An LED clock on the front means it's the unsupported Dot with clock. A flat plastic puck with a micro-USB port is the Dot 2nd gen, which is the easiest one to do. A thin device with no speaker is the Echo Input.
  • Keep it offline. Don't plug it in and set it up with the Alexa app just to check. The project warns that an Echo connected to Amazon can update itself, and an update can close the hole the unlock relies on. The setup flashes the exact firmware version each model needs, and scripts/probe.sh checks it, so you don't need to know what's on the device now.

I got lucky: the Dot I had sitting in a drawer turned out to be a D9N29T.

My takeaways

  • Local voice control works on old hardware. The Echo listens, my own server does the thinking, and nothing goes to Amazon.
  • The server matters more than the speaker. Every slow response I got came from the mini PC behind the Echo, not the Echo itself. That's what I'm upgrading next.
  • Start with speech-to-phrase. Simple smart-home commands don't need full transcription, and it was more than twice as fast for me.
  • Read before you run. The project is unaudited and can brick the device, so check the README and your model number first.

Giving an old Echo Dot a second life without the cloud was really satisfying.

Sources