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.
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.