<?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>Brett&#039;s Build Log &#187; wootofflights</title>
	<atom:link href="http://brettinman.com/tag/wootofflights/feed/" rel="self" type="application/rss+xml" />
	<link>http://brettinman.com</link>
	<description>Hardware tinkering with the occasional bit of software</description>
	<lastBuildDate>Thu, 11 Mar 2010 09:24:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>USB Power Shield v2.0</title>
		<link>http://brettinman.com/2009/08/07/usb-power-shield-v2-0/</link>
		<comments>http://brettinman.com/2009/08/07/usb-power-shield-v2-0/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 06:05:09 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[USB Power Shield]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[usbpowershield]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=121</guid>
		<description><![CDATA[The new USB Power Shield boards (rev. 2.0) have just arrived from BatchPCB! As always, they were quick, great quality, and they even sent me a few extra! Awesome service. Version 2.0 has some major revisions since v1.0, including: Smaller Size &#8211; cost is determined by size, so I brought it down to the bare [...]]]></description>
			<content:encoded><![CDATA[<p>The new USB Power Shield boards (rev. 2.0) have just arrived from <a href="http://www.batchpcb.com/">BatchPCB</a>! As always, they were quick, great quality, and they even sent me a few extra! Awesome service.<br />
<div id="attachment_147" class="wp-caption aligncenter" style="width: 297px"><a href="http://brettinman.com/blog/wp-content/uploads/2009/07/usbpowershieldv2.png"><img src="http://brettinman.com/blog/wp-content/uploads/2009/07/usbpowershieldv2-287x300.png" alt="Top View of the USB Power Shield v2.0" title="usbpowershieldv2" width="287" height="300" class="size-medium wp-image-147" /></a><p class="wp-caption-text">Top View of the USB Power Shield v2.0</p></div><br />
Version 2.0 has some major revisions since v1.0, including:</p>
<ul>
<li><strong>Smaller Size</strong> &#8211; cost is determined by size, so I brought it down to the bare minimum &#8211; just enough to cover the Arduino pins.</li>
<li><strong>Power Planes</strong> &#8211; Added a 5V plane on top and a GND plane on the bottom to increase the reliability of the design, allow higher current, and also act as a bit of a heatsink</li>
<li><strong>Thicker Traces</strong> &#8211; the traces in v1.0 are only 8mil, which is pretty small and is really only good for about 200mA. Some devices powered here may need more than that. To support the USB spec of 500mA per device, I&#8217;ve bumped up all the traces to 16mil. There&#8217;s plenty of space for traces anyways.</li>
<li><strong>Remove the Vin LED</strong> &#8211; unnecessary.</li>
<li><strong>Flush caps</strong> &#8211; leave space so the caps can be bent down, so another shield can be fitted on top of this one. The regulator is also mounted on the edge to allow bending it down, although in many application it will need a heatsink so they may not clear even when bent down.</li>
</ul>
<p>And here it is built:<br />
<a href="http://brettinman.com/blog/wp-content/uploads/2009/08/usbpowershieldv20.jpg"><img src="http://brettinman.com/blog/wp-content/uploads/2009/08/usbpowershieldv20.jpg" alt="USB Power Shield v2.0" title="USB Power Shield v2.0" width="600" height="450" class="aligncenter size-full wp-image-176" /></a></p>
<p><strong>Parts needed:</strong><br />
Keep in mind not all parts on the board are needed. For instance, if you&#8217;re powering a single pair of lights (or anything running at <300ma) you can just use the Arduino's built in DC-in with voltage regulator (USB power alone is not going to cut it). If that's the case, you can leave out the 7805 regulator, the 100uF capacitor (keep the 10uF), and the power diode D1. You also don't have to have the power indicator LED or its resistor RLED. And if you're only controlling one device, you only need one relay and one USB connector. All in all, you can get the parts cost for this board down to about $4 at the minimum configuration. If you want to go all out, here's what you'll need:</p>
<p><span id="more-121"></span><br />
2x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMs3UE%252bXNiFaVF12THBPgwXPMqsHAm3LTXk%3d">G6JU-2P-Y-DC4.5</a> Relays      @ ~$2.85 each<br />
2x <a href="http://mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtDa8bhoiaN7HDJKsykYnjc">USB A connectors</a>               @ ~$0.45 each<br />
1x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMug9GoBKXZ757KFYdywgvBV7%2f%2fqrdjjhZ4%3d">7805 5V Regulator </a>              @ ~$0.37<br />
1x DC-in <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMu2f9RNbWupYpN4Bpd1ZXeWglHv88z1Rc8%3d">2.1mm Jack</a>                @ ~$0.63<br />
1x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMukHu%252bjC5l7YRoIw1o9fDs4D4Fc6M2xHYA%3d">100uF 25V</a> capacitor            @ ~$0.03<br />
1x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMsCnlYck6hSqAlrlujfUe4KIkXd8xoFS7c%3d">10uF 25V </a>(10V ok) capacitor @ ~$0.03<br />
1x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtEwUVCuofpuFOn%252bHIvCcyB6OioqsTJAaU%3d">1N4004</a> standard Diode        @ ~$0.04<br />
1x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtlubZbdhIBICS9vICa6AcH4aX3A0%2fcTv0%3d">450-500 ohm</a> resistor           @ ~$0.04<br />
1x <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvxtGF7dlGNpme%252bpiiSarbFh83YGHyHNnM%3d">6x6mm pushbutton</a> switch    @ ~$0.24<br />
1x <a href="http://mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJ8nYvfCigMixTPG3SOeuhNvhVjLU1XIY%3d">5mm LED</a> (any type/color is fine)                           @ ~$0.08<br />
1x 28+ pin row <a href="http://mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvlX3nhDDO4AJDbeIeePM9P3yCR%252beDTu28%3d">.1&#8243; male header</a>  @ ~0.11</p>
<p><strong>Total parts cost ~$8.17</strong></p>
<p><em>You&#8217;ll also need a heatsink for the regulator if you plan on drawing more than ~200ma from it, those can range from $0.30 to $2, depending on size and complexity. There is a quite large one in the picture above as I was using it to charge my MP3 player, which draws a lot of current.</em></p>
<p>Stay tuned for an assembly guide. Also, I&#8217;ll be selling the few extra boards I have at cost to those interested, details to come soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/08/07/usb-power-shield-v2-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Woot-off Time!</title>
		<link>http://brettinman.com/2009/07/21/woot-off-time/</link>
		<comments>http://brettinman.com/2009/07/21/woot-off-time/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 06:40:39 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Interesting Links]]></category>
		<category><![CDATA[USB Power Shield]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[usbpowershield]]></category>
		<category><![CDATA[wootoff]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=154</guid>
		<description><![CDATA[Just in time to test the USB Power Shield, it&#8217;s a Woot-off! I&#8217;ll post some pics of the lights in action tomorrow, but for now, head over to the Woot Tracker to keep up with all the items.]]></description>
			<content:encoded><![CDATA[<p>Just in time to test the <a href="http://brettinman.com/2009/07/14/success-usb-power-shield-v1-0/">USB Power Shield</a>, it&#8217;s a <a href="http://www.woot.com/">Woot-off</a>! I&#8217;ll post some pics of the lights in action tomorrow, but for now, head over to the <a href="http://www.brettinman.com/woot/">Woot Tracker</a> to keep up with all the items.</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/07/21/woot-off-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success! USB Power Shield v1.0</title>
		<link>http://brettinman.com/2009/07/14/success-usb-power-shield-v1-0/</link>
		<comments>http://brettinman.com/2009/07/14/success-usb-power-shield-v1-0/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 00:51:51 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[USB Power Shield]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[usbpowershield]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=119</guid>
		<description><![CDATA[A special envelope arrived yesterday from BatchPCB &#8211; the envelope containing the prototype board for the USB Power Shield v1.0. Or should I say prototype boards &#8211; they were kind enough to produce two, even though I only ordered one. Consider me a happy customer, especially because the boards work. That&#8217;s right, the very first [...]]]></description>
			<content:encoded><![CDATA[<p>A special envelope arrived yesterday from BatchPCB &#8211; the envelope containing the prototype board for the USB Power Shield v1.0. Or should I say prototype <em>boards</em> &#8211; they were kind enough to produce two, even though I only ordered one. Consider me a happy customer, especially because the boards <strong>work</strong>.</p>
<p>That&#8217;s right, the very first prototype board actually functions. I&#8217;m amazed too.</p>
<div id="attachment_125" class="wp-caption aligncenter" style="width: 610px"><a href="http://brettinman.com/blog/wp-content/uploads/2009/07/usbv10.jpg"><img class="size-full wp-image-125" title="USB Power Shield v1.0" src="http://brettinman.com/blog/wp-content/uploads/2009/07/usbv10.jpg" alt="The first working prototype" width="600" height="450" /></a><p class="wp-caption-text">The first working prototype</p></div>
<p>Of course, there are some changes I&#8217;d like to make &#8211; expect to see a v2.0 very soon. A few big things will be happening in the next revision, including addition of power planes and making the board smaller to reduce cost (by 30% ! ).</p>
<p>If anyone&#8217;s interested in ordering one of these from BatchPCB, <a title="Reveal this e-mail address" onclick="window.open('http://mailhide.recaptcha.net/d?k=01jlbGx1TZWHVloS28A_lV0A==&amp;c=-lwJp3roR08RVHblSvniF2KWeWePDTR86n3VPm23Z30=', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;" href="http://mailhide.recaptcha.net/d?k=01jlbGx1TZWHVloS28A_lV0A==&amp;c=-lwJp3roR08RVHblSvniF2KWeWePDTR86n3VPm23Z30=">email me</a> and I&#8217;ll send you the link and parts list . I don&#8217;t want to make it completely public yet with the upcoming revision, which will be cheaper and more stable, but if you want to try it now let me know.</p>
<p>Also expect to see a basic Arduino library for controlling it soon, and we&#8217;re working on completing the WootOff application &#8211; the pressure&#8217;s on now that there is a working board!</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/07/14/success-usb-power-shield-v1-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>First USB Power Shield Prototype on the Way!</title>
		<link>http://brettinman.com/2009/06/24/first-usb-power-shield-prototype-on-the-way/</link>
		<comments>http://brettinman.com/2009/06/24/first-usb-power-shield-prototype-on-the-way/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 01:52:06 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[USB Power Shield]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[schematic]]></category>
		<category><![CDATA[usbpowershield]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=111</guid>
		<description><![CDATA[After toying with the relays and Arduino I found that the diodes weren&#8217;t necessary &#8211; especially since the relay is latching, and current will be flowing both ways, so putting a diode in each direction would just create a short. As such, I made some modifications to the board and put it into Gerber files [...]]]></description>
			<content:encoded><![CDATA[<p>After toying with the relays and Arduino I found that the diodes weren&#8217;t necessary &#8211; especially since the relay is latching, and current will be flowing both ways, so putting a diode in each direction would just create a short.</p>
<p>As such, I made some modifications to the board and put it into Gerber files using Eagle, uploaded them to <a href="http://batchpcb.com/">BatchPCB</a>, and am now waiting for the first one to arrive so that I can populate and test it. In the meantime, I need to get around to packaging the WootOff software for distribution, and come up with some documentation of this project that&#8217;s more readable than this series of blog posts.</p>
<p>Here&#8217;s the board schematic of the Prototype board:<br />
<div id="attachment_112" class="wp-caption aligncenter" style="width: 905px"><a href="http://brettinman.com/blog/wp-content/uploads/2009/06/shieldv1.jpg"><img src="http://brettinman.com/blog/wp-content/uploads/2009/06/shieldv1.jpg" alt="USB Power Shield v1.0 - Prototype" title="USB Power Shield v1.0 - Prototype" width="600" height="412" class="size-full wp-image-112" /></a><p class="wp-caption-text">USB Power Shield v1.0 - Prototype</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/06/24/first-usb-power-shield-prototype-on-the-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>USB Power Shield</title>
		<link>http://brettinman.com/2009/06/10/usb-power-shield/</link>
		<comments>http://brettinman.com/2009/06/10/usb-power-shield/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 04:33:05 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[USB Power Shield]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[schematic]]></category>
		<category><![CDATA[transistors]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usbpowershield]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=82</guid>
		<description><![CDATA[I really wanted there to be a complete solution for the Woot-Off lights project that could be almost plug and play for the end user, so today I drew up a schematic and a board for a USB Power Shield for the Arduino. It pops onto the Arduino like any other shield, and by controlling [...]]]></description>
			<content:encoded><![CDATA[<p>I really wanted there to be a complete solution for the Woot-Off lights project that could be almost plug and play for the end user, so today I drew up a schematic and a board for a USB Power Shield for the Arduino. It pops onto the Arduino like any other shield, and by controlling pins 9-12, you can control power to four devices. </p>
<p>There are two USB ports for anything that takes USB power (5V) &#8211; of course, these ports are for power only (no data). You can use these to control the Woot-Off lights without cutting and soldering the cord, and something else (USB Fan? Light? <a href="http://www.thinkgeek.com/interests/giftsunder10/9c89/">Humping Dog</a>?). There are also four pads toward the middle so you can solder in anything else that takes 5V power.</p>
<div id="attachment_91" class="wp-caption aligncenter" style="width: 610px"><a href="http://brettinman.com/blog/wp-content/uploads/2009/06/board.jpg"><img src="http://brettinman.com/blog/wp-content/uploads/2009/06/board.jpg" alt="USB Power Shield board" title="USB Power Shield board" width="600" height="439" class="size-full wp-image-91" /></a><p class="wp-caption-text">USB Power Shield board</p></div>
<p>Schematic <a href="http://brettinman.com/blog/wp-content/uploads/2009/06/boardschematic.jpg">here</a>.</p>
<p>Since the Arduino can only supply maybe 300mA while on USB power and 600mA from its small 5V regulator (using DC in), I&#8217;ve included the stuff necessary to add a 7805 regulator and related components to allow up to 1A (if you use a heatsink). You can always leave these pads empty if you don&#8217;t plan on using that much power. The Woot-Off Lights will need at least the 5V regulator on the Arduino. There are also LEDs to show if the regulator and board itself are powered &#8211; these can be omitted as well.</p>
<p>The board uses four 2N3906 to control power of up to 200mA at 5V to four devices. By writing the corresponding pin LOW on the Arduino, you turn on the transistor and allow current to flow from 5V to the device (and then, hopefully, out to GND). Very Simple.</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/06/10/usb-power-shield/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woot-Off Lights &#8211; in Python</title>
		<link>http://brettinman.com/2009/06/03/woot-off-lights-in-python/</link>
		<comments>http://brettinman.com/2009/06/03/woot-off-lights-in-python/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 01:07:56 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=70</guid>
		<description><![CDATA[The Woot-Off Lights project continues to slowly progress. Over the weekend we moved over to Python for the coding, since that&#8217;s the language Alex is most familiar with right now (especially in networking). Serial control of the lights in Python took longer than expected &#8211; we could have saved over an hour of troubleshooting had [...]]]></description>
			<content:encoded><![CDATA[<p>The Woot-Off Lights project continues to slowly progress. Over the weekend we moved over to Python for the coding, since that&#8217;s the language Alex is most familiar with right now (especially in networking). </p>
<p>Serial control of the lights in Python took longer than expected &#8211; we could have saved over an hour of troubleshooting had we simply waited two seconds between opening the serial connection and transmitting the first byte (allowing the connection protocols time to complete), but instead we tried half a dozen Python libraries, thinking the problem was somewhere in the code library. Lesson learned &#8211; the exact specifics of interaction between software and hardware is not to be ignored.</p>
<p>We then were able to force the Woot Tracker to update it&#8217;s cache, pull down the XML file generated by the tracker, parse it for the value we are looking for (wootoff, true or false), and take action based upon it. </p>
<p>Now we&#8217;re simply trying to figure out how to package the program into an .exe that can be hidden in the tray, and also figure out how the timing should work &#8211; I would prefer that my server didn&#8217;t get a ton of update requests at the same time, especially during a Woot-Off. Right now it looks like we&#8217;ll run a custom version of the software on our machine to update the tracker, and the software we distribute publicly will simply pull down the XML (without first updating the cache, because our software has already done so).</p>
<p>On the hardware side of things, I&#8217;ve consolidated the driver circuitry onto a small piece of protoboard that pops into the Arduino like a shield. I&#8217;ve also cut up an Altoids tin and housed the assembly inside of it. Don&#8217;t forget the isolate the top/bottom of the board with electrical tape or similar so the metal case doesn&#8217;t short anything.</p>
<p>Here&#8217;s a few pictures of the assembly, with the lights being controlled via the Python application.</p>
<p style="text-align: center;">
<div class="ngg-galleryoverview" id="ngg-gallery-1-70">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-1" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://brettinman.com/blog/wp-content/gallery/tin/tin1.jpg" title=" " rel="lightbox[set_1]" >
								<img title="tin1.jpg" alt="tin1.jpg" src="http://brettinman.com/blog/wp-content/gallery/tin/thumbs/thumbs_tin1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-2" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://brettinman.com/blog/wp-content/gallery/tin/tin2.jpg" title=" " rel="lightbox[set_1]" >
								<img title="tin2.jpg" alt="tin2.jpg" src="http://brettinman.com/blog/wp-content/gallery/tin/thumbs/thumbs_tin2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://brettinman.com/blog/wp-content/gallery/tin/tin3.jpg" title=" " rel="lightbox[set_1]" >
								<img title="tin3.jpg" alt="tin3.jpg" src="http://brettinman.com/blog/wp-content/gallery/tin/thumbs/thumbs_tin3.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/06/03/woot-off-lights-in-python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Woot-Off Lights Schematic and Hardware</title>
		<link>http://brettinman.com/2009/05/18/woot-off-lights-schematic-and-hardware/</link>
		<comments>http://brettinman.com/2009/05/18/woot-off-lights-schematic-and-hardware/#comments</comments>
		<pubDate>Tue, 19 May 2009 05:58:18 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[schematic]]></category>
		<category><![CDATA[uln2803]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=46</guid>
		<description><![CDATA[Here&#8217;s some details about the hardware setup for the woot-off lights. It&#8217;s exactly as I described in the first post &#8211; this just includes the schematic and goes a little more in depth. Let&#8217;s take it from left to right. USB input to the Arduino to send serial data. The current from the USB port [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s some details about the hardware setup for the woot-off lights. It&#8217;s exactly as I described in the first post &#8211; this just includes the schematic and goes a little more in depth.</p>
<div id="attachment_47" class="wp-caption aligncenter" style="width: 610px"><img src="http://brettinman.com/blog/wp-content/uploads/2009/05/schematic.jpg" alt="Quick and Dirty Schematic for Woot-Off Light Control" title="Woot-Off Lights Schematic" width="600" height="238" class="size-full wp-image-47" /><p class="wp-caption-text">Quick and Dirty Schematic for Woot-Off Light Control</p></div>
<p>Let&#8217;s take it from left to right. USB input to the Arduino to send serial data. The current from the USB port is not sufficient to start the motors (they require a bit of boost when turned on and consume less current during normal operation), therefore we use the DC input on the Arduino board to supplement the USB. Feed it somewhere between 7-10V (up to 12V should be fine). The Arduino contains a regulator to lower the Vin down to 5V.</p>
<p>The 5V is then connected to the V+ of the lights (red wire). The GND of the lights is connected to Pin 18 of the ULN2803 IC. The ULN2803 also has it&#8217;s own 5V/GND connections (the 5V connection is necessary in this application because of the inductance of the motors). When the ULN2803 receives a HIGH input on Pin 1 (coming from Pin 9 on Arduino), it connects Pin 18 to GND (note that this is the same for all pins on the IC except 9/10 &#8211; i.e., Pin 2 controls Pin 17, etc). Thus, the lights are now fully connected to both 5V and GND, the circuit is complete, and we have spinny lights.</p>
<p>Work continues on reading a Woot-Off Tracker from a C++ application &#8211; if anyone has tips or ideas, they&#8217;d be appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/05/18/woot-off-lights-schematic-and-hardware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serial Control of Woot-Off Lights Working</title>
		<link>http://brettinman.com/2009/05/18/serial-control-of-woot-off-lights-working/</link>
		<comments>http://brettinman.com/2009/05/18/serial-control-of-woot-off-lights-working/#comments</comments>
		<pubDate>Mon, 18 May 2009 08:03:16 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[communications]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=34</guid>
		<description><![CDATA[After a few hours of clumsy and inept coding, I managed to scrape together a basic windows console application to send data over serial. Right now it just asks you which COM port the Arduino is on (usually COM3), and then you hit enter to turn the lights on/off. All that&#8217;s actually happening is the [...]]]></description>
			<content:encoded><![CDATA[<p>After a few hours of clumsy and inept coding, I managed to scrape together a basic windows console application to send data over serial. Right now it just asks you which COM port the Arduino is on (usually COM3), and then you hit enter to turn the lights on/off. All that&#8217;s actually happening is the program sending the character &#8217;1&#8242; or &#8217;0&#8242; down the serial pipe.</p>
<p>On the other end of the pipe, the Arduino is listening to the serial communication. The sketch I have set up simply sets pin 9 to HIGH when it receives a 1, and LOW when it receives a 0. That&#8217;s it. Then the hardware is controlled as discussed in the previous post.</p>
<div id="attachment_35" class="wp-caption aligncenter" style="width: 610px"><img src="http://brettinman.com/blog/wp-content/uploads/2009/05/serialconsole.jpg" alt="Prototype console application for Arduino Serial communication" title="serialconsole" width="680" height="333" class="size-full wp-image-35" /><p class="wp-caption-text">Prototype console application for Arduino Serial communication</p></div>
<p>So at this point we have:<br />
a) Hardware control of lights<br />
b) Windows console application for serial communication on/off</p>
<p>Which leaves:<br />
c) Having the application read the tracker for wootoff status<br />
d) Packaging it together in a nice, pretty package</p>
<p>So for those following along with an Arduino, I&#8217;m posting the Arduino sketch and the console application below. If you want to use a pin other than pin 9 on the arduino, just modify that part at the top of the sketch. Obviously, you should upload the sketch to the Arduino first, exit the Arduino software (since only one application can access the port at a time), identify which port your Arduino is on, and then run the console application. <strong>I AM NOT RESPONSIBLE FOR ANY HORRIBLE THINGS THAT RESULT FROM THE USE OF THIS SOFTWARE</strong>, largely because I started college as a CS major and switched to EE a year later because I hate coding. That said, it works fine on my and my roommate&#8217;s machines.</p>
<p><a href="http://www.brettinman.com/elec/wootoff.pde">Arduino Sketch</a><br />
<a href="http://www.brettinman.com/elec/wootserialcontrol.exe">Windows Console Application</a></p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/05/18/serial-control-of-woot-off-lights-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intelligent Control of Woot-Off Lights</title>
		<link>http://brettinman.com/2009/05/16/intelligent-control-of-woot-off-lights/</link>
		<comments>http://brettinman.com/2009/05/16/intelligent-control-of-woot-off-lights/#comments</comments>
		<pubDate>Sat, 16 May 2009 08:32:01 +0000</pubDate>
		<dc:creator>brettinman</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Woot-Off Lights Project]]></category>
		<category><![CDATA[communications]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[uln2803]]></category>
		<category><![CDATA[wootofflights]]></category>

		<guid isPermaLink="false">http://brettinman.com/?p=11</guid>
		<description><![CDATA[Please see the WootOff Lights Project category for the most up-to-date posts about this project. Occasionally, Woot has extravaganzas where they post item after item in what is known as a woot-off. Little .gif lights spin round and round to alert visitors to this spectacle. Playing on this, Woot occasionally sells physical woot-off lights. They [...]]]></description>
			<content:encoded><![CDATA[<p><em>Please see the <a href="http://brettinman.com/category/woot-off-lights-project/">WootOff Lights Project category</a> for the most up-to-date posts about this project.</em></p>
<p>Occasionally, <a href="http://www.woot.com">Woot</a> has extravaganzas where they post item after item in what is known as a woot-off. Little .gif lights spin round and round to alert visitors to this spectacle. Playing on this, Woot occasionally sells physical woot-off lights. They run off of USB power, with a switch in each light/motor piece. Since it&#8217;s a standard 5V connection, this opens the doors for all sorts of hackery.</p>
<p>The ultimate goal of this project is to have these lights come on whenever there is a woot-off.</p>
<p>If you aren&#8217;t already familiar with the <a href="http://www.arduino.cc/">Arduino</a>, become familiar now. I&#8217;ll wait.</p>
<p>Ok, so the Arduino is a microcontroller system with a USB-serial input communication, a microprocessor with a bootloader to run &#8220;sketches&#8221;, and the ability to control over a dozen digital logic pins (including a few with PWM or Analog-In). </p>
<p>The setup will use a PC application for monitoring a &#8220;<a href="http://www.brettinman.com/woot">Woot Tracker</a>&#8221; (many of these are available online to reduce load on Woot&#8217;s own servers). The application will check for the presence of the woot-off lights logo, indicating a woot-off &#8211; in the future, the lights will be activated by each changing of an item. The application will then send a byte over serial to indicate the woot-off status to the Arduino. Based on the input from the computer, the Arduino will turn the lights on or off.</p>
<p>Great &#8211; so in order to turn on the lights all we have to do is turn on one of the Arduino&#8217;s pins (they are 5V at digital high). Unfortunately each pin is only capable of supplying at most 50mA, and these lights run on over 100mA. Luckily, the 5V power regulator on the Arduino is capable of supplying much more current &#8211; up to 500mA or so if a good DC power supply is used. So if we hook up the positive lead of these unit to the 5V, we now need to control the ground connection to control the circuit &#8211; connect the ground and the lights go on because the circuit completes.</p>
<p>The ULN2803 chip provides this exact function. The chip is connected to 5V and ground. The ground from the device to be controlled is connected to a pin (remember that the positive of the device is already connected to 5V), and the control signal from the Arduino is connected to the corresponding control pin. When the control pin sees 5V (from the Arduino control signal), the ground lead from the device is connected to the ground of the chip, completing the circuit and sending current to the device. In this case, the lights spin up.</p>
<div id="attachment_14" class="wp-caption aligncenter" style="width: 610px"><img src="http://brettinman.com/blog/wp-content/uploads/2009/05/wootoff1.jpg" alt="Early Woot-Off Light Software/Arduino Control" title="Early Woot-Off Light Software/Arduino Control" width="600" height="450" class="size-full wp-image-14" /><p class="wp-caption-text">Early Woot-Off Light Software/Arduino Control</p></div>
<p>So far I have the hardware running, and have used the Arduino PC software to send input down the serial connection, turning the lights on and off. The next step will be to write an application to send serial information, and then to expand that application to search the textfile of the woot tracker for the lights.gif. The final stage will be to integrate all the hardware into a small package so the device can be used permanently.</p>
]]></content:encoded>
			<wfw:commentRss>http://brettinman.com/2009/05/16/intelligent-control-of-woot-off-lights/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
