Skip to content

tperale/cheddar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cheddar

Cheddar is a connected button based on the ESP8266.

What is this ?

Amazon created not a long time ago a connected button (called Dash button) that allows to make an order on Amazon just by pressing a single button facilitating the process of buying of household goods. It didn’t take a long time before hackers started appropriating the object and use it for their own purposes:

All that had to be done was to buy one, get the button ID through the Amazon app and encode that ID to whatever was listening to the incoming query. Amazon gave you a $5 connected piece of hardware, battery and case included that allowed you to do virtually anything with it.

As amazing as this might sound, the problems of those buttons are:

  • You need an amazon premium account to purchase them and get the button ID.
  • You can’t directly program them, which makes complex queries more difficult to run and embedding sensors impossible.
  • You need a server running somewhere locally to listen to the incoming queries.
  • You can’t wake it up from external events other than by pressing the button.

What to do ?

Why not create our own open source “Amazon Dash button”. It would also run on a battery, can be programmed and is Internet-connected. The ESP8266 microcontroller is used in a wide variety of projects and many frameworks are developed around + it’s also really cheap !

Powering an ESP8266 dev board (WEMOS D1, NodeMCU DevKit, Sparkfun ESP8266 Thing…) with a battery and waking it up when the button is pressed is quite a trivial problem and not fun. That’s why I chose to create a PCB to host the ESP8266 module. Although it has some requirements:

  • Be able to program it and debug it from USB
  • Can run on batteries
  • Batteries should be rechargeable using the on board USB
  • It should be power efficient

BOM

Semiconductors

RefQtyWhatValueFootprint
Q11P-MOSFETDMG3415USOT23-3
U11USB-Serial converterCH340GSO-16-N
U21Battery chargerMCP73831SOT23-5
U31uC + wireless moduleESP-12EESP-12E_SMD
U41Voltage regulatorHT7333SOT89
D11Battery 100% LED1206
D21Schottky diode1PS79SB31SOD-523

Capacitors

RefQtyValueFootprint
C1, C92220uF1206
C2, C3222pF1206
C4, C82100nF1206
C5110nF1206
C6122nF1206
C711uF1206

Resistors

RefQtyValueFootprint
R11470R1206
R3, R5, R6, R7, R8510kR1206
R91100kR1206

Crystals

RefQtyValueFootprint
Y1112MhzCrystal_SMD_3225-4pin_3.2x2.5mm

Connectors

RefQtyFootprint
J11USB_Micro-B_Molex
J2, J32Pin_Header_Straight_1x08_Pitch2.54mm
J41Pin_Header_Straight_1x02_Pitch2.54mm
J51JST_SH_SM02B-SRSS-TB_02x1.00mm_Angled

Switch

RefQtyFootprint
SW11SW_DIP_x1_W5.08mm

References

About

📡 A ESP8266 connected button like the Amazon Dash but programmable

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published