Alexa, Amazon free?

What a time to be alive! Smart stuff everywhere. Your television, the light, temperature – every day the amount of „smart“ things increases. First they were controlled with buttons. Nowadays you can use an app for almost everything. The next step? Of course – your voice. Every „big player“ has its own voice assistant. The problem of all those assistants is, that they claim to require internet to work. Thanks to companies like Snips you can show that this is not true as the whole recognition and most of the actions work without any internet at all. I build an offline smart speaker with a Raspberry Pi 3 A+ and Respeaker 4Mic-Array which is working really nice. The only problem in this setup is the super-low WAF 😄.

Digg inside Echo Dot

According to statistics, Amazon has a market share of over 50%. The designers from amazon did an amazing job – high WAF, appreciated. You can buy an echo dot, which is a tiny box. Depending on its generation it has several microphones, LEDs, buttons, a speaker and rotation input. I was able to get some cheap „broken“ 2nd gen dots. Thanks to several teardowns the main parts are already well known:

There are some unknown ICs, but let’s ignore them for now. I searched for a GND pin and measured every testpoint on the top board which holds the microphones and LEDs. The bottom mainboard uses a DAC to connect to a speaker. Let’s skip them for now, too. This is what I found on the top board:

Test pointVoltageICPinNotes
TM011.5V0V while minus-button pressed
TM021.8V0V while plus-button pressed
TM031.8V
TM043.3V
TM053.3VIS31FL323636SDB (Enable) of LED Controller
TM06***I²C SDA
TM07***I²C SCL
TM08*TLV320ADC31012I²S WCLK
TM09*TLV320ADC31011I²S BCLK
TM10*TLV320ADC31013I²S DOUT
TM113.3VTLV320ADC310122IOVCC
TM123.3V
TM131.8VTLV320ADC310123DVCC
TM141.8V
TM153.3V
TM163.3VTLV320ADC310138AVCC (+LEDs)
TM17GND
TM18GND
TM19GND
TM20GND
TM21GND
TM22GND
TM231.8VTLV320ADC31014RST
TM24*Bus / Microphone?
TM25GND
TM26GND3.3V when microphone „disabled“
TM273.3V2.3V when microphone „disabled“
TM283.3V2.3V when microphone „disabled“
TM32GND
TM331.5V0V when minus-button pressed
TM341.8V0V when plus-button pressed
TM351.8V0V while circle-button pressed
TM362.3V
TM371.8V
TM381.5V
TM392.3V
TM401.8V
TM411.5V
TM421.8V
TM432.3V
TM441.5V
TM45*Bus / Microphone?
TM462.3V
TM471.8V
TM482.3V
TM491.5V
TM501.8V
TM511.5V
TM521.8V
TM532.3V
TM541.5V
TM552.3V
TM561.8V
TM572.3V
TM581.5V
TM591.8V
TM601.5V
TM611.8V
TM622.3V
TM631.5V
TM642.3V
TM651.8V
TM662.3V
TM67*Bus / Microphone?
TM681.8V
TM69*Bus / Microphone?
TM701.8V
TM712.3V

Raspberry Pi everything

Amazon is really kind to us – the I²C-Bus talks with 3.3V. Let’s plug 3.3V, GND, SDA and SCL and check, what a bus scan gives us with:

i2cdetct -y 1

0123456789ABCDEF
00
1018191A1B
20
303F
40
50
60
70

Uh, nice. Five devices. According to the datasheets 0x18 – 0x1B are the four ADCs of the microphones and 0x3F is the LED controller. That was easy! Let’s check the datasheet and send some data to the LED controller. Sadly no luck. After some research of the datasheet I had to enable the controller by setting 3.3V to the SDB pin. Why does the chip respond via I²C when it is not enabled? 😠 After adding 3.3V to the PIN, I really was able to control the LEDs of my Echo Dot.

Accessing the Echo Dot LEDs with a raspberry pi

Also I used a MAX98357 I²C sound card with integrated amplifier. Since the Dot exposes its speaker pins within the case, the access was really easy. I can listen to music via my Dot. Only the microphones are missing. The ADCs have to be powered with 1.8V – where I don’t have capable supply. I ordered one and have to wait for them. After that I’ll try to access the microphones. Maybe I can really use them with Snips. We’ll see.

Or – even better – did anyone ever do this? The only results I get searching for this is how to install Alexa on your raspberry pi…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.