Amazon’s branded Dash Buttons were introduced in March 2015, allowing products to be easily re-ordered with a single click of the battery-powered device — not to be confused with the unbranded UK AmazonFresh version (which works like a miniature version of the popular hands-free Amazon Echo).

As an inexpensive (US$4.99) wifi-enabled IoT device, in less than 3 months they were starting to be re-purposed. There are a handful of approaches, from fairly non-technical ARP probe detection through to bare-metal reprogramming. Amazon themselves are also reaching out to developers and smaller brands with their Dash Replenishment Service.

Getting started seems pretty simple — when you get a Dash button, Amazon gives you a list of setup instructions to get going. Just follow their list of instructions, but don’t complete the final step . Do not select a product, and just exit the app.

Most techniques use something like IFTT to connect the button event to a IoT trigger of your choosing. Instructables has a great step-by-step tutorial, and there’s some great open-source code available on GitHub.

Amazon Dash Button (Tide) on washing machine
The Dash Button as it it usually used — to order more Amazon products (such as washing powder).

The detailed specs:

  • The CPU is a STM32F205RG6 processor which is an ARM Cortex-M3 that can run up to 120mhz and has 128 kilobytes of RAM and 1 megabyte of flash memory for program storage
  • The WiFi module is a BCM943362 module which in combination with the CPU make it a platform for Broadcom’s WICED SDK
  • There’s a 16 megabit SPI flash ROM which is typically used in conjunction with the WICED SDK for storing application data
  • An ADMP441 microphone is connected to the CPU and used by the Dash iOS application to configure the device using the speaker on a phone/tablet
  • There’s a single RGB LED and a button

Quite powerful for US$5.

However, the next step in this evolution has just been released — the AWS IoT Button.

The AWS IoT Button is a programmable button based on the Amazon Dash Button hardware. This simple Wi-Fi device is easy to configure and designed for developers to get started with AWS IoT, AWS Lambda, Amazon DynamoDB, Amazon SNS, and many other Amazon Web Services without writing device-specific code.

Targeted at developers, this US$20 version connects to the web using the Amazon Web Services Lambda platform without writing a line of code (ok, so not developers then). However, even the “Hello World” example described here seems quite technical — in some ways, even more so than hacking the original (and at four times the cost). It seems to have three types of button pushes, though — short, long and double for more interactions.

AWS IoT enables Internet-connected things to connect to the AWS cloud and lets applications in the cloud interact with Internet-connected things. Common IoT applications either collect and process telemetry from devices or enable users to control a device remotely.