Orphaned Amazon Dash Buttons Ripe For Hacking

Amazon Dash buttons were the ultimate single purpose networked device; it really can’t get much simpler than a push button that sends a single message to a fixed endpoint. It was an experiment in ultimate convenience, an entry point to a connected home, and a target for critics of consumerism excess and technological overkill.

But soon they’ll be little more than a footnote in the history of online shopping, as CNet reports Amazon will take the order system offline at the end of the month. With the loss of their original intended usage, there’s nothing to stop us from hacking any Dash buttons we can get our hands on.

Of course, this decision should come as little surprise. Amazon’s in-home retail point of sale has graduated from these very limited $5 buttons to Alexa-powered voice controlled devices. Many people also carry a cell phone at all times capable of submitting Amazon orders. While there are many good reasons to be skeptical of internet connected appliances, they’re undeniably finding a niche in the market and some have integrated their own version of a Dash button to re-order household supplies.

But are hackers still interested in hacking Dash buttons? Over the lifespan of Amazon Dash buttons, our project landscape has shifted as well. We’re certainly still interested in the guts an Echo Dot. But if we wanted to build a simple networked button, we can use devices like an ESP8266 which are almost as cheap and far easier to use. Using something intended for integration means we don’t have headaches like determining which generation hardware we have.

Despite those barriers, we’ve had many Dash button hacks on these pages. A to-do list updater was the most recent and we doubt it will be the last, especially as Amazon’s deactivation should mean a whole new flood of these buttons will become available for hacking.

[via Ars Technica]

Making A Dash Button Update Your To-do List

Amazon’s Dash Buttons are useful little devices, that let you automatically order a wide variety of common household goods at the press of a button. They’re cheap and wireless and readily available, and that makes them ripe for hacking. In just this vein, [Inbar] and [Ezra] found a way to make the Dash buttons update their to-do list.

[Inbar] uses Any.do to manage his to-do list. There’s no public API, but the service can be configured to respond to Alexa commands. Naturally, this meant that if a Dash Button could be configured to trigger a voice command, Alexa would then make the necessary additions to the list.

This was achieved with lashings of Python, a Raspberry Pi, and Apple’s text-to-speech engine. The Raspberry Pi is set up as a wireless hotspot, to which the Dash Buttons are connected. When the button is pressed, a DHCP request goes out as the button tries to phone home. By scraping the MAC address from this request, the Raspberry Pi can identify which button has been pressed, and then plays a recorded voice sample of Apple’s Samantha voice. This voice was specifically chosen to be the one most reliably understood by Alexa, which is responsible for parsing the voice command and updating the list on Any.do.

It’s a cheeky hack that doesn’t bother itself with the nitty-gritty of interfacing with various services and tools. Instead, it laces up a bunch of easy-to-use software and hardware, and gets the job done just as well.

As we’ve seen, Amazon’s Dash Button has been thoroughly pwned. Video after the break. Continue reading “Making A Dash Button Update Your To-do List”

1btn – An Open Source Dash

The availability of cheap radios, omni-present WiFi and powerful web services means the IoT wave is here to stay. Amazon got into the act with its “do only one thing” Dash button. But a more interesting solution would be an IoT “do it all” button.

[Anand] has been working on his 1btn Open Source WiFi connected IoT button for a while. It connects to the Internet over WiFi to trigger whatever action you have assigned to it using a simple, online interface. It’s reconfigurable and open source. Which means it can be used in pretty imaginative ways, and if needed, can be re-flashed with your own custom firmware should you decide to really get under its hood.

The 1btn’s ESP8266 module is usually in sleep mode, waking up when the button is pressed, making the connection, performing the task and then going back to sleep once confirmation is received. A Red/Green LED indicates if the action was successful or not. You can set it up to send e-mails, messages, tweets or perform actions via a custom script, API or the IFTTT – maker channel. To make it hacker friendly, all of the ESP8266 GPIO pins are accessible via headers. This makes it convenient to add external sensors, for example. There’s also a (unpopulated) QFN footprint to allow adding an ATmega device (168P/328P) whose GPIO pins are also accessible via headers. This opens up a large number of additional applications for the device such as home automation.

On the software side, the 1btn connects to a web console, where you can set up an account, configure the device, register its MAC ID, assign it an alias and set up its actions. All of the source files for the 1btn – firmware, enclosure, schematic, BOM, PCB layout and example use cases – are posted on his Github repository.

The HackadayPrize2016 is Sponsored by:

Help Needed: No-Soldering ESP8266 IFTTT Button

We all love to see amazing hacks in their finished state and be dazzled by what our peers can do. But that’s just the summit of the hacker’s Everest. We all know that the real work is in getting there. Hackaday.io user [stopsendingmejunk] is working on an ESP8266-based IFTTT Button based on a simple breakout board so that anyone could rebuild it without having to do any soldering, and he’s looking for collaboration.

[stopsendingmejunk]’s project takes off from this similar project on different hardware. The board he’s chosen to use is the EZSBC ESP8266-07 breakout, which should have everything he needs, including an on-board button. It should be an easy enough job, but he’s having trouble getting the thing to stay asleep until the button is pressed.

We’ve seen more than a few hacks of the Amazon Dash button, but aside from hacking for hacking’s sake, we’re also happy to see a ground-up open redesign. Besides, this looks like it’ll be a great introductory project, requiring little fiddling around. With a little help. The code is up here on GitHub. Anyone game?

Amazon Giving Out (Sort Of) Hackable Amazon Dash Button

We’ve seen some interesting hacks of the Amazon Dash buttons, a neat device where you press a button and it orders a product from Amazon for you. Now, [Amazon] themselves are getting into the hacking fun with the AWS IoT Button. This is a Dash button that Amazon is giving out at events to promote their new Amazon Web Services (AWS) Internet of Things (IoT) service.

As part of their efforts to take over the world, the AWS IoT service allows you to create button-based services like ordering pizza or starting Netflix, but without running your own server. Instead, Amazon handles all of the hard stuff behind the scenes on their Lambda engine, which receives the small bit of JSON that the button sends and runs a Lambda function that orders pizza, kicks off Netflix, then starts World War III. Amazon provides sample actions for things like launching the missiles sending a text message over Twilio and writing to a database. Amazon isn’t selling these buttons: they only seem to be available as swag at events. Make a loud enough noise in the comments section and maybe they’ll allocate some for the Hackaday community.

Continue reading “Amazon Giving Out (Sort Of) Hackable Amazon Dash Button”

The Pizza Button

How often have you ever wanted a pizza but reaaaaaaally didn’t want to get off the couch to go order, or god forbid, actually go to a pizzeria to pick one up?  Well [Brody Berson] has the solution for you!  He re-purposed an Amazon Dash button to order himself Domino’s Pizza with the press of a button.

He was originally inspired by our recent post about hacking the Amazon Dash button to do whatever you want — and whatever he wanted was a pizza button. He admits he was inspired by the bachelor years gone by where this would have been really, really handy — apparently he even ordered McDonalds through Postmates once!

It’s pretty simple too — all he needed to do was a bit of coding. Someone had already made a specific Domino’s Pizza API, and thanks to the interest in the Dash button, he was able to find everything he needed to mash together a one-push-button-pizza-delivery-device. Continue reading “The Pizza Button”

Press Amazon Dash Button, Summon Uber

Modern life is complicated. When you want to call an Uber car to pick you up, you have to open the app, sign in and set your pickup location. [Geoffrey Tisserand] uses Uber to commute to his job in San Francisco every day, so he came up with a neat way to automate this process, by reprogramming an Amazon Dash button to call an Uber. All he has to do is to hit the button, and a few minutes later an Uber rolls up to his door.

To do this, he used the intercept method, where a Python script running on another computer notices the Amazon Dash button joining his home WiFi network and posts the request to Uber. Because Uber uses the OAuth authentication system, he was able to easily log into the system using Expressjs. And because he is always following the same route, he could also automate the posting of the pickup and dropoff locations, as they don’t change. It’s a neat hack that saves him time, but it doesn’t get around the issue of letting you know how long the car will take to arrive, or if Uber is in Surge Pricing. Perhaps that would work for version 2: a small button with an LCD screen and a warning light.