Amazon recently released the Echo Button, a Bluetooth Low Energy device designed for use with Echo devices (which I don’t own). Although it uses Bluetooth instead of Wi-Fi, I thought it might be a better device to repurpose than the Dash Button, due to its larger size and easily replaceable battery. Thus, I bought one to take apart.
Amazon seemed really worried about the batteries falling out, since the battery door is held shut with both a plastic tab and one Phillips #1 screw. Underneath one of the two AAA batteries is a row of exposed test points. Four other Phillips #1 screws are hidden beneath the device’s rubber feet; removing these allows the device to be opened.1
Once opened, there are two parts—a top half with the large button, and a bottom half with the PCB and batteries.
The top half consists of three plastic parts, three button contacts, and four springs.
The bottom half consists of one plastic piece, with the battery compartment, and the PCB, secured with two more Phillips screws.
The device can be easily disassembled and reassembled with standard tools and without damaging it.
The PCB is fairly spartan, consisting of a combined microcontroller / Bluetooth Low Energy SoC, three RGB LEDs,2 a trace antenna, and supporting components. For easy hackability, there’s a Tag-Connect SWD footprint, as well as a U.FL antenna connector and numerous cuttable traces / solder jumpers. The SoC is a Cypress CYW20735 “single-chip Bluetooth transceiver for wireless input devices.” There appear to be freely available development tools for it.
The bottom of the PCB includes a set of test points, some of which are accessible from within the battery compartment. In particular, the SWD header is accessible via these test points with the following mapping:
TMF2: SWDIO TMF9: SWCLK TMF10: GND TMF11: RESET TMF12: VCC TMF22: SWO
As far as software goes, the device broadcasts as a Bluetooth Low Energy gamepad with ID EchoBtn2V8
.3 I was able to successfully pair it to a computer, but I have not yet tried to use it as an input device. I have also not yet tried to connect a debugger to the SoC.
Hi,
How did you interface with the buttons using your PC?
I have tried scanning for them with iOS’s LightBlue, but I can’t seem to detect them…
Sam
I connected using Linux (BlueZ 4.101), after placing the button in pairing mode by pressing it until it starts glowing orange. Here’s what
hcitool
knows about the button:Sorry about posting on such an old post; hopefully you’ll see it.
Did you ever make any progress in repurposing these?
I haven’t really tried.
I know this is a very old post, but I just wanted to check and see where the button itself is making contact? I wanted to remove the button and repurpose this with a reed-switch by my front door to trigger the lights on arrival.
The three large roundish exposed copper structures toward the edge of the top of the PCB are the contact areas; pressing the button shorts the traces in these structures together. I suspect shorting one of these structures is enough to trigger the button, but I’m not sure on this point.