TL;DR; Create a custom Arduino-based remote button, using RF technology. It's like a Dash button that you can use from up to 1km away!
The ProjectHave you ever wanted to push a button an just have it do something, but somewhere else? This project gives makers a low-cost solution to RF remote-control applications, using Amazon DRS as an example of what benefits RF can have over technologies such as WiFi and Bluetooth.
The project is a custom PCB for hackers who want to utilize RF technology without the high overhead of WiFi components and programming. It uses an ATMega328P (the same MCU as the one on Arduino Pro Mini), so it can be easily recreated on breadboards, without having to fabricate real PCBs. It also uses a cheap 915MHz transciever, which can be found on the components page.
The completed project is a standalone board, that can be programmed directly from the Arduino IDE over USB (no additional components!), has a dedicated RF Transciever, user LED, LiPo battery & charger, and .1" pins for powering and communicating with external I2C sensors/devices. If all code is used, it is also a good starting point for anyone who wants to experiment with Amazon's DRS.
Skip to "The Implementation" section for instructions, if you are not interested in how this fits in to the Amazon DRS.
The PitchNote: This is NOT a pitch for a product! This is a demonstration of how different technology choices can improve an existing product and how makers can leverage those same technologies in their designs.
The motivation behind this project is to "create something great that helps advance the DRS vision of automatic or low-friction consumable replenishment", which this project accomplishes by solving many problems that DRS users may have today.
The Amazon Dash button is great
The device and the service around it has created a new system for ensuring that an individual's essential items are just one click away. The idea itself is genius, because users now have a much lower overhead for obtaining goods, with the only cost being having to use the Amazon ecosystem; I see that as a win-win!
There are a few problems, however
Although the Dash button is a well-engineered product, it still has some limitations:
- Range: Restricted to about 100ft away from an access point
- Complex setup: Connecting via Bluetooth, setting up Wifi, configuring products, etc.
- Cost: no, $5 is not expensive, but the components on the Dash PCB are!
- Battery life: Wifi requires a lot of battery, especially when the signal isn't strong
- Product change: even if a user owns a product she wants to reorder, she still has to go to the App and find the product
- DRS ecosystem: if a product wants to be replenish-able, it would need to have WiFi on-board, or have a dedicated dash button
The core scenarios
Now let's consider the two main use cases of the Dash Replenishment Service, and see if you can identify some of the pain-points from above:
1. User uses the Dash Button to order a new product
User has a Swiffer for the garage. The user wants to use the Dash button to order more wipe replacements. In order to do so, the user has to open the app, find the product, and set it up. The user then takes the Dash button to the garage, and notices that the orders aren't getting placed. Unfortunately, the WiFi in the garage can be spotty at times. The user takes the button inside -- closer to WiFi -- orders, and then goes back to the garage to finish cleaning.
2. Smart product replenishes itself (or user invokes order via product interface)
User has a Brita filter that can order new replacement filters when the time comes. Now, for something as simple as a filter, a user needs to read instructions, configure WiFi on the filter, and log into the Amazon app to set up ordering. On top of that, Brita needed to use engineering resources to create the WiFi module, and ensure that it works from within the confines of the fridge.
The proposed solution (outlined below) aleviates all of the issues presented above, and others not mentioned.
The proposed solution is a change in technology and paradigm
Introducing the Dash Hub:
You may notice that this is an Echo Dot - that is by design! What exactly is the Dash hub? The Dash Hub is a headless (no screen) device that a user can put somewhere in their home for pairing products and Dash buttons, and processing orders from DRS enabled devices. The Dash Hub can be any device that has the following capabilities:
- Network connection to DRS
- NFC (Near-Field Communication)
- RF Tx/Rx (Unlicensed band, like 434MHz)
This hub can be a new product that comes with the first Dash button, or the technology can be incorporated into something like the Echo. Now, rather than using WiFi, all DRS-enabled devices can use the Dash Hub to communicate with DRS through simple RF communication.
The Dash button will also require a few changes:
- Remove the expensive components (WiFi module, Bluetooth Module)
- Add a NFC tag/sticker
- Add RF Transceiver (much cheaper than WiFi/BT)
Lastly, products that want to be paired easily via Dash can add an NFC sticker to their packaging (adding only fractions of $.01 to their cost)
Note 1: the Echo Dot does not have NFC or RF capabilities today, but they are cheap and fairly easy to add
Note 2: the Echo Dot will be used in graphics as the "Dash Hub" because it is a simple, headless device (and so I don't have to draw my own :))
But how does this solve the problems?
Range: the range of sub-GHz RF transcievers is much greater than that of 2.4GHz. While WiFi range is 100ft, 434MHz range can be as high as 1Km! This solves the problem of the Dash not working in the garage. If WiFi is down, the Dash Hub can also store pending orders and send them when WiFi is working.
Cost: below is an image of the Dash v2 PCB (see teardown here: https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/ )
The expensive components and wholesale prices are as follows:
Atmel SAM G55 - $3.5 Atmel ATWINC1500B - $3 (estimate) Cypress CYBL10X6X - $3.8 IC Total: $10.30
The proposed Dash RF would have:
HopeRF RFM69HCW - $0.70 Atmel ATMega328P - $1.80 IC Total: $2.50
That's a savings of over 75%!
Complex setup: with RFID, users can now simply tap-to-pair! No more going into apps, or setting up products. If a user buys a Dash button, she can tap it on the Dash Hub, then press the button, and now the DRS knows that she is the owner of that Dash button. (Amazon can also know this by scanning the button before shipping, and associating it with the account, thus removing this whole step!)
Product change: this uses the same methodology as above: simply tap the product NFC tag to the Dash Hub, then tap the Dash button that should be associated, and now that Dash button orders the most recently scanned product.
DRS Ecosystem: this improvement may be the most crucial aspect. Product manufacturers that want to create DRS enabled devices no longer have to invest in creating a WiFi enabled device. They can incorporate a RFID tag and a simple RF transceiver into their product (think garage door opener), and let DRS handle the rest. This would allow for more products to join the ecosystem and grow DRS as a whole.
The ImplementationThe finished project consists of the following components:
- Dash RF: This will act as the Dash button that can transmit and receive sub-GHz RF signals instead of WiFi. It has an ATMega328p, so it's essentially a DIY Arduino Pro Mini, with a built-in programmer and RF transceiver. It can be used as a Dash button (if set up to do so), or it can be used for any other RF purposes. It will have an RFID tag on it so that it can act as the Dash RF as explained in the pitch.
- Raspberry Pi: This will act as the Dash Hub. It will be able to receive RF signals
Comments