An Amazon Dash-Like Button For The ESP8266

The Amazon Dash Button is a tiny piece of hardware that contains a single pushbutton, a WiFi module, and a nice, shiny corporate logo. Press the button, and products with that logo will be delivered to your house. An impressive bit of marketing, at least. With small, cheap WiFi modules like the ESP8266, it was only a matter of time until something an Amazon Dash clone was developed.

[deqing] created an ESP8266 Dash Button using the ESP-12 module, a button, a 3D printed case, and a pair of AA batteries. Electronically, it’s extremely simple; press the button, the ESP will wake up, request a URL, and put itself back to sleep. That’s all you need to do when you’re replicating the functionality of the Amazon Dash Button – the server will take care of the rest.

To configure the ESP8266, [dequng] is using the ESP-TOUCH app for Android, and setting up new functionality in this ESP button is as simple as putting a URL in the button’s Flash.

Not only is this a great build that has literally hundreds of different uses, it’s also not a breakout board for the ESP8266. It’s great that we’re finally seeing some builds using this cheap WiFi chip in the real world.

Obviously the actual Dash buttons include authentication that this one does not. We recently saw a teardown of the original hardware. We’re still waiting for in-depth analysis of the data squirted to the internet when an order is placed with it, though.

13 thoughts on “An Amazon Dash-Like Button For The ESP8266

    1. Usually this would be handled server-side. As in the case of the Dash… the button has a unique identifier that is associated with your account, your account is associated with a digital payment method.

      Pressing the button is no different than sitting down at a computer and using a keyboard to enter a search string then the mouse to click ‘Buy’. The device itself is the search string and pressing the actual button is the equivalent of the mouse clicking buy.

      No big mystery.

  1. After looking around, I could not find what ESP-TOUCH actually was… I could not find a description anywhere.

    Is it a protocol? If so what firmware needs to run on the ESP8266 in order to take those commands?

    What can you do with it? Setup WiFi, what else? Can it be implemented if your own code?

    1. ESP-Touch is Espressif’s proprietary protocol (free for ESP8266) for setting up SSID and password. This protocol encodes SSID and password in UDP packet’s length, which can be eavesdropped by wifi devices even they are not connected to the same network. Android phone broadcasts such encoded UDP packets with any Wifi network and ESP8266 listens to those packets and decodes SSID and password from those packets.
      ESP-Touch is only one line of code on ESP8266 and open sourced on Android now.

  2. Not knocking this hack, but the concept of the Amazon Dash button seems like a waste of hardware. I’d think a smartphone app to do the same thing would make more sense.

    1. A physical button like this makes sense when the item is used by everyone in the family. Even older children often forget to put toilet paper on the shopping list after they retrieve the last roll. Simply pressing the button is something that can be done by anyone capable of using these products.

    2. Would you get rid of your light switches and bury them inside a smartphone app instead? Probably not. When you’re carrying groceries in both arms coming through the door you want to hit a button or flip a switch, not get out your phone, unlock the screen, hit the home button, pull open your app drawer, find the right app, navigate through the app to the appropriate spot and push a button.

      I know this because that is currently how I have to turn on my lights and instead I usually just leave them off and live in darkness.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.