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.

Amazon is still keeping the hardware tightly closed, designed only to use their own Lambda cloud service. This is no change from the Dash buttons, but you’ll remember they were hacked by detecting when the button joins the network. That was good enough to do things like monitor baby bowel movements.

Thanks to [Harry Eakins] for the tip!

49 thoughts on “Amazon Giving Out (Sort Of) Hackable Amazon Dash Button

  1. Huh, neat. Can’t say I’m surprised they’re keeping it under their hat, but it’s good that they’re doing some outreach. I hope they sell those buttons eventually instead of the roundabout hacks we’re seeing with them. It’s a cool idea.

        1. That depends… Are you multithreaded?

          How about occasionally calling this from your main loop:
          for(int i=0; i<Swag.Count();i++){
          if(Swag.isAvailable()){
          Self.WantSwag();
          }
          else{
          Self.Disappointed();
          }
          }

          At least this way, you wont get stuck in the permanent while loop of wanting something that Richard may have forgotten in his desk.

          1. It’s a lot cleaner in python:

            from __future__ import sentience
            for swag in swagbag:
            if swag.available():
            self.wishlist.append(swag)
            else:
            self.emotions[‘disapointment’] = True

          2. @undersampled, Nice!

            Also mine should be updated to reflect several issues… No use of indexer, and no break after wanting swag, calling property like function… Very incorrect and inefficient.

            for(int i=0; i<Swag.Count;i++){
            if(Swag[i].isAvailable()){
            Self.WantSwag();
            break;
            }
            elseif(i==Swag.Count){
            Self.Disappointed();
            }
            }

          1. There is a like button. Its on the bottom right corner of the comment, labeled ‘Report comment’. Clicking that button ensures that a HaD representative will read the comment, that way he can enjoy it too :)

  2. There’s an e-mail drop box on the page. I just wrote to them for the benefit of my users group for Linux. Odds are I’ll probably find out that they are available at cost rather then simply having them send me a box of the things for their shipping them to me that their costs….

      1. when I go to amazon to buy things, I’m doing just that.

        that does not mean that any iot event (async) coming from my LAN needs to touch anything amazon.

        this blurring is also what I object to. I’m fine buying from them, but why assume I’m fine with telling them anything other than what I want when I’m there? if I’m not on their site, what business is it of theirs what happens in my life? ;)

          1. There is a safety built in for that. You can have the item just go in to your cart until you submit the order.
            I thought the buttons where just a novelty and I just wanted the get some to hack. So I pick two up $4.99 a piece but you get $4.99 off of whatever you order. Not bad if you have a Amazon Prime Membership “Free Shipping”. I figure get two buttons for what everyone needs Coffee and TP. We drink Maxwell House and we use Cottonelle perfect.

            Just received the Dash Buttons the other day. The Maxwell House is for K Cups only we use the “Old School” Mr. Coffee 10 Cup Drip. So we placed the order for the small pack of K Cups and gave them away. I will hack that Dash Button

            But the Cottonelle Dash Button is Great. We mounted it in our guest rest room with the extra rolls of TP. Now we have a note to Press to Order. I need to Hack this to alert me if we run out during a party.

    1. I don’t mind cloud for some things, but the big exception being anything I want to use when the cloud is down..
      So that means anything ‘smart’ in my home, any data such as photos, videos, music etc…

    1. You got it, they are nicely packed. Ready to go WiFi connected button with battery and led, which you have to add on the esp, along with the software for managing everything and keep the device low-battery. All for $5.

      1. ESP family is lowering prices about 20cent at month. Give some time and we will see some ESP based board with battery management for that price:)
        As logic is dead simple; press the reset button, the chip connects to host wifi, send some data, maybe wait for a response and blink a light, go to deep sleep(turn off).

    2. I don’t get it either. Why use a button that takes time to reconnect to wifi in order to do one simple action ? I don’t see any case use for me but I guess it is different for other people. Let’s say you want to order a pizza with it : you go in your drawer, trying to find where the heck you put that button, press it, wait and get your pizza around 15 minutes after. Ok. What if you want to have another taste of pizza (let’s say thuna pizza for example) ? You have to take time to reprogram it ? Would prefer to use an app on my phone as almost everybody got a smartphone (and for dumbphones, just call the pizza delivery).

      What the hell do you need to order from amazon so much time that you need a button in your pocket to order it every day ? No sense to me.

  3. The dash may be a cheaper alternative that the $20 photon, and with a bit more hw included, see https://store.particle.io, same wifi module, and powerfull STM32 CPU. This guide: https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/overview reveals the JTAG connections etc., so from here you should be good to setup the offline tool chain for the photon environment, or alternatively the Wiced IDE, and connect with an openocd ARM dongle

  4. I love the fact that there are enough people monkeying with IOT that companies notice and do stuff like this. I saw that the buttons have different states for single, multiple and long presses… my internal boy scout is interested and I wonder if I could get the kids into it…

  5. as just an iot button, I’m not sure I want it.

    BUT, add a cable stripper to it and maybe I’ll take one ;)

    (anyone else think these look like RG style cable strippers, at least from some angles?)

  6. Wouldn’t this type of devices be subject to replay attacks? Also, how did Amazon deal with accidental orders/double presses, etc.?

    I want one, if only to find answers to these two questions.

    SWAG me!

      1. Well, a butt-dialed 911 call counts as an ems call… Does a butt-dialed Amazon pizza button create a contractual obligation to purchase the pizza? Is there a two step confirmation, like an email, or something?

  7. “Amazon is still keeping the hardware tightly closed, designed only to use their own Lambda cloud service.”

    That’s a show stopper for me, unless someone finds a way to hack the device.

    1. Just had the same in mind.
      A ESP8266-12e would cost you about 2 USD (aliexpress). With a button, a housing and a battery you could archiev the same but without the need of running an additional server! The ESP has a deep-standby-mode. With this you could run it for a long time on a single battery.

      1. No need to run additional server. Server was used to listen to ARP probes, which the router already does.So, we can use router’s capabilities to detect ARP probes. I wrote a post describing this. Check out the site – desasha DOT com

  8. I just imagined a stock photo of an amazon dash button for toilet paper, beside the toilet, and there was poo on the button. now I need an amazon dash button for lysol wipes, for my brain.

  9. What about hacking it into some sort of emergency alert device? I wouldn’t necessarily stake my life on it but I have 5 relatively mobile older relatives and it would be nice if they could send out a call for help if they fell or they had some other sort of emergency around the house and couldn’t get to a phone. It could send a text like “Help! I’ve fallen and can’t get up.” At the very least I could try a call, drive there or call a neighbor to check on them.

Leave a Reply

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