Weekend Hack:Echo Dotelectronics
Getting better Audio out of an Amazon Echo Dot…
I’ve got some Amazon Echo Dot spying devices in my apartment, and I actually like them to switch some lights or to listen to Spotify. In my living room I had an Onkyo Receiver with some decent Pilot CD800 Speakers. As I only used the spotify connect function on this Receiver my idea was to retire that thing and connect the speakers to an Echo Dot using a small SMSL SA-50 Class-D amp. This has several advantages:
- The SMSL can stay on all the time due to it’s Class-D nature. So Alexa’s speech interface works nicely.
- I don’t need to switch on anything to listen to music. Just “alexa, play spotify”.
- regained a lot of room in my shelf :)
So far, the small SMSL Amp does it’s job very well. To be honest, it sounds much(!) better than the Onkyo Amp for a fraction of the Onkyo’s price. Sadly, you can’t say this about the Echo Dot. The DAC Amazon used seems to be the cheapest (and worst) they found on the market. Frequency seems to fall of above 12khz, dynamic seems to be compressed somehow and it just sounds bad. So the Idea was to replace the DAC with a better one.
Short search on Google revealed that someone did it successfully (https://hackaday.io/project/28109-hi-fi-digital-audio-from-the-echo-dot) but left no description at all. At least the DAC he used seems to be a good start, and so I ordered one (3$) from ebay (search for ‘I2S PCM5102A DAC’). That board was meant to be as an upgrade to a Raspberry PI which also does not meet any audiophile standards on its default sound output. The 5102 has been designed by Burr Brown which were known for very good DAC’s. Texas Instruments bought them years ago and they are now making them. Fun fact is that they are still branded Burr-Brown.
So here’s a small line up.
- An Echo Dot Gen 2 (thats the one currently sold, Jan 2018)
- very thin enameled copper wire. You won’t get too far with thick wires.
- ‘I2S PCM5102A DAC’ Board from Ebay
- An old RCA cable. The ones coming enclosed with audio stuff. Don’t use a High End Cable with thick wires - we haven’t got space for them.
- Soldering Iron capable of soldering smd stuff.
- A hot air rework station. A cheap $insert_random_chinese_brand_name_here 858D+ will do the job.
- A forceps.
- Torx T-9 and T-7 Screwdriver
Opening the Dot
(btw.: you will definitely void your warranty when doing this…)
Put the Dot upside down and peel of the adhesive stickers. Be more careful than I have been, then you possibly can reuse them.
Unscrew the Screws (Torx T-9) and open the Device. It now should look like this:
The original mono Speaker is in the bottom part (top of the picture). Remove it, its not screwed anywhere. (just knock the plastic speaker unit out by dropping the reversed case on the desk. We need the room the speaker occupies for the new DAC)
Removing the old DAC
Now we need to get rid of the TLV320 Dac. It’s a small 4x4mm chip marked with ‘V13’ on the visible side of the board. Heat it up with the the reflow station, take care of not accidentially removing any resistors around it and finally remove it with the forceps. Now it shoud look like this:
Connecting the new DAC board
Now we need to connect the new DAC board with the SMD pads on the Board. You can see 4 corners on the silkscreen on the Board, one is printed bold and marks Pin1 (there’s a small black smd resistor next to it).
I made a table on how to connect the 5102 Board to the SMD pads. Some connections need to be made only on the board to pull-up/down some inputs. (make sure you don’t forget them, otherwise you will hear only distortion or nothing at all - all inputs are free floating and NEED either gnd or vcc3.3) Some connections need to be made to test points on the board (Vcc and GND).
|PCM5102 Board||TLV320/Echo Dot Pin||Description|
|VCC||Test Point near USB Plug - DN1||+5V VCC from USB|
|3.3V||NC||Used as logical high for other pins on PCM5102 board|
|GND||Test Point TM14||GND|
|FLT||NC||Connect to GND on PCM5102 Board|
|DMP||NC||Connect to GND on PCM5102 Board|
|SCL||NC||Connect to GND on PCM5102 Board|
|BCK||Pin 2||Connect to BCLK on TLV320 Pad Pin - Bit Clock|
|DIN||Pin 4||Connect to DIN on TLV320 Pad Pin - Digital In|
|LCK||Pin 3||Connect to WCLK on TLV320 Pad Pin - Word Clock|
|FMT||NC||Connect to GND on PCM5102 Board|
|XMT||NC||Connect to 3.3v on PCM5102 Board|
That’s how it should look like on the board. Don’t get confused by the yellow wire on Pin 1 - it’s unnused and does not need to be soldered. That is the System Clock which runs at 9.56 MHz. Unfortunately, the 5102 is incompatible with that system clock. Luckily the 5102 can regenerate that frequency from the other clock signals. It does so when SCL on the 5102 is connected to GND.
Btw.: The Bitclock is at 48khz and the wordclock runs at 1.5MHz, so the Echo Dot has a fixed output of 48khz and 16bit stereo audio, which is absolutely ok.
Cut the rca cable in half, extend the original 3.5mm jack hole on the Dot’s housing to pull the cable through the hole and connect it to the L-G-R pins on the board.
Now something important: I wondered why I only got mono audio, took me one hour to find it out: The original audio jack socket from the Dot has a jack detection switch. As long as no jack is inserted, the Echo mixes the audio down to mono, as it only has a mono internal speaker. By simply unsoldering the whole jack socket we automatically override this jack detection, as it is an NC switch. We need the space anyway to route the rca cable out of the device.
The Socket has some torx (t-7) screws on the other side of the Board, remove them.
I used some double-sided adhesive tape to fix the board and used the remaining holes of the jack socket and a small ziptie to fix the rca cable
Final result :)
Improvement in quality cannot be described in words. That thing is now a whole different story. Costs were around 10$ (and only $60 when including the amp!), so what should I say.