<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dash Button &#8211; Matthew Petroff</title>
	<atom:link href="https://mpetroff.net/tag/dash-button/feed/" rel="self" type="application/rss+xml" />
	<link>https://mpetroff.net</link>
	<description>mpetroff.net</description>
	<lastBuildDate>Sun, 21 May 2017 00:20:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>New Amazon Dash Button Teardown (JK29LP)</title>
		<link>https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/</link>
					<comments>https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#comments</comments>
		
		<dc:creator><![CDATA[Matthew Petroff]]></dc:creator>
		<pubDate>Wed, 13 Jul 2016 03:02:08 +0000</pubDate>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Dash Button]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[teardown]]></category>
		<guid isPermaLink="false">https://mpetroff.net/?p=2185</guid>

					<description><![CDATA[Amazon updated the Dash Button&#8217;s hardware to revision two earlier this year, so I decided it was time for a new teardown (here&#8217;s last year&#8217;s teardown). The new product number is JK29LP; the old product number is JK76PL. While the &#8230; <a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><span class="dropcap">A</span>mazon updated the Dash Button&#8217;s hardware to revision two earlier this year, so I decided it was time for a new teardown (<a href="/2015/05/amazon-dash-button-teardown/">here&#8217;s last year&#8217;s teardown</a>). The new product number is <code>JK29LP</code>; the old product number is <code>JK76PL</code>. While the form factor and case remained much the same, the internals changed substantially. The major highlights are a switch from Broadcom to Atmel chips, a switch from an Energizer lithium battery to a Duracell alkaline battery, and the addition of Bluetooth Low Energy.<a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash0-comparison.jpg" title="Comparison of New Dash Button (Top) to Old Dash Button (Bottom)" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash0-comparison-640x427.jpg" alt="Comparison of New Dash Button (Top) to Old Dash Button (Bottom)" title="Comparison of New Dash Button (Top) to Old Dash Button (Bottom)" width="640" height="427" class="aligncenter size-large wp-image-2188" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash0-comparison-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash0-comparison-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash0-comparison-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash0-comparison.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><span id="more-2185"></span></p>
<p>After unboxing the new Button, the first change<sup id="rf1-2185"><a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#fn1-2185" title=" Besides the new product number. " rel="footnote">1</a></sup> is visible, albeit minor&mdash;the design of the mounting adhesive on the back of the Button changed.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash1-front.jpg" title="Front of Button" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash1-front-640x427.jpg" alt="Front of Button" title="Front of Button" width="640" height="427" class="aligncenter size-large wp-image-2189" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash2-back.jpg" title="Back of Button" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash2-back-640x427.jpg" alt="Back of Button" title="Back of Button" width="640" height="427" class="aligncenter size-large wp-image-2190" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash2-back-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash2-back-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash2-back-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash2-back.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Removing the front label reveals another change, the removal of the three screws that were under the label. It turns out that they weren&#8217;t actually removed, just moved inside. The screws only hold the PCB to the case; they never held the case together. The new Button, like the old Button, needs to be pried open, which reveals the battery. The case is closed using ultrasonic welding.<sup id="rf2-2185"><a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#fn2-2185" title=" This is mentioned in &lt;a href=&quot;https://web.archive.org/web/20170521001945/https://fccid.io/pdf.php?id=2944080&quot;&gt;one&lt;/a&gt; of the &lt;a href=&quot;https://apps.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm?mode=Exhibits&#038;RequestTimeout=500&#038;calledFromFrame=N&#038;application_id=dxg92UFnj11r21%2BxCAQtiQ%3D%3D&#038;fcc_id=2AETK-1013&quot;&gt;FCC filings&lt;/a&gt; (by Butte L.L.C.). " rel="footnote">2</a></sup></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash3-disassembly.jpg" title="With Label Removed" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash3-disassembly-640x427.jpg" alt="With Label Removed" title="With Label Removed" width="640" height="427" class="aligncenter size-large wp-image-2191" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash3-disassembly-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash3-disassembly-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash3-disassembly-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash3-disassembly.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash4-disassembly.jpg" title="Partially Disassembled" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash4-disassembly-640x427.jpg" alt="Partially Disassembled" title="Partially Disassembled" width="640" height="427" class="aligncenter size-large wp-image-2192" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash4-disassembly-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash4-disassembly-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash4-disassembly-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash4-disassembly.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>The original Dash Button contained a lithium battery that was tab-welded in place and thus rather permanent. The new button includes an alkaline battery in a holder; it&#8217;s still not really replaceable as one has to pry open and damage the case to get at it, but the holder is an improvement. Removing the three Torx T5 screws, the ones that used to be under the front label, allows one to remove the plastic around the battery and remove the PCB from the case.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash5-disassembly.jpg" title="Disassembled" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash5-disassembly-640x427.jpg" alt="Disassembled" title="Disassembled" width="640" height="427" class="aligncenter size-large wp-image-2193" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash5-disassembly-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash5-disassembly-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash5-disassembly-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash5-disassembly.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash6-disassembly.jpg" title="Battery Removed" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash6-disassembly-640x427.jpg" alt="Battery Removed" title="Battery Removed" width="640" height="427" class="aligncenter size-large wp-image-2194" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash6-disassembly-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash6-disassembly-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash6-disassembly-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash6-disassembly.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>This now allows us to inspect the PCB, which has the obvious change of blue solder mask instead of green solder mask like the original Button.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash7-pcb-front.jpg" title="Front of PCB" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash7-pcb-front-640x258.jpg" alt="Front of PCB" title="Front of PCB" width="640" height="258" class="aligncenter size-large wp-image-2195" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash7-pcb-front-640x258.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash7-pcb-front-300x121.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash7-pcb-front-1280x516.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash7-pcb-front.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash8-pcb-back.jpg" title="Back of PCB" data-sbox="2185"><img loading="lazy" decoding="async" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash8-pcb-back-640x259.jpg" alt="Back of PCB" title="Back of PCB" width="640" height="259" class="aligncenter size-large wp-image-2196" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash8-pcb-back-640x259.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash8-pcb-back-300x122.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash8-pcb-back-1280x518.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash8-pcb-back.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Instead of Broadcom chips, the new Button features an <a href="http://www.atmel.com/Images/Atmel-11289-32-bit-Cortex-M4-Microcontroller-SAM-G55_Summary-Datasheet.pdf">Atmel ATSAMG55J19A-MU</a> ARM microcontroller, <code>U1</code>, and an <a href="http://www.atmel.com/Images/Atmel-42487-ATWINC1500B-MU_Datasheet.pdf">Atmel ATWINC1500B</a> wireless chip, <code>U19</code>. As a new addition, it also has a <a href="http://download.opendatasheets.com/pdfs/2014/11/11/22/53/36/106/cyp_/manual/procble.pdf">Cypress CYBL10563-68FNXI</a> Bluetooth Low Energy chip, <code>U22</code>. The flash memory, <code>U15</code>, has been moved to the back of the PCB and doubled in size to 32&thinsp;Mbit; it appears to be a Micron N25Q032 chip. The microphone was also swapped out, although I was unable to identify the new part. Finally, the microcontroller&#8217;s programming header is no longer populated, although it appears to be the same footprint, so it should be able to be populated with a Panasonic AXE510127 header. The new Button is likely easier to reprogram, since Atmel is much more forthcoming with documentation than Broadcom.</p>
<p>Since the new Button uses a lower capacity alkaline battery when compared to the original Button&#8217;s lithium battery, I analyzed the power usage of both Buttons. While in sleep mode, the new Button uses ~2.0&thinsp;μA, down from the original Button&#8217;s ~2.3&thinsp;μA. More interesting is the power usage when activated. The new Button uses slightly more power when on but uses less energy per button press, since it stays on for a much shorter period of time. The original Button shows the peculiar behavior of staying on for a long time after the LED turns off before going back into sleep mode,<sup id="rf3-2185"><a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#fn3-2185" title=" I didn&#8217;t notice this last year. " rel="footnote">3</a></sup> which accounts for the increased energy usage; it&#8217;s unclear to me whether this is due to the hardware design or due to the firmware. As I was having issues with my multimeter&#8217;s internal resistance causing a brown-out when the Button was pressed due to the current surge of the Button powering on, which would cause the Button to reset,<sup id="rf4-2185"><a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#fn4-2185" title=" I mitigated the problem by placing a 10mF capacitor in parallel with the Dash Button. " rel="footnote">4</a></sup> there&#8217;s the chance the extended &#8220;on&#8221; time was due to my measurement setup, although I think this is unlikely. An example power usage graph for each Button is below. The triangle wave signal in the graphs is from the Button&#8217;s LED pulsating while the transaction is happening. There are mostly likely brief power usage spikes during RF transmission that aren&#8217;t visible in the graphs.</p>
<p><iframe style="border-style:none" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/new-button-power-profile.html" width=100% height="400px"></iframe></p>
<p><iframe style="border-style:none" src="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/old-button-power-profile.html" width=100% height="400px"></iframe></p>
<p>Using a sample size of five for each Button, I measured the new Dash Button&#8217;s energy usage to be 4.3±2.2&thinsp;J per activation and the original Button&#8217;s energy usage to be 16.4±0.1&thinsp;J per activation. According to the batteries&#8217; corresponding datasheets, the new Button&#8217;s <a href="http://professional.duracell.com/downloads/datasheets/product/Ultra%20Power/Ultra-Power_AAA_MX2400.pdf">alkaline battery</a> contains ~2&thinsp;kJ, while the original Button&#8217;s <a href="http://data.energizer.com/PDFs/l92.pdf">lithium battery</a> contains ~4.3&thinsp;kJ. This corresponds to ~500 presses for the new Button and ~250 presses for the old Button. It turns out that the new Button should last longer despite having a cheaper, lower capacity battery.</p>
<p>Moving on to the software and firmware, Bluetooth is now the primary means of configuring the Button; when placed in configuration mode, the Button is discoverable as a Bluetooth Low Energy device with name <code>DashButton</code> and a random MAC. The previous configuration mechanisms, Wi-Fi for Android and ultrasound for iOS, serve as fallbacks. The device&#8217;s <a href="https://cdn0.mpetroff.net/wp-content/uploads/2016/07/dash-page.png" data-sbox="2185">web page</a>, which can be accessed by connecting to the <code>Amazon ConfigureMe</code> network has changed. It no longer contains a form for entering network configuration information and instead lists the Button&#8217;s serial number, MAC address, and firmware version (it now uses CSS styling, too). Sniffing the setup sequence revealed some information on how the setup protocol works. The Android app first issues a <code>GET</code> request for <code>http://192.168.0.1/</code>, which is presumably to determine the model number and firmware version. It then issues the same request but with the <code>Content-Type: application/json</code> header set; the Button now returns a JSON file than contains the Button&#8217;s serial number, MAC address, and a list of visible Wi-Fi networks and their signal levels. This is an improvement as the app now shows the networks the Button can see instead of those the mobile device can see. The app then issues a <code>GET</code> request along the lines of <code>http://192.168.0.1/token?value=o%26vD</code>, where the four-byte value changes every time; I don&#8217;t know where it comes from. Next, another <code>GET</code> request is made for <code>http://192.168.0.1/</code>. Finally, the Button is configured using a <code>GET</code> request for <code>http://192.168.0.1/?amzn_ssid=SPECIFIED_SSID&amzn_pw=SPECIFIED_PASSWORD</code>, where <code>SPECIFIED_SSID</code> and <code>SPECIFIED_PASSWORD</code> correspond to the SSID and password entered into the app. Unfortunately, the new Button can&#8217;t easily be set up using a laptop like the old button could.</p>
<p>Overall, the new Dash Button appears to be a revision designed to reduce production cost, centered around a reduction in energy usage, which allows for use of a considerably cheaper, alkaline battery.</p>
<hr class="footnotes"><ol class="footnotes" style="list-style-type:decimal"><li id="fn1-2185"><p > Besides the new product number. &nbsp;<a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#rf1-2185" class="backlink" title="Return to footnote 1.">&#8617;</a></p></li><li id="fn2-2185"><p > This is mentioned in <a href="https://web.archive.org/web/20170521001945/https://fccid.io/pdf.php?id=2944080">one</a> of the <a href="https://apps.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm?mode=Exhibits&#038;RequestTimeout=500&#038;calledFromFrame=N&#038;application_id=dxg92UFnj11r21%2BxCAQtiQ%3D%3D&#038;fcc_id=2AETK-1013">FCC filings</a> (by Butte L.L.C.). &nbsp;<a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#rf2-2185" class="backlink" title="Return to footnote 2.">&#8617;</a></p></li><li id="fn3-2185"><p > I didn&#8217;t notice this last year. &nbsp;<a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#rf3-2185" class="backlink" title="Return to footnote 3.">&#8617;</a></p></li><li id="fn4-2185"><p > I mitigated the problem by placing a 10mF capacitor in parallel with the Dash Button. &nbsp;<a href="https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/#rf4-2185" class="backlink" title="Return to footnote 4.">&#8617;</a></p></li></ol>]]></content:encoded>
					
					<wfw:commentRss>https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/feed/</wfw:commentRss>
			<slash:comments>68</slash:comments>
		
		
			</item>
		<item>
		<title>Amazon Dash Button Teardown</title>
		<link>https://mpetroff.net/2015/05/amazon-dash-button-teardown/</link>
					<comments>https://mpetroff.net/2015/05/amazon-dash-button-teardown/#comments</comments>
		
		<dc:creator><![CDATA[Matthew Petroff]]></dc:creator>
		<pubDate>Mon, 25 May 2015 01:24:20 +0000</pubDate>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Dash Button]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[teardown]]></category>
		<guid isPermaLink="false">http://mpetroff.net/?p=1827</guid>

					<description><![CDATA[The Amazon Dash Button it an Internet connected button that allows ordering a single product from Amazon. Although it is not something I would ever use, I thought its guts might be interesting and bought two for a grand total &#8230; <a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><span class="dropcap">T</span>he <a href="https://www.amazon.com/oc/dash-button">Amazon Dash Button</a> it an Internet connected button that allows ordering a single product from Amazon. Although it is not something I would ever use, I thought its guts might be interesting and bought two for a grand total of $2.10 with tax and free shipping. Others have already posted about <a href="http://www.bitsofcents.com/post/118749233621/disassembling-the-dash">disassembling</a> <a href="http://www.amateurradio.com/inside-the-802-11bgn-amazon-dash-button/">it</a>, so I&#8217;ll focus mostly on the electronics, since the aforementioned blog posts are missing high-resolution images of the circuit board and don&#8217;t quite get some details correct.</p>
<p>The first victim is the Cottonelle Dash Button. The outside of the Dash Button consists of a button, a microphone hole, a loop for tying to, and adhesive on the back. The different brands of Dash Buttons have the same model number, <code>JK76PL</code>, differing only in the label.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash00-box.jpg" title="Box" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1829 size-large" title="Box" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash00-box-640x427.jpg" alt="Box" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash00-box-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash00-box-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash00-box-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash00-box.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><span id="more-1827"></span></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash01-front.jpg" title="Front of Button" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1830 size-large" title="Front of Button" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash01-front-640x427.jpg" alt="Front of Button" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash01-front-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash01-front-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash01-front-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash01-front.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash02-back.jpg" title="Back of Button" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1831 size-large" title="Back of Button" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash02-back-640x426.jpg" alt="Back of Button" width="640" height="426" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash02-back-640x426.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash02-back-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash02-back-1280x852.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash02-back.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Peeling back the label reveals three Torx T5 screws.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash03-disassembly.jpg" title="Partially Disassembled" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1832 size-large" title="Partially Disassembled" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash03-disassembly-640x427.jpg" alt="Partially Disassembled" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash03-disassembly-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash03-disassembly-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash03-disassembly-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash03-disassembly.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>However, the two halves of the case are also glued together and must be pried apart once the screws are removed.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash04-disassembly.jpg" title="Completely Disassembled" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1833 size-large" title="Completely Disassembled" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash04-disassembly-640x427.jpg" alt="Completely Disassembled" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash04-disassembly-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash04-disassembly-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash04-disassembly-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash04-disassembly.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Opening the case reveals a small printed circuit board with an Energizer Ultimate Lithium AAA battery. Although the cost of the Dash Button is less than that of the battery alone, tabs are spot welded to the battery making reuse difficult; Amazon also limits customers to one of each brand of Dash Button.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash05-battery.jpg" title="Battery" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1834 size-large" title="Battery" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash05-battery-640x427.jpg" alt="Battery" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash05-battery-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash05-battery-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash05-battery-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash05-battery.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash06-tab.jpg" title="Battery Tab (+)" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1835 size-large" title="Battery Tab (+)" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash06-tab-640x427.jpg" alt="Battery Tab (+)" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash06-tab-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash06-tab-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash06-tab-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash06-tab.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash07-tab.jpg" title="Battery Tab (-)" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1836 size-large" title="Battery Tab (-)" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash07-tab-640x427.jpg" alt="Battery Tab (-)" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash07-tab-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash07-tab-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash07-tab-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash07-tab.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash08-pcb.jpg" title="PCB" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1837 size-large" title="PCB" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash08-pcb-640x427.jpg" alt="PCB" width="640" height="427" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash08-pcb-640x427.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash08-pcb-300x200.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash08-pcb-1280x853.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash08-pcb.jpg 1500w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Next are high-resolution images of the front and back of the PCB, both with components still on and with them removed. Here are full resolution copies: <a href="https://www.flickr.com/photos/petroffm/17867489970/sizes/o/">front with components</a>, <a href="https://www.flickr.com/photos/petroffm/18055910591/sizes/o/">front without components</a>, <a href="https://www.flickr.com/photos/petroffm/18056246061/sizes/o/">back with components</a>, and <a href="https://www.flickr.com/photos/petroffm/17868974319/sizes/o/">back without components</a>.</p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash09-front.jpg" title="Front of PCB (with Components)" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1838 size-large" title="Front of PCB (with Components)" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash09-front-640x265.jpg" alt="Front of PCB (with Components)" width="640" height="265" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash09-front-640x265.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash09-front-300x124.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash09-front-1280x530.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash09-front.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash10-front-pcb.jpg" title="Front of PCB (without Components)" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1839 size-large" title="Front of PCB (without Components)" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash10-front-pcb-640x262.jpg" alt="Front of PCB (without Components)" width="640" height="262" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash10-front-pcb-640x262.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash10-front-pcb-300x123.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash10-front-pcb-1280x523.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash10-front-pcb.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash11-back.jpg" title="Back of PCB (with Components)" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1840 size-large" title="Back of PCB (with Components)" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash11-back-640x257.jpg" alt="Back of PCB (with Components)" width="640" height="257" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash11-back-640x257.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash11-back-300x121.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash11-back-1280x514.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash11-back.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash12-back-pcb.jpg" title="Back of PCB (without Components)" data-sbox="1827"><img loading="lazy" decoding="async" class="aligncenter wp-image-1841 size-large" title="Back of PCB (without Components)" src="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash12-back-pcb-640x264.jpg" alt="Back of PCB (without Components)" width="640" height="264" srcset="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash12-back-pcb-640x264.jpg 640w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash12-back-pcb-300x124.jpg 300w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash12-back-pcb-1280x528.jpg 1280w, https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash12-back-pcb.jpg 1800w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>The circuit board is at least three layers and contains blind vias. The design seems based on the <a title="Broadcom BCM943362WCD4 WICED Module" href="https://www.broadcom.com/images/products/wiced/wiced_BCM943362WCD4.png" data-sbox="1827">Broadcom BCM943362WCD4 WICED module</a> reference design, with a Broadcom BCM43362 Wi-Fi module, <code>U9</code>, and an ST STM32F205 microcontroller in a WLCSP (instead of a LQFP), <code>U5</code>. This is similar to, but not the same as, the chip that is used in the <a href="http://blog.particle.io/2014/11/12/introducing-the-19-dollar-photon/">Particle Photon</a>. The Photon uses a USI chip that combines the Wi-Fi module and microcontroller into the same package but is otherwise the same. Other components on the Dash Button include an InvenSense INMP441 microphone, <code>MP1</code>; a Micron M25P16 16Mbit serial Flash memory module in a UFDFPN8 package, <code>U6</code>; an RGB LED, <code>DS1</code>; and a 26 MHz crystal, <code>Y1</code>. I <a href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/chip-markings.txt">transcribed the markings</a> from the other integrated circuits but was not able to identify them.</p>
<p>Also included is a 0.40mm pitch 5&#215;2 pin board-to-board connector (<del>Molex 503548-1020</del> Panasonic AXE510127<sup id="rf1-1827"><a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/#fn1-1827" title="The mating connector is a Panasonic AXE610124." rel="footnote">1</a></sup> ) and a number of test points. This header contains a JTAG interface to the microcontroller as well as what I think is a serial interface to the microcontroller. The pinout, labeled in the same order as the photo above, is:</p>
<pre>GND     NRST
PC6     PA14
PC7     PA13
PB3     PA15
PB4     3.3V
</pre>
<p>which corresponds to</p>
<pre>GND             NRST
USART6_TX       JTCK-SWCLK
USART6_RX       JTMS-SWDIO
JTDO/TRACESWO   JTDI
NJTRST          3.3V
</pre>
<p>as likely pin functions. Except for <code>NRST</code>, these pins are also accessible from test points, with <code>TMF25-&gt;USART6_TX</code>, <code>TMF26-&gt;USART6_RX</code>, <code>TMF23-&gt;JD0/TRACESWO</code>, and <code>TMF24-&gt;NJTRST</code>. The column to the left of the previous test points, from top to bottom, corresponds to <code>JTCK</code>, <code>JTMS</code>, <code>JTDI</code>. I have not yet tried to connect to either the JTAG or the USART. The other test points I was able to identify were <code>TX7-&gt;PB11</code>, <code>TX3-&gt;PA2</code>, <code>TX9-&gt;PC0</code>, and <code>TX8-&gt;PB13</code>. All identifications are based off of a combination of visual inspection and continuity testing of the PCB once all components were removed via hot air.</p>
<p>The Dash Button operates at 3.3&thinsp;V boosted from the battery&#8217;s nominal 1.5&thinsp;V, drawing 200–300&thinsp;mA from the battery when on and 2.3&thinsp;μA when in sleep. This means the ~1200&thinsp;mAh battery should be able to power the device for at least four hours while on and decades while in sleep. Since the button is only on for a few seconds when activated, it can probably be used close to 1000 times before the battery dies. Thus, the button should become obsolete long before the battery is depleted.</p>
<p>Moving on to software, the Dash Button is configured using the Amazon mobile app using ultrasound<sup id="rf2-1827"><a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/#fn2-1827" title="It&#8217;s only sort of ultrasound; I can still hear it." rel="footnote">2</a></sup> to configure the button in the case of iOS and Wi-Fi in the case of Android. I have not reverse engineered the audio protocol, but the data seems to be transmitted using audio <del>frequency-shift</del><ins>amplitude-shift</ins> keying around 18–19&thinsp;kHz. The app transmits this message 20 times before giving up. Although not mentioned in the documentation, the Dash Button creates a Wi-Fi hotspot when placed in configuration mode, <code>Amazon ConfigureMe</code>, which is used by the Android version of the Amazon Shopping app. Once connected to this hotspot, a <a title="Configuration Web Page" href="https://cdn0.mpetroff.net/wp-content/uploads/2015/05/dash13-configureme.png" data-sbox="1827">web page</a> is accessible at <code>192.168.0.1</code> via HTTP, which allows for configuring the Button&#8217;s Wi-Fi connection settings. However, the Amazon App is still required to finish setting up the Button. When connecting via HTTPS, a certificate signed by the <code>Amazon.com Internal Root Certificate Authority</code> and issued to <code>Amazon.com Infosec CA G2</code> is presented, which expires 2016-06-22. However, I was not able to successfully connect even after bypassing the certificate error, so it might be using a different protocol over TLS. The Button&#8217;s firmware version, <code>v0.9.119</code>, can be gleaned from the source of this page. By monitoring the Button&#8217;s network traffic, I was able to determine that the Button communicates with <code>parker-gateway-na.amazon.com</code> via TLS.<sup id="rf3-1827"><a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/#fn3-1827" title="It also does at least basic checking on the TLS certificate. When I hijacked the DNS lookup and pointed it at the server hosting this blog, it never progressed past the TLS handshake. I didn&#8217;t try anything more sophisticated." rel="footnote">3</a></sup> Additionally, it always uses <code>8.8.8.8</code> for DNS. Due to the use of ultrasound instead of Wi-Fi in the iOS version, I assume iOS doesn&#8217;t allow Amazon access to the Wi-Fi settings they want. The MAC address vendor prefix is <code>74-75-48</code> for my Tide Button when triggered; it is <code>6C-0B-84</code> when in configuration mode.</p>
<p>I still have a fully intact Tide Dash Button. Now that I know the pinout, I might disassemble it as well and try to connect to its microcontroller via JTAG and serial.</p>
<p>Edit (2015-08-01): An eagle-eyed reader pointed out that <code>U1</code> is probably a TI TPS61201 boost converter; the footprint, package markings, and pinout seem to fit.</p>
<p>Edit (2015-08-05): As mentioned in the comments, the Button uses a different MAC address, with a different vendor prefix, when in configuration mode versus when pressed; I updated the post to reflect this. Additionally, Buttons with different branding appear to have different MAC address vendor prefixes.</p>
<p>Edit (2015-08-06): I just tried configuring the Button using Android instead of iOS as I had originally done and discovered that Amazon&#8217;s Android app configures the Button using Wi-Fi instead of ultrasound like the iOS version does. I updated the post to reflect this.</p>
<p>Edit (2015-08-10): Ted Benson wrote an <a href="https://medium.com/@edwardbenson/how-i-hacked-amazon-s-5-wifi-button-to-track-baby-data-794214b0bdd8">interesting article on how to repurpose the Button by watching for ARP probes</a>.</p>
<p>Edit (2015-08-12): Adafruit now has a <a href="https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/overview">guide for reprogramming the Button</a>. There&#8217;s also an <a href="https://github.com/dekuNukem/Amazon_Dash_Button">interesting project on GitHub</a> that has a firmware dump and other firmware and reprogramming information.</p>
<p>Edit (2016-01-01): Jay Greco did some <a href="http://www.blog.jay-greco.com/wp/?p=116">fascinating work reverse engineering the iOS audio configuration protocol</a>. It turns out Amazon is using amplitude-shift keying, not frequency-shift keying; I updated the post to reflect this.</p>
<p>Edit (2016-03-07): Paul Bilke pointed out in the comments that my guess as to the part number of the board-to-board connector is incorrect; I struck this out in the post.</p>
<p>Edit (2016-06-02): Paul Bilke noted in the comments that Nathaniel Quillin <a href="http://key-basher.blogspot.com/2015/05/amazon-dash-button-sourcing-connector.html">figured out the part number of the board-to-board connector</a>; I updated the post to contain the correct part number.</p>
<p>Edit (2016-07-12): I just finished a <a href="/2016/07/new-amazon-dash-button-teardown-jk29lp/">teardown of the new version of the Dash Button</a>.</p>
<hr class="footnotes"><ol class="footnotes" style="list-style-type:decimal"><li id="fn1-1827"><p >The mating connector is a Panasonic AXE610124.&nbsp;<a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/#rf1-1827" class="backlink" title="Return to footnote 1.">&#8617;</a></p></li><li id="fn2-1827"><p >It&#8217;s only sort of ultrasound; I can still hear it.&nbsp;<a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/#rf2-1827" class="backlink" title="Return to footnote 2.">&#8617;</a></p></li><li id="fn3-1827"><p >It also does at least basic checking on the TLS certificate. When I hijacked the DNS lookup and pointed it at the server hosting this blog, it never progressed past the TLS handshake. I didn&#8217;t try anything more sophisticated.&nbsp;<a href="https://mpetroff.net/2015/05/amazon-dash-button-teardown/#rf3-1827" class="backlink" title="Return to footnote 3.">&#8617;</a></p></li></ol>]]></content:encoded>
					
					<wfw:commentRss>https://mpetroff.net/2015/05/amazon-dash-button-teardown/feed/</wfw:commentRss>
			<slash:comments>53</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Content Delivery Network via Amazon Web Services: CloudFront: cdn0.mpetroff.net
Minified using Disk

Served from: mpetroff.net @ 2026-03-31 01:28:11 by W3 Total Cache
-->