Skip to main content
  1. Posts/

The Franken Dot: Grafting an ESP32-S3 to a 5th Gen Echo Dot

Author
Liam Pettigrew
Notes, diaries and experiments from building private, self-hosted AI at home.

I have been playing around with the ESP32 S3 Touch LCD 1.85C with speaker box, it is a neat little package but the speaker is fairly terrible. I also had a couple of old 5th Gen Echo Dots that I had decommissioned in my transition to the fully local home assistant setup. They had great little speakers in them! Let’s use one of those.

Opening the patient
#

Removing old speaker from waveshare board
The first job was getting rid of the old speaker from the waveshare, it is pretty easy to pop off the grill and unscrew everything.

So I cut the speaker wires and kept the little plug. I then proceeded to remove all the electronics from the Echo Dot, we wouldn’t be needing them anymore.

Maybe one day someone will reverse engineer the electronics, I won’t throw them away yet.

Echo Dot speaker alongside a Waveshare ESP32-S3 audio board
The speaker was the only part I wanted to keep.

The replacement is a Waveshare ESP32-S3 audio board. It handles the audio side and gives the satellite a tiny screen for status feedback.

Inspecting the speaker box
#

The internal plastic speaker box with two metal pads
The internal plastic speaker box has two metal pads the connect it to the original electronics

The Echo Dot has an internal black plastic speaker box that connects with the electronics with two small metal pads. The internal circuitry has two pins that connect to the speaker through these pads.

Soldered the stripped wires to the metal pads
The speaker wire from the S3 box can be stripped and soldered to the Echo speaker box pads

So you can easily strip back the speaker wires from the S3 speaker box and solder them directly onto these pads (I am hiding my terrible soldering skills with some blurry photography and electrical tape).

ESP32-S3 audio board connected to the Echo Dot speaker
The speaker wires are soldered on and the screen is just hot glue gunned on top of the now unusable Echo Dot controls

So now that the speaker was connected, I got the hot glue gun out stuck the ESP32 board and lcd screen over the now unusable Echo control pad. I cut a small slot in the mesh cover to let the speaker wires slide through.

Franken Dot
#

Finished modified Echo Dot with a black ESP32-S3 display attached to the top and USB-C power connected
The finished Franken Dot: original speaker and shell below, ESP32-S3 display hot-glued on top.

It ain’t pretty but it is a way better speaker and you still have the interactive LCD screen.

First power-up
#

The Franken Dot powered up for the first time.

It is a very rough first build, but the important parts work: an old Echo Dot speaker has become the housing for a local, ESP32-S3-powered voice-assistant satellite.

The ESP32-S3 firmware for connecting to a Fulloch server can be found here: https://github.com/liampetti/fulloch-satellite