Amazon surprised the world yet again by unveiling its line of Amazon Dash Buttons on March 31, 2015. These handy little devices let you order your favorite products with the simple push of...get this...a button. You may not be able to change the batteries on these bad boys, but they do come in a variety of designs tailored to deliver more of the little things in life that we just can’t live without.
The first Dash Buttons to hit the market were given to preferred customers on an invitation-only basis. After a successful trial run, these handy devices started selling at $4.99 a pop. By September 2015, Amazon officially announced plans to expand its booming Dash Button business.
One Button Devices: Benefits and Real-Life Applications
Amazon’s business model for the Dash Button line is interesting enough to fill a blog, but let’s stick to the device itself. These tricky little boogers are basically dry-cell battery-powered IoT devices comprised of a microcomputer and a wireless LAN module.
Dash Buttons are stand-alone devices, making them extremely quick and easy to use in time of need—even handier than smartphone apps. The single-button interface makes these devices incredibly easy to operate. Combined with an immediacy that only simplicity can provide, the Dash Button’s UI is almost unbeatable in its field. However, on the flipside of all that simplicity lies an intricately-woven strategic approach born from a process of trial-and-error and tears of entire teams working to discover new and better ways to meet consumer needs.
Sure it may look like anyone could come up with the Dash Button, but Amazon surely deserves credit for actually going and making this thing. Everyone always sings the praises of smartphones as the culmination of all convenience, but the fact that this US-based company took a gamble on a dedicated piece of hardware provides an excellent object lesson to everyone in the IT industry.
The idea behind this device has the potential for a myriad of IoT uses that extend far beyond the finite walls of the business realm. The possibilities for what a simple “push of a button” could trigger are limited only by the bounds of our imagination. The allure of convenience brought about by the low-cost Dash Button is already giving birth to a world of new ideas that surpass the original purpose of the device. Here are a few examples that have caught the world’s attention so far.
- How I Hacked Amazon’s $5 WiFi Button to track Baby Data （2015ｰ08ｰ10） - medium.com
"...using your smart phone at night disrupts sleep. I want a simple button I can stick to the wall and push to record poops today, wake-ups tomorrow"
Forget about the initial setup required to create an account for ordering things on Amazon. We’re not going to hack the device either. Instead, let’s focus our attention on the ARP packets sent when the button is pushed and the device is starts up. We’ll use them to extract the MAC address from the device. The address will then be used to trigger a PC-based program in order to make this deceptively simple device do our bidding.
The article ends with a punchy, “The Internet of Things is already here.” While Amazon may not be particularly happy about customers taking their precious Dash Buttons and fiddling with their insides, it’s not like we’re mutilating the devices themselves. We’re just returning them to their original, “unregistered” state. If use-cases like these continue to spread, Amazon may be forced to implement some sort of anti-tampering system. However, at the moment, they haven’t said anything. Happy hunting!
Amazon Dash — It’s Dinner Time! （2015ｰ08ｰ27） - theappslab.com
Raymond Xie was super excited about the high cost performance of the Dash Button. The PiTFT he was using was getting super hot during use. He used the Dash Button as an easy way to turn his PiTFT on and off without wrecking the code. That’s when his wife chimed in with a suggestion. Why not use it to do something practical? Raymond decided to use the button to let his kids know when it’s time to eat. Both Raymond and his wife had a hard time getting the kids to come down for dinner as they were always on the second floor of the house playing games with headphones on. The Dash Button was wired to a Philips Hue light, and the push of the button made the lights flicker on and off, letting the kids know it’s time to eat. The button stays in the hands of the wife, stationed conveniently in the comfort of her own kitchen.
PizzaDash （2015ｰ09ｰ12） - github.com/bhberson
Inspired by Mr. Benson’s article, Brody Berson made his Dash Button into a one-stop Domino’s pizza delivery service (without Amazon being the wiser). Using the push-button as a trigger, Rasperry Pi calls the official Domino’s Pizza API to complete the order.
This led to the official adoption of the one-button ordering service in the Domino’s located in the UK (as of November 23, 2015).
- Domino's makes ordering pizza dangerous with 'Easy Order' button - www.engadget.com
- Praise pizza: Domino's 'Easy Order' button gets you a pie super fast - mashable.com
It’s hard to tell how much of this has been inspired by “PizzaDash,” but Domino’s has shown itself to be a very resourceful, formidable early adopter of new IT resources and innovative online ordering systems.
Amazon dash button automation silliness. （2015ｰ09ｰ26） - www.youtube.com
Michael Donnelly was so excited about his rendition of the Dash Button that he posted it on YouTube. Here, we see Michael making the hallway light glow a menacing shade of red when he pushes the button to turn on the AC inside his parked car to cool off his vehicle to his preferred driving temperature. It also honks the horn for bonus points. Score!
Dash Hacking: Bare-Metal STM32 Programming - learn.adafruit.com
Tony Dicola of Adafruit tries his hand at hacking the Dash Button head on. He overrides the firmware by writing over the original code for the LED with his own custom version. He leaves room for a sequel with the ominous-sounding, “...his guide didn’t touch on the Dash’s Wi-Fi module yet.” Only time will tell how far Tony will go.
Amazon Web Services (AWS), in conjunction with their October 2015 announcement of the beta version of the AWS IoT, released the beta version of the AWS IoT Button, which uses the exact same hardware as the Amazon Dash Button. At the AWS re: Invent 2015 conference which was held from October 6-9, participants were given the opportunity to experience the magic of AWS IoT firsthand. A simple push of the button sends a notification to the AWS IoT service, causing whatever task the user has prescribed to be performed.
Additionally, we’re starting to see more original button-based products produced by crowd-funding. It won’t be long before we start seeing more examples like the ones below.
These types of one-button IoT devices are catching the world’s eye with their expedient level of usability.
Engineering and Testing
After that healthy dose of history, it’s pretty natural for engineers such as myself to take everyday materials and create our very own one-touch device (example #1, example #2). As long as the device fits the overall description, it doesn’t really matter what the button actually does. I went for a design that hit home—a button that sent emails for me.
The Infamous Trial Run (30 Sec. Video)
* The stable version of Arduino IDE for ESP8226 that i currently have on hand is from a July 23, 2015 release entitled 1.6.5-947-g39819f0. When I used the Espressif library included in this build to create a sketch for our program, I ran into a problem that caused irregular shutdowns when a connection request was sent to SendGrid’s “https://api.sendgrid.com/” API server. I was able to eliminate this problem by writing over the *.a portion of packages/esp8266/hardware/esp8266/1.6.5-947-g39819f0/tools/sdk/lib/ with the latest service provided here: esp_iot_sdk_v1.4.0_15_09_18.
I’ve posted my source code below so you can take a closer look. Take the EspHttpsClient library and save it inside your local library folder to get started.
You may experience a little bit of a delay. Instead of using a dedicated service, you may want to go with IFTTT’s Maker Channel. If you’re trying to send emails, you can use the screenshots below to start cooking up your own recipe for success. (Click to enlarge)
OneButtonMailer_IFTTT.h - GitHub
I’ve included a few key sections about ESP8266’s sleep mode from the documentation provided by Espressif.
system_deep_sleep() and system_deep_sleep_set_option() references from ESP8266 SDK API Guide Version 1.4 (2015-09-18)
Thanks for reading, and here’s to bright futures for one-push devices and the Internet of Things!