<?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>Your Warranty Is Void.com &#187; Embedded devices</title>
	<atom:link href="http://www.yourwarrantyisvoid.com/category/embedded-devices/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yourwarrantyisvoid.com</link>
	<description>Linux, Hardware, Software and Chaos. What more is there?</description>
	<lastBuildDate>Sun, 15 Aug 2010 02:56:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Squirrelcage blower keeps small form factor PCs cool</title>
		<link>http://www.yourwarrantyisvoid.com/2010/08/14/squirrelcage-blower-keeps-small-form-factor-pcs-cool/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/08/14/squirrelcage-blower-keeps-small-form-factor-pcs-cool/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 02:52:16 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[cooling]]></category>
		<category><![CDATA[Mods]]></category>
		<category><![CDATA[Small Form Factor]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=563</guid>
		<description><![CDATA[As long as there has been electronics, there has been the problem of how to keep them cool.  Unfortunately, the problem gets more complex the smaller that computers get and what works for one PC might not work for others.  This is clearly the obstacle to overcome when trying to cool down a settop box.  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-566" title="Squirrelcage fan cooling" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/squirrel-fan-cooling.jpg" alt="Squirrel cage fan cooling. Not chuck squirrels through fans at nuclear reactors." width="535" height="176" /></p>
<p style="text-align: left;">As long as there has been electronics, there has been the problem of how to keep them cool.  Unfortunately, the problem gets more complex the smaller that computers get and what works for one PC might not work for others.  This is clearly the obstacle to overcome when trying to cool down a settop box.  Read more to find out how I was able to pull it off very well for a little over $10 in parts and still maintain all my hair.</p>
<p style="text-align: left;"><span id="more-563"></span></p>
<p style="text-align: left;">It&#8217;s pretty synonymous that computers == heat and with any mainstream processor, you have a pretty significantly sized heatsink and fan to keep the processor cool.  While processor fans and heatsinks are pretty easy to come by for standard desktop computers and servers, embedded devices are pretty much left to their own devices (no pun intended).  I was faced with the very same problem when I decided to start using two embedded computers to replace a NAT router and mini home server.   These machines are sold as a &#8220;set-top-box&#8221; and were initially intended for some kind of Video On Demand service that used broadband service to deliver content.  The computer hardware was figured out and working however left to the &#8220;stock&#8221; heatsink and heatspreader (there was no fan when I started) the box was very hot to the touch.  I decided to initially tack a case fan to the heatsink to help with the cooling, but that only served to band-aid the problem.</p>
<p style="text-align: left;">
<div id="attachment_567" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/settop.jpg"><img class="size-medium wp-image-567" title="settop" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/settop-300x225.jpg" alt="The settop box that is too hot to touch" width="300" height="225" /></a><p class="wp-caption-text">The settop box.  Those holes on top are supposed to keep this cool?</p></div>
<p style="text-align: left;">A view of the internals left very little room to work with.  There was no way I was going to be able to use a standard computer case fan without some massive case modding. Since I wasn&#8217;t really looking for a reason to spend the entire day with the dremel cutting sheet steel, I decided to take a look at what I had to work with.</p>
<p style="text-align: left;">
<div id="attachment_568" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/internals.jpg"><img class="size-medium wp-image-568" title="Settop internals" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/internals-300x225.jpg" alt="Settop internals.  It's quite cramped in there." width="300" height="225" /></a><p class="wp-caption-text">Settop internals.  It&#39;s quite cramped in there.</p></div>
<p>Since this thing was designed to be a set top box, there were all kinds of connections on the back, including a big SCART connector.  According to <a title="SCART - definition by Wikipedia" href="http://en.wikipedia.org/wiki/SCART" target="_blank">wikipedia</a>, SCART is primarily a European standard and is very commonplace for connecting AV equipment to TVs and etc.  Since this settop was sold in the US, the SCART connector was unpopulated and instead left a knockout.  This gave me a sizeable aperture for the hot exhaust, now to find some way to get the air moving.</p>
<div id="attachment_569" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/location.jpg"><img class="size-medium wp-image-569" title="location" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/location-300x225.jpg" alt="Exhaust Port location" width="300" height="225" /></a><p class="wp-caption-text">Exhaust Port Location</p></div>
<p style="text-align: left;">In the above shot, the SCART port is the large dull steel colored rectangular hole in the silver backing.  The hole is high enough that it does not interfere with the SDRAM sticks and far enough away from the power supply not to be a shock hazard.  Now knowing what I had and how big of a fan I needed, I went to Microcenter and took a look around. They had a lot of normal desktop fans and a few oddball fans and the one that would work best ended up being an old-style squirrelcage fan.  A squirrelcage fan is like the standard case fan that you&#8217;re used to however instead of normal blades, the squirrel cage fan uses an impeller that sucks in air from the front and exhausts it out of the side of the fan. The fan exhaust is perpendicular to the intake unlike a standard fan.  The advantage is that a squirrel cage fan offers the airflow of a standard fan in a smaller form factor due to the perpendicular exhaust.  The general idea is that the squirrel cage fan will suck in the warm air from inside the case and exhaust out of the now ex-SCART port.</p>
<p style="text-align: left;">
<div id="attachment_570" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/squirrelcage.jpg"><img class="size-medium wp-image-570" title="SquirrelCage blower" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/squirrelcage-300x225.jpg" alt="Squirrelcage blower, Now with extra squirrels" width="300" height="225" /></a><p class="wp-caption-text">Squirrel cage blower</p></div>
<p style="text-align: left;">This is the squirrelcage fan that I selected. Although I couldn&#8217;t find a link on Microcenter&#8217;s website, here is a <a title="Microcenter Squirrel cage fan" href="http://www.microcenter.com/single_product_results.phtml?product_id=0209741" target="_blank">link of a comparable fan</a>. It is a12V fan that is designed to screw into a removed expansion slot blank on a computer case.  The fan connects via a 12VDC Molex connector and is designed to connect between the power cable and a hard drive or CDROM.  Since there are no Molex connectors, I had to also get a three pin cable to connect to the motherboard. Thankfully Microcenter had a clearance on Intel OEM Processor fans and were selling just the connector for 25 cents.</p>
<p style="text-align: left;">
<div id="attachment_573" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/intelcable1.jpg"><img class="size-medium wp-image-573" title="Intel cable and Power header" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/intelcable1-300x225.jpg" alt="Intel cable and Power header" width="300" height="225" /></a><p class="wp-caption-text">Intel cable and Power header</p></div>
<p style="text-align: left;">The Intel cable snaps perfectly into a convenient header that I found on the motherboard.  This will be perfect as if I ever need to replace the squirrelcage fan, I can do so without having to cut up wires and desolder splices.</p>
<p style="text-align: left;">Now that I had the idea of generally where everything was to go, I had to make some modifications to the steel bracket on the blower. The blower was originally designed to fit in an empty expansion slot and the tab used for securing the blower to the chassis needed to be flattened.</p>
<p style="text-align: left;">
<div id="attachment_574" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/squirrelbracket.jpg"><img class="size-medium wp-image-574" title="Squirrelcage bracket" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/squirrelbracket-300x225.jpg" alt="Squirrelcage bracket" width="300" height="225" /></a><p class="wp-caption-text">Squirrelcage bracket</p></div>
<p>The bracket in question is so eloquently highlighted by none other than Duke Nukem.  In order to modify the bracket without destroying the fan in the process, I decided to remove the bracket.  In the above picture, you can see a notch that holds the fan in the bracket.  There are four notches in total, two on each side. I used a couple of flat bladed screwdrivers and gently pried the bracket off.</p>
<div id="attachment_575" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/bracketoff.jpg"><img class="size-medium wp-image-575" title="Bracket removed from fan" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/bracketoff-300x225.jpg" alt="Bracket removed from fan" width="300" height="225" /></a><p class="wp-caption-text">Bracket removed from fan</p></div>
<p>After a little bit of  the creative application of force, I finally had the bracket flat enough so that it would not interfere with mounting. (Translation:  I beat the crap out of it with a hammer.)</p>
<div id="attachment_576" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/bracketmod.jpg"><img class="size-medium wp-image-576" title="Flattened Bracket modification" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/bracketmod-300x225.jpg" alt="Flattened Bracket modification" width="300" height="225" /></a><p class="wp-caption-text">Flattened Bracket modification</p></div>
<p>Now that the bracket is flattened enough, it&#8217;s time to see about how to go about lining it up with the SCART exhaust port.</p>
<div id="attachment_577" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/holesalign.jpg"><img class="size-medium wp-image-577" title="SCART holes line up with the grill." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/holesalign-300x225.jpg" alt="SCART holes line up with the grill." width="300" height="225" /></a><p class="wp-caption-text">SCART holes line up with the grill.</p></div>
<p>I lucked out on this one.  The two holes that were intended for the SCART interface hardware line up perfectly with two lines on the grill.  This made mounting the bracket as easy as a couple of small nuts and bolts.  Once mounted, it was time to start working on the power cable.  I decided to use the yellow and black wires for the fan&#8217;s power because black is considered &#8220;ground&#8221; and yellow is considered the &#8220;+12V&#8221; lead in computer power supplies.</p>
<div id="attachment_578" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/threewire.jpg"><img class="size-medium wp-image-578" title="Three wire connector" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/threewire-300x225.jpg" alt="Three wire connector" width="300" height="225" /></a><p class="wp-caption-text">Three wire connector</p></div>
<p>I cut off the green lead, and cut the cable about two inches long.  I then wired the wires from the fan to the Intel cable.  The red wire on the blower goes to the Yellow wire on the Intel cable and the two blacks go together. Not shown in this image is the small length of shrinkwrap used to secure and isolate the connection.</p>
<div id="attachment_579" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/solderprep.jpg"><img class="size-medium wp-image-579" title="Solder Preperation" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/solderprep-300x225.jpg" alt="Solder Preperation" width="300" height="225" /></a><p class="wp-caption-text">Solder Preperation</p></div>
<p>After soldering the first wire, I sealed it with the heatshrink and then soldered the other wire.</p>
<div id="attachment_580" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/solder1.jpg"><img class="size-medium wp-image-580" title="Soldered and shrinked" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/solder1-300x225.jpg" alt="Soldered and shrinked" width="300" height="225" /></a><p class="wp-caption-text">Soldered and Shrinked</p></div>
<p>Another piece of heatshrink later and I have a ready to install cable.</p>
<div id="attachment_581" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/complete.jpg"><img class="size-medium wp-image-581" title="Completed cable" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/complete-300x225.jpg" alt="Completed cable" width="300" height="225" /></a><p class="wp-caption-text">Completed cable</p></div>
<p>With the cable now complete, all that remained was to plug the power cable into the power header and snap the blower back into the bracket.</p>
<div id="attachment_582" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/blowermounted.jpg"><img class="size-medium wp-image-582" title="Blower mounted" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/blowermounted-300x225.jpg" alt="Blower mounted" width="300" height="225" /></a><p class="wp-caption-text">Blower Mounted</p></div>
<p>Here is a shot of the back of the case with the now operational blower.</p>
<div id="attachment_583" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/exhaustport.jpg"><img class="size-medium wp-image-583" title="SCART Exhaust port." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/exhaustport-300x225.jpg" alt="SCART Exhaust port." width="300" height="225" /></a><p class="wp-caption-text">SCART Exhaust port.</p></div>
<p>And finally, here&#8217;s a side-by-side (or top and bottom) with an unmodified settop box.</p>
<div id="attachment_584" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/beforeandafter.jpg"><img class="size-medium wp-image-584" title="Modded and Unmodded settops" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/08/beforeandafter-300x225.jpg" alt="Modded and Unmodded settops" width="300" height="225" /></a><p class="wp-caption-text">Modded and Unmodded settops</p></div>
<h2>Final Results</h2>
<p>I&#8217;ve been running the settop now for the past couple of days and I can say that the blower is 100% effective.  The case is cool to the touch and my fears of cooking the processor have been abated.  The machine will do very nicely as a pfSense firewall as soon as I get around to finishing it up but for now, this is one less thing stopping me from using it.</p>
<p>If you ever find yourself in a similar situation where you have to get airflow but don&#8217;t have much space, I highly recommend these squirrelcage blowers.  They&#8217;re cheap, they&#8217;re effective and well worth the time to install.  Although I had to go a bit out of my way to install the blower, not having to worry about cooking the machine is well worth the effort.</p>
<p>I hope you enjoyed this article, it was definitely an interesting approach to cooling in a small form factor.  Do you have any insight or other experience with odd cooling in a similar situation?  Please leave a comment, I&#8217;m always interested in other people&#8217;s stories.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/08/14/squirrelcage-blower-keeps-small-form-factor-pcs-cool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seagate Dockstar: Add an accessible serial port</title>
		<link>http://www.yourwarrantyisvoid.com/2010/07/21/seagate-dockstar-add-an-accessible-serial-port/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/07/21/seagate-dockstar-add-an-accessible-serial-port/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 18:35:55 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mods]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=526</guid>
		<description><![CDATA[Ok, so not long after I published the article on  the hardware teardown of the Seagate Dockstar, I couldn&#8217;t help myself  so I started working on things to do with this device.  I did a lot of research in regards to the capabilities of the Dockstar, including being able to push a customized Linux OS [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-527" title="seagate serial logo" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/seagate-serial-logo.jpg" alt="" width="214" height="94" /></p>
<p>Ok, so not long after I published the article on  the <a href="http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/" target="_blank">hardware teardown of the Seagate Dockstar</a>, I couldn&#8217;t help myself  so I started working on things to do with this device.  I did a lot of research in regards to the capabilities of the Dockstar, including being able to push a customized Linux OS on the device.  Once I saw <a href="http://hackaday.com/2010/07/17/openwrt-on-a-seagate-freeagent-dockstar/" target="_blank">the article at Hackaday</a> that covers exactly how to replace the OS, I knew I had to do it for myself.  There are two ways to perform this upgrade however in order to capture syslog output and to be able to get to the bootloader, a serial port is required.  Just about all of the sites will describe the pins needed to make the connection, however none of them detail how to do it very clearly and none of them address the issue of aesthetics.  Read on for my method of adding a serial port to the Dockstar without affecting the look of the device.</p>
<p><span id="more-526"></span></p>
<h1>Before We Begin&#8230;.</h1>
<p>The Seagate Dockstar has a serial port available via three of the pins on the header at the front of the PCB.  The issue is that they&#8217;re not very easy to get to without having to disassemble the device each and every time you need to do a recovery on it.  This is hardly an ideal solution, and who knows what I&#8217;ll be doing with the device in the future.  If I decide to embed the  device and something goes wrong, I&#8217;ll have to have access to the serial port in order to debug it.</p>
<p>But, simply having access to the serial port is not enough.  The Dockstar&#8217;s aesthetic elegance is in the fact that it&#8217;s so simple.  No  massive amount of connectors aside from Power and Ethernet, and with little room to begin with, I don&#8217;t want to have a cable hanging out of the box just to have access to the serial port.  After much deliberation, I decided that a pin-row setup would be ideal instead of some other outward-facing connector.  The advantages to a pin-row set up is that there are only as many holes as are needed to establish connection and the connector size is significantly smaller than would be a standard DB-9 connector.  An additional advantage to the pin-row setup is that the  connection would be temporary and can be easily removed. The resulting connection port would still be cleanly presented and would not stick out like a sore thumb.</p>
<h2>Parts List:</h2>
<p>In order to pull this off, you will need the following items:</p>
<p>- a CA-42 USB cable. &#8211; This is most commonly sold as a <a href="http://www.amazon.com/Cable-Nokia-CA-42-Wireless-Accessory/dp/B000BI4HW8" target="_blank">Nokia cable through Amazon</a> and can usually be had for a few bucks. This is <strong>required</strong> as the dockstar&#8217;s serial port voltages are at a 3.3V TTL.  interfacing it to a standard +12V/-12V serial port <strong>will damage your Dockstar.</strong> The CA-42 cable has a PL-2303 USB to 3.3v TTL serial adapter in it which provides the required 3.3v TTL and gives an easy to use connector for plugging it into your host PC.</p>
<p>- a 4-pin header with long pins. &#8211; The pins have to be long enough that they will go through the Dockstar case and into the matched connector securely.</p>
<p>- a matched connector for the 4 pin header. &#8211; This will be mounted inside the Dockstar.</p>
<p>- Heat shrink tubing of various sizes. (Use the images as a guide)</p>
<p>- A couple of spares of the 4 pin header and the connector.  (We&#8217;ll use one spare for making the holes in the case, but it&#8217;s always good to have extras just in case.</p>
<h2>Tools List:</h2>
<p>- Soldering Iron</p>
<p>- Lighter (for heatshrink)</p>
<p>- small diameter drillbits</p>
<p>- Spudger (or Radio Shack soldering toolkit)</p>
<p>- A Linux machine with an available USB port. <strong>Note:</strong> It may be possible to use a windows computer for testing however my USB adapter only works in Linux.</p>
<p>Now that you have all the components, it&#8217;s important to stop here for a sec and cover the legal mess. It is critically important that you know what you&#8217;re doing.  You can not blame me or hold this site responsible (or the maintainers of this site) if you do something and blow up your Dockstar.  Be careful, do your research, check twice, solder once.</p>
<p>Please note that if you have never worked with shrinkwrap, the important thing is to watch the fire and keep it moving.  If you leave the lighter in the same place for too long, the shrinkwrap will stop shrinking and will catch fire.  When in doubt, apply the hat quickly and watch the shrinkwrap closely.   If it does something wrong, move the lighter away and start blowing on it to cool it down.</p>
<h1>Part 1:  The Cable</h1>
<p>It&#8217;s easier to do the modification on the cable first rather than do the Dockstar portion due to the fact that part of performing the Dockstar side of things will require testing to make sure it&#8217;s all working properly. So, let&#8217;s get started.</p>
<p style="text-align: left;">
<div id="attachment_528" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_serial.jpg"><img class="size-medium wp-image-528 " title="CA-42 cable, header and connector" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_serial-300x225.jpg" alt="CA-42 cable, header and connector" width="300" height="225" /></a><p class="wp-caption-text">CA-42 cable, header and connector</p></div>
<p style="text-align: left;">This is the cable that we will be hacking together. The pin-row connector shown above is a 4 pin wirewrap terminal and a push-on style PCB mount connector.</p>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_header.jpg"><img class="size-medium wp-image-531" title="cable header and connector" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_header-300x225.jpg" alt="cable header and connector" width="300" height="225" /></a><p class="wp-caption-text">cable header and connector</p></div>
<p>In the above photo,you can see the long header pins and the matching connector and how they fit together.  Before we get started with modifying the cable, we first need to figure out how it&#8217;s wired up.  Because there is a very good chance that you have a generic cable, and generic cables are wired differently, we will start off with spudging the USB connector apart.</p>
<p style="text-align: left;">
<div id="attachment_529" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_spudger.jpg"><img class="size-medium wp-image-529" title="Spudger to cable case" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_spudger-300x225.jpg" alt="Spudger to cable case" width="300" height="225" /></a><p class="wp-caption-text">Spudger to cable case</p></div>
<p>Follow the plastic seam of the USB connector with the sharp blade of the spudger.  Gently work the two halves of the plastic apart until you are able to seperate them.  You should see a connector that looks like the one below.</p>
<div id="attachment_530" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_opened.jpg"><img class="size-medium wp-image-530" title="Opened cable" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_opened-300x225.jpg" alt="Opened cable" width="300" height="225" /></a><p class="wp-caption-text">Opened cable</p></div>
<p>A closer of the PCB will reveal that the  wires (white, blue and green) are labeled for our easy hacking <span style="text-decoration: line-through;">convenience</span> . The three wires in my cable are Blue(GND), Green (RxD), and White (TxD). Now that we know which wire does what, reassemble the USB cable as we will not need to do any work on this end of the cable.  Starting with the 4 pin connector, pick one of the two internal pins and remove it.</p>
<div id="attachment_532" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_pins.jpg"><img class="size-medium wp-image-532" title="Removed pin from connection block" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_pins-300x225.jpg" alt="Removed pin from connection block" width="300" height="225" /></a><p class="wp-caption-text">Removed pin from connection block</p></div>
<p>The reason for removing the offset pin is for two reasons.  1) There are only three wires required for connection and 2) The missing pin will allow us to key the connector so that it can&#8217;t be reversed.  Going back to the USB cable, cut off the fat Nokia phone end and strip the cable back about an inch.  To help with soldering, insert the long end of the header pins into a block of breadboard.  This will help hold the connection stable while you solder the cable.   You will also need to cut the small diameter shrinkwrap in three sizes as shown below.</p>
<div id="attachment_533" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_shrink.jpg"><img class="size-medium wp-image-533" title="Cable preparation" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_shrink-300x225.jpg" alt="Cable preparation" width="300" height="225" /></a><p class="wp-caption-text">Cable preparation</p></div>
<p>The reason for the three lengths of heatshrink tubing is that we will build up the edge of the cable to a large size so that we can use the larger heatshrink tube  (in the back of the picture) to bind the header pins into the wrap and the wrap to the end of the cable to strengthen the cable.  If you have never worked with heatshrink tubing, it&#8217;s very easy to work with.  Start with the longest piece of tubing, and slide it over the cable. Make sure that the cut end matches the end of the insulation and heat with the lighter.  <strong>KEEP THE FLAME MOVING ACROSS THE HEATSHRINK!!</strong> Once the heatshrink has stopped shrinking, allow it to cool and repeat for each piece.</p>
<div id="attachment_534" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_shrinkprep.jpg"><img class="size-medium wp-image-534" title="Shrinkwrapped cable" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_shrinkprep-300x225.jpg" alt="Shrinkrwrapped cable" width="300" height="225" /></a><p class="wp-caption-text">Shrinkrwrapped cable</p></div>
<p>This is the end result of the shrinkwrapping.  Now that the end is built up, slide a piece of the large shrink over the end of the cable but do not apply heat just yet. Strip back the individual wires so that you can attach them to the header pins.</p>
<div id="attachment_535" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_bigshrink.jpg"><img class="size-medium wp-image-535" title="Cable prepped for soldering" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_bigshrink-300x225.jpg" alt="Cable prepped for soldering" width="300" height="225" /></a><p class="wp-caption-text">Cable prepped for soldering</p></div>
<p>Now that we&#8217;re ready to solder the connector, it&#8217;s important to decide how to create the pinout.  In my setup, I elected to have the GND connection by itself, then the TX and RX pins.  For each wire, wrap the wire around the soldering post on the header pins and solder.  Be sure to use only enough solder as is required for the connection and do not  bridge the pins.</p>
<div id="attachment_536" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_soldered.jpg"><img class="size-medium wp-image-536" title="Soldered cable to header pins" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_soldered-300x225.jpg" alt="Soldered cable to header pins" width="300" height="225" /></a><p class="wp-caption-text">Soldered cable to header pins</p></div>
<p>Now with the cable soldered and the connections solid, it&#8217;s time to apply the heat to the large heatshrink.  Very carefully pull the end of the heatshrink over the black plastic header and gently apply heat.  Adjust if needed and let the tubing shrink without it pulling itself off of the header plastic.</p>
<div id="attachment_537" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_shrink1.jpg"><img class="size-medium wp-image-537" title="Shrinkwrap applied to header" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_shrink1-300x225.jpg" alt="Shrinkwrap applied to header" width="300" height="225" /></a><p class="wp-caption-text">Heatshrink applied to header</p></div>
<p>When you have it this far, go ahead and apply heat to the rest of the heatshrink tubing, making sure not to singe it.  When you are done, you should have a cable looking like the one below.</p>
<div id="attachment_538" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_completed.jpg"><img class="size-medium wp-image-538" title="Completed cable with socket" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/cable_completed-300x225.jpg" alt="Completed cable with socket" width="300" height="225" /></a><p class="wp-caption-text">Completed cable with socket</p></div>
<p>This was the easy part, Now it&#8217;s time for the dockstar.</p>
<h1>Part 2: The Dockstar</h1>
<p>We&#8217;ve got the cable, but without something to connect it to, it&#8217;s pretty useless (unless you want to use it on a breadboard).  Let&#8217;s take a look at what&#8217;s going on.</p>
<div id="attachment_539" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/DS_plan.jpg"><img class="size-medium wp-image-539" title="Dockstar connection planning" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/DS_plan-300x225.jpg" alt="Dockstar connection planning" width="300" height="225" /></a><p class="wp-caption-text">Dockstar connection planning</p></div>
<p>Since I&#8217;ve already determined that I want the connector for the serial to come out of the back of the device and I&#8217;ve already found a suitably small connector, it&#8217;s time to find a location where I can attach it without getting too involved or without interfering with the existing ports on the back of the dockstar.  I&#8217;ve elected to put the serial port just above the center USB connector.  In the photo above, you can see how much space we&#8217;re dealing with in comparison with the USB ports and the header socket.</p>
<div id="attachment_540" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_shield1.jpg"><img class="size-medium wp-image-540" title="Dockstar shielding" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_shield1-300x225.jpg" alt="Dockstar shielding" width="300" height="225" /></a><p class="wp-caption-text">Dockstar shielding</p></div>
<p>Some of the RF shielding will need to be removed, but thankfully the metal is pretty flimsy and easily cut.   Be sure that when you remove the little fins pictured that you do not distort the top of the metal shielding.  We need a surface as smooth as possible for the superglue to properly bind with the connector for the serial port.</p>
<div id="attachment_541" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_shield2.jpg"><img class="size-medium wp-image-541" title="Unneeded shielding removed" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_shield2-300x225.jpg" alt="Unneeded shielding removed" width="300" height="225" /></a><p class="wp-caption-text">Unneeded shielding removed</p></div>
<p>Here is the picture of the unneeded shielding removed.  Please only remove the shielding that you need.  Next, you will need to prep another three pin header just like you did for the cable.  Rather than trusting faulty measurements and guessing, we&#8217;re going to use the header&#8217;s pins themselves to point out where we need to place our holes.</p>
<div id="attachment_542" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_burn.jpg"><img class="size-medium wp-image-542" title="Burned through holes" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_burn-300x225.jpg" alt="Burned through holes" width="300" height="225" /></a><p class="wp-caption-text">Burned through holes</p></div>
<p>Using a pair of needlenose pliers and your soldering iron, heat the pins evenly and apply moderate pressure.  The pins may wiggle slightly but don&#8217;t let them move too far off otherwise your holes won&#8217;t be lined up. When all three pins have punched through, remove the pins with the needlenose pliers.  Use the small diameter drill bit to widen the holes and to furr out any residual plastic scraps.  Your finished holes should look something like below.</p>
<div id="attachment_543" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_holes.jpg"><img class="size-medium wp-image-543" title="Completed holes" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_holes-300x225.jpg" alt="Completed holes" width="300" height="225" /></a><p class="wp-caption-text">Completed holes</p></div>
<p>Just to make absolutely sure, go ahead and test with the connector and the cable to make sure everything fits properly.</p>
<div id="attachment_544" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_test.jpg"><img class="size-medium wp-image-544" title="Hole Alignment Test" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_test-300x225.jpg" alt="Hole Alignment Test" width="300" height="225" /></a><p class="wp-caption-text">Hole Alignment Test</p></div>
<p>If you&#8217;ve made it this far, you&#8217;re doing good.  Now it&#8217;s time to prep the connector for supergluing into the Dockstar&#8217;s case.  Since it&#8217;s a four pin connector and we&#8217;re only using three pins, make sure that the connector is properly oriented so that it fits properly and so that the serial cable can move freely in and out of the connector.  Back the cable off a bit so you can see which pin is missing and cut off the connector&#8217;s matching pin to eliminate a possible mis-wiring later on. Go ahead and attach and solder a wire to each of the three remaining pins.</p>
<div id="attachment_545" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_connwires.jpg"><img class="size-medium wp-image-545" title="Socket connection with wires" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_connwires-300x225.jpg" alt="Socket connection with wires" width="300" height="225" /></a><p class="wp-caption-text">Socket connection with wires</p></div>
<p>In order to glue the connector socket in, take the excess wire and coil it up for now. Apply a thin coat of superglue inside the Dockstar and when aligned, push the three pin header you used for burning the connector in through your drilled holes and into the connector.  This will hold the socket steady while the superglue cures.  Give it about 15 minutes to cure properly, then gently remove the pins from the socket.  At this point, you should have a fully mounted socket like in the picture below.</p>
<div id="attachment_546" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_glue.jpg"><img class="size-medium wp-image-546" title="Glued in header socket" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_glue-300x225.jpg" alt="Glued in header socket" width="300" height="225" /></a><p class="wp-caption-text">Glued in header socket</p></div>
<p>Now that the socket is taken care of, we need to attach it to the serial port on the Dockstar&#8217;s board.  Before we do anything permanent, we will test the serial port and then once we are satisfied that it&#8217;s all working, we&#8217;ll solder them in and close it up.   Start off with wrapping the ground wire to the lower right hand pin on the connection block.  This is the common GND connection and must be established first. If you are using my wiring plan, the GND wire is the single pin by itself on the three pin header we made earlier.</p>
<div id="attachment_547" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_wrap.jpg"><img class="size-medium wp-image-547" title="wirewrapped GND wire" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_wrap-300x225.jpg" alt="wirewrapped GND wire" width="300" height="225" /></a><p class="wp-caption-text">wirewrapped GND wire</p></div>
<p>The two pins to the left of the GND pin are the RX and TX pins respectively.  Attach the centermost pin to RX and the remaining pin to TX on the superglued connector.</p>
<div id="attachment_548" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_wrap2.jpg"><img class="size-medium wp-image-548" title="Connected wires" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_wrap2-300x225.jpg" alt="Connected wires" width="300" height="225" /></a><p class="wp-caption-text">Connected wires</p></div>
<p>Remember, we have NOT soldered the three wires yet.  Also, make sure that none of the wires are touching prior to connection.  In order to test the serial port and make sure we have it hooked up right, connect the three pin header on the serial cable to your socket on the back of the Dockstar and connect the USB connector to your computer. Do not apply power to the Dockstar yet.  Open up minicom and set the serial device to /dev/ttyUSB0, 115200, no parity, 8 bits, 1 stop bit.  When properly configured, apply power to the Dockstar and watch your console window.  If you got it right, you should get similar output like below.   If not, pull the power plug on the Dockstar and disconenct the serial cable out of the back of the dockstar.  Swap the left two pins (RX and TX) and try again.  You should get output like below.</p>
<div id="attachment_549" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_serial.jpg"><img class="size-medium wp-image-549" title="Serial terminal output" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_serial-300x186.jpg" alt="Serial terminal output" width="300" height="186" /></a><p class="wp-caption-text">Serial terminal output</p></div>
<p>Now that you&#8217;ve tested the wiring, disconnect the power and the serial cable from the Dockstar.  Solder the wires in place and reassemble the Dockstar. Be careful closing the cover as you want to make sure that the wires coming off the superglued socket do not touch the metal shielding. (Editor&#8217;s Note: I really need a hot glue gun)</p>
<div id="attachment_550" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_closeup.jpg"><img class="size-medium wp-image-550" title="Closeup of Dockstar prior to reassembly" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_closeup-300x225.jpg" alt="Closeup of Dockstar prior to reassembly" width="300" height="225" /></a><p class="wp-caption-text">Closeup of Dockstar prior to reassembly</p></div>
<p>Close it all up and test it one more time.  If everything works as should, you&#8217;re good to go.  Now you can access the serial port without having to take your Dockstar apart over and over again.</p>
<div id="attachment_551" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_comp_att.jpg"><img class="size-medium wp-image-551" title="Completed mod with serial cable attached" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_comp_att-300x225.jpg" alt="Completed mod with serial cable attached" width="300" height="225" /></a><p class="wp-caption-text">Completed mod with serial cable attached</p></div>
<p>Here is a picture of the completed serial cable mod. The serial cable is plugged in right above the keydrive in this photo.</p>
<div id="attachment_552" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_complete.jpg"><img class="size-medium wp-image-552" title="View of Serial Port" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/ds_complete-300x225.jpg" alt="View of Serial Port" width="300" height="225" /></a><p class="wp-caption-text">View of Serial Port</p></div>
<p>Same view as above, but with the serial cable removed.  Nothing but three holes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/07/21/seagate-dockstar-add-an-accessible-serial-port/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Hardware Porn: Seagate Dockstar teardown</title>
		<link>http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 01:00:20 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware Pr0n]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=504</guid>
		<description><![CDATA[I was given a very interesting product by a friend of mine that happened to catch a good deal on woot.com a few days ago.  Apparently Seagate has made a network fileserver device for their Freeagent Go line of portable USB drives called the Freeagent DockStar. (I can only think that this is a play [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-505" title="Seagate Logo" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/seagatelogo.png" alt="Seagate Logo" width="136" height="79" />I was given a very interesting product by a friend of mine that happened to catch a good deal on woot.com a few days ago.  Apparently Seagate has made a network fileserver device for their Freeagent Go line of portable USB drives called the Freeagent DockStar. (I can only think that this is a play on Battlestar Galactica&#8217;s Baystar &#8211; a cylon &#8220;aircraft-carrier&#8221; of sorts.)  When I went to look for pictures online of the hardware, I was dismayed to find nothing about the inside of the little thing.  So here they are in all their exposed glory, the innards of the Seagate Dockstar.</p>
<p><span id="more-504"></span></p>
<div id="attachment_506" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-box.jpg"><img class="size-medium wp-image-506" title="Dockstar box" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-box-300x225.jpg" alt="Dockstar box" width="300" height="225" /></a><p class="wp-caption-text">Dockstar box</p></div>
<p>This is the box that the Dockstar came in.  Having not bought a non-OEM seagate drive in ages, I was pleasantly surprised that they used normal cardboard instead of some plastic case for this device.  Seagate is really pushing their &#8220;Go Green&#8221; incentive by changing the entire box (even the box inside) with easy to recycle cardboard instead of that translucent plastic &#8220;tray&#8221; that normally accompanies electronics.  While not necessarily an indication of product performance, it does show that they care about the environment.</p>
<div id="attachment_507" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-contents.jpg"><img class="size-medium wp-image-507" title="Dockstar contents" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-contents-300x225.jpg" alt="Dockstar contents" width="300" height="225" /></a><p class="wp-caption-text">Dockstar contents</p></div>
<p>Inside the box, aside from the little &#8220;Getting Started Manual&#8221; is the following items:  A Universal power brick pre-fitted with the US style prongs, a shielded ethernet cable and of course, the dockstar itself.</p>
<div id="attachment_509" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/universal-plug.jpg"><img class="size-medium wp-image-509" title="universal plug sticker" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/universal-plug-300x225.jpg" alt="universal plug sticker" width="300" height="225" /></a><p class="wp-caption-text">universal plug sticker</p></div>
<p>Here&#8217;s a closeup of the universal plug and all it&#8217;s various warnings and certifications.  I have seen a shift towards these universal plugs and away from the more proprietary plugs that manufacturers would normally use as a cost saving process. Since there is no one world-wide standard on power for every country that Seagate does business with, why spend that money building 20+ different power adapters when all you need is one with different prongs to fit whatever country&#8217;s plugs you&#8217;re going to be selling to.</p>
<div id="attachment_510" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/up-details.jpg"><img class="size-medium wp-image-510" title="Universal Plug details" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/up-details-300x225.jpg" alt="Universal Plug details" width="300" height="225" /></a><p class="wp-caption-text">Universal Plug details</p></div>
<p>And, just because I&#8217;m a sucker for details (and I keep losing the power bricks), here&#8217;s the voltage and amperage rating of the power brick.  Output is 12vDC 2Amps with a positive tip.</p>
<div id="attachment_508" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-front.jpg"><img class="size-medium wp-image-508" title="dockstar front" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-front-300x225.jpg" alt="Dockstar front" width="300" height="225" /></a><p class="wp-caption-text">Dockstar front</p></div>
<p>Finally, we get to the dockstar to find what secrets it holds.  The front panel has one LED for device status and the USB mini-B port for the Freeagent drive to sit in.  Unlike most older-style USB devices, the Seagate Freeagent is powered entirely through the USB port, eliminating the need for two cables to power one device.  Overall it&#8217;s a simple presentation of what looks to be a fairly complex device.</p>
<div id="attachment_511" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-back.jpg"><img class="size-medium wp-image-511" title="Dockstar Back" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-back-300x225.jpg" alt="Dockstar Back" width="300" height="225" /></a><p class="wp-caption-text">Dockstar Back</p></div>
<p>The back of the dockstar has two USB ports, the Gigabit Ethernet port and the power port on it.  I would like for there to have been a link and an activity LED for the Ethernet port, but unfortunately this was not implemented.  I guess I&#8217;m a sucker for LEDs.</p>
<div id="attachment_512" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-side.jpg"><img class="size-medium wp-image-512" title="Right side of dockstar" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-side-300x225.jpg" alt="Right side of dockstar" width="300" height="225" /></a><p class="wp-caption-text">Right side of dockstar</p></div>
<p>The right side of the dockstar features another USB port and the reset switch for the device.  The left side of the dockstar (not pictured) only has cooling vents on the side.</p>
<div id="attachment_513" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-bottom.jpg"><img class="size-medium wp-image-513" title="dockstar bottom" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-bottom-300x225.jpg" alt="Dockstar Bottom" width="300" height="225" /></a><p class="wp-caption-text">Dockstar Bottom</p></div>
<p>This is the bottom of the dockstar which has a large sticker that shows the serial numbers and MAC address of the device.  Of note, there was one number on this sticker which is formatted like some kind of product activation key and is formatted as follows:  six alphanumeric characters,  hyphen, six alphanumeric characters, hyphen, two alphanumeric characters, hyphen, six alphanumeric characters, hyphen, six alphanumeric characters.   At first glance, I thought these were hexadecimal numbers however the letters used were not between A-F and so it&#8217;s currently unclear what this number is for.  There is no mention of what this number is for in the documentation.</p>
<div id="attachment_514" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/spudger.jpg"><img class="size-medium wp-image-514" title="Gaining access to the insides" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/spudger-300x225.jpg" alt="Gaining access to the insides" width="300" height="225" /></a><p class="wp-caption-text">Gaining access to the insides</p></div>
<p>Typically on a device like this and most small consumer devices, there are four screws on the bottom (usually under the black slip-resistant dots) however the Dockstar doesn&#8217;t have any.  In order to gain access, I used a metal spudger to work the bottom away from the top half of the body.  There are two notches on each side of the square base, so you may need to use something flat like a spudger, small flathead screwdriver or a expansion slot blank to pry it open.</p>
<div id="attachment_515" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/just-opened.jpg"><img class="size-medium wp-image-515" title="Cracked the case" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/just-opened-300x225.jpg" alt="Cracked the case" width="300" height="225" /></a><p class="wp-caption-text">Cracked the case</p></div>
<p>Once you cracked the case open (hopefully without breaking it), you should see the small cable that connects the top USB port to the dockstar&#8217;s mainboard.  Carefully disconnect this cable and the two halves should now be seperated.</p>
<div id="attachment_516" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-top.jpg"><img class="size-medium wp-image-516" title="Mainboard top view" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-top-300x225.jpg" alt="Mainboard top view" width="300" height="225" /></a><p class="wp-caption-text">Mainboard top view</p></div>
<p>This is the dockstar in all it&#8217;s nude glory. The front of the device is to the right in this photograph. The small black square is Nanya 1Gb (comes out to ~128 megabytes)  DDR-2 RAM in a BGA package. <a href="http://www.nanya.com/NanyaAdmin/GetFiles.ashx?ID=502" target="_blank">Datasheet available here</a> and the large square is the device&#8217;s main processor.  From research I have performed, this appears to be a Marvell 1.2GHZ processor (just like the sheevaplug devices that Marvell is also selling. I tried to pull some more datasheets from plugcomputer.org, but their datasheet listing is quite lacking.  For now, just know that it&#8217;s an arm compliant processor and when I post an update article, I will have more juicy details on the capabilities of the processor.  Also of note, just below and to the right of the processor is a small ten pin header.  Presumably this can be used for a serial port however I do not have the cable for that.  Once I get it in and test it, I will update this article with a pinout diagram for you. Since this device is so low-level I would not recommend trying to connect a regular serial port to it directly as it more than likely requires a level shifter like a MAX232 to bring the -12/+12VDC down into something that won&#8217;t blast the components.</p>
<div id="attachment_517" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-bottom.jpg"><img class="size-medium wp-image-517" title="Mainboard bottom" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-bottom-300x225.jpg" alt="Mainboard bottom" width="300" height="225" /></a><p class="wp-caption-text">Mainboard bottom</p></div>
<p>This is the bottom of the dockstar&#8217;s mainboard.  Unfortunately, the board is now oriented that the front of the dockstar is now at the bottom of the picture. (Bad cameraman, no cookie.)  There&#8217;s not really much to note here as the board layout is jam packed with passive components.  The large black square on the lower right is the NAND storage for the device and while I couldn&#8217;t pull up the datasheet for it, the guys over at PlugPBX already had a <a href="http://forums.plugpbx.org/index.php?topic=97.0" target="_blank">forum post</a> that showed the Dockstar&#8217;s hardware specs for us.  According to their chart, the dockstar&#8217;s storage is 256MB. which should be more than adequate for general Linux fun.  The small chip just under the black tape in the upper right hand corner of the board is presumably the ethernet NIC however googling the chip numbers came up with nothing.</p>
<p>Just looking at the hardware overall, it would appear that the Seagate Dockstar is a very capable device that just needs to be altered to run whatever we choose to run with it.  While the software on the device (stock) comes with a filesharing service called Pogoplug, I do not intend on using that software and will be looking to get this device as far away from stock as possible.  Here is a list of some things I&#8217;ve been thinking of doing with it so far:</p>
<ul>
<li>Home NAS (without Internet file sharing)</li>
<li>multihomed router (I have a stack of pegasus USB modules)</li>
<li>semiportable network notification device (USB to parallel port, HD44780 LCD display)</li>
<li>realtime data acquisition device (USB logger and serial ports?)</li>
<li>Apple MT-DAAPd server for streaming music to iTunes installations on your local network</li>
</ul>
<p>Some sites I&#8217;ve seen while doing research have mentioned things from a in-home webserver with databases, to even a PBX server (take a look at <a href="http://www.plugpbx.org/" target="_blank">www.plugpbx.org</a>)</p>
<p>The big question is:  What would you do with it? Feel free to leave a comment as to what you&#8217;d do with this device, suggestions, information, etc.</p>
<p>FIRESTORM_v1</p>
<h1><span style="color: #ff0000;"><em><span style="text-decoration: underline;"><strong>BIG FAT OBNOXIOUS WARNING!:</strong></span></em></span><span style="color: #ff0000;"> </span></h1>
<p>Because of the Dockstar&#8217;s affinity to want to &#8220;phone home&#8221; thanks to the Pogoplug software,  I would not recommend plugging this into your live network just yet.  In all of the research I have done for this device, just about every site I have seen has posted some kind of warning about this.  The dockstar was originally designed to run with pogoplug which is an internet filesharing service that allows you to access your files from anywhere with Internet connectivity.  I don&#8217;t exactly trust an outside third party to have access to my files on a device that is only going to be used on a local network so I have not connected mine up to even test it.  If you are going to do any work with this device, I recommend that you use a dedicated mini-hub or switch and that it not be allowed to connect to the Internet until you have a complete understanding of what all it wants to do. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Parts: Parallax RFID scanner now $10!</title>
		<link>http://www.yourwarrantyisvoid.com/2010/06/14/parts-parallax-rfid-scanner-now-10/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/06/14/parts-parallax-rfid-scanner-now-10/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 01:21:09 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[Parallax]]></category>
		<category><![CDATA[RFID]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=491</guid>
		<description><![CDATA[Hello Everyone!   If you&#8217;ve been in a Radio Shack sometime in the last year or so, you&#8217;ll know that Radio Shack and Parallax have teamed up to bring some variety to the parts drawers.  This once $50 serial RFID reader kit is now $10 at Radio shack although it only comes with two tags.  Read [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_492" class="wp-caption aligncenter" style="width: 260px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/06/32390-M.jpg"><img class="size-full wp-image-492" title="Parallax RFID" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/06/32390-M.jpg" alt="" width="250" height="250" /></a><p class="wp-caption-text">Image courtesy of Parallax.com</p></div>
<p style="text-align: left;">Hello Everyone!   If you&#8217;ve been in a Radio Shack sometime in the last year or so, you&#8217;ll know that Radio Shack and Parallax have teamed up to bring some variety to the parts drawers.  This once $50 serial RFID reader kit is now $10 at Radio shack although it only comes with two tags.  Read more for additional details about the Serial RFID reader now on sale!<span id="more-491"></span></p>
<p style="text-align: left;">The Parallax Serial RFID reader is 5 volt TTL compatible signalling and requires two I/O pins.  One is output for the &#8220;enable&#8221; pin which when brought low, turns on the RFID reader.  The tag data comes in on another pin to be read by your 5V TTL compatible microcontroller.   If you are using the 5V Basic Stamp or the 3.3V (5V tolerant) Propeller, then this is just a snap-in add on, no additional hardware is required.  Other controllers may require additional voltage converters to drop the TTL signal down to a voltage compatible for your controller.</p>
<p style="text-align: left;">Also take note that this is a 125kHz tag reader, so reading your company&#8217;s HID RFID tag will more than likely not work unless you have a 125kHz tag.</p>
<p style="text-align: left;">You can find the full datasheet, sample code and schematics from <a href="http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/rfid/List/0/SortField/4/ProductID/114/Default.aspx" target="_blank">Parallax&#8217;s product web page here</a>.</p>
<p style="text-align: left;">If two tags just aren&#8217;t going to cut it, you can take a look at all of <a href="http://www.parallax.com/tabid/768/txtSearch/rfid+tag/List/0/SortField/4/Default.aspx" target="_blank">Parallax&#8217;s tags here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/06/14/parts-parallax-rfid-scanner-now-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android:Sprint officially releases Android 2.1 for Samsung Moment!</title>
		<link>http://www.yourwarrantyisvoid.com/2010/05/15/androidsprint-officially-releases-android-2-1-for-samsung-moment/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/05/15/androidsprint-officially-releases-android-2-1-for-samsung-moment/#comments</comments>
		<pubDate>Sat, 15 May 2010 07:10:43 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=447</guid>
		<description><![CDATA[While writing up the review for the Samsung Moment versus the Palm Pre, I happened to find out that Sprint has now released Android 2.1 (Eclair) for the Moment.  Guess now I have to start over again, but the up side is that this is a very significant update from Samsung&#8217;s initial release, Android 1.5. [...]]]></description>
			<content:encoded><![CDATA[<p>While writing up the review for the Samsung Moment versus the Palm Pre, I happened to find out that Sprint has now released Android 2.1 (Eclair) for the Moment.  Guess now I have to start over again, but the up side is that this is a very significant update from Samsung&#8217;s initial release, Android 1.5.</p>
<p>You can download the update from Sprint at <a title="Sprint's samsung moment update page" href="http://shop.sprint.com/en/software_downloads/pda_smartphone/samsung_moment.shtml" target="_blank">http://shop.sprint.com/en/software_downloads/pda_smartphone/samsung_moment.shtml</a></p>
<p>Please note: According to the instructions available at the link above, you will need to use a Windows PC to apply the update to your phone.  I will be posting a mirror shortly and it will show up in the &#8220;Download Files&#8221; page at the top of this page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/05/15/androidsprint-officially-releases-android-2-1-for-samsung-moment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site News: I have a new toy!</title>
		<link>http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 16:06:55 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Site News]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/</guid>
		<description><![CDATA[Well my life has been busy as all get out and I do have a new post in the works however I&#8217;m taking a quick break because I have a new toy that makes for a far better story. I have recently gotten my hands on a new Samsung Moment on the Sprint network. Within [...]]]></description>
			<content:encoded><![CDATA[<p>Well my life has been busy as all get out and I do have a new post in the works however I&#8217;m taking a quick break because I have a new toy that makes for a far better story.</p>
<p>I have recently gotten my hands on a new Samsung Moment on the Sprint network.  Within the next few days, I will post all the gory details from this Android n00b and will be offering a comparison against the other smartphone I have, the Palm Pre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic Stamp: A quick guide on using a legacy joystick</title>
		<link>http://www.yourwarrantyisvoid.com/2010/02/03/basic-stamp-a-quick-guide-on-using-a-legacy-joystick/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/02/03/basic-stamp-a-quick-guide-on-using-a-legacy-joystick/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 20:28:19 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=356</guid>
		<description><![CDATA[In this post, we&#8217;ll be going over the basics of using an old regular PC-gameport joystick with Parallax&#8217;s Basic Stamp powered Boe-Bot.  This howto will have all the information you need to get started including code, schematics and a parts list.  We will be covering how the joystick is wired and how to go about [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-357" title="BS2 joystick header image" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/BS2_Joystick.jpg" alt="Joystick + Basic Stamp BOE-BOT = World Domination" width="477" height="102" /></p>
<p style="text-align: left;">In this post, we&#8217;ll be going over the basics of using an old regular PC-gameport joystick with Parallax&#8217;s Basic Stamp powered Boe-Bot.  This howto will have all the information you need to get started including code, schematics and a parts list.  We will be covering how the joystick is wired and how to go about interfacing it with the Boe-Bot for an easy to use and easy to expand analog control method for your Boe-Bot.  Next step, world domination!<span id="more-356"></span></p>
<h2 style="text-align: left;">Foreword</h2>
<p style="text-align: left;">The joystick is something that has been around quite a long time, even longer than computers.  The idea of being to control something on-screen by using a joystick is one that takes almost no learning curve,  is easy to start and you only end up getting better.  Even today in modern gaming, it is easy to find controllers with at least one analog joystick on it.  My Xbox 360 controllers feature two sticks per controller which give the gamer a very precise method for movement and aiming accuracy, something that buttons can&#8217;t quite provide.  As long as I&#8217;ve been working on computers, I always remember using PC analog joysticks in my games.</p>
<p style="text-align: left;">Nowadays, the modern PC joystick has all but gone the way of the dodo, however those few that are around now are USB and have a ton of buttons.  The legacy joystick (or &#8220;gameport&#8221; joystick) still has a bit of usefulness in it and today we will be covering how to get it to work with a Basic Stamp microcontroller.</p>
<p style="text-align: left;">Of course someone&#8217;s going to ask, &#8220;Why use a PC joystick?, Why not (insert control method here)?&#8221;.  My answers are:</p>
<p style="text-align: left;">1:  Cost &#8211; The PC joystick used in this tutorial was bought at a Goodwill for $3.</p>
<p style="text-align: left;">2: Ease of use &#8211; Once you have programmed your application, you just grab it and go. There&#8217;s no need to go over complex control methods or trying to remember what does what now.</p>
<p style="text-align: left;">3: Low Parts Count &#8211; In this tutorial, I used two capacitors and six resistors to get the joystick working.  Most other control schemes require a lot more parts.</p>
<h2 style="text-align: left;">Basic Theory of Operations</h2>
<p>The way an analog PC joystick works is not very complex at all.  You have a stick which is capable of moving any position along two axes (X and Y) and with two switches or &#8220;buttons&#8221; for interaction.  The position of the stick is detected via two variable resistors usually around 10Kohm, one running horizontal (left/right) and one running vertical (towards you/away from you).  The computer would send a pulse out to the joystick and get return values from the variable resistors.  Using the returned pulse it could then decide on what action to take, how far/fast to move your character, etc..</p>
<p>The two buttons (or more) are detected through simple momentary contact switches. If the switch pin was high, then the button was depressed otherwise, the button was released.  These button switches are normally open and while the gameport pinout supports up to four buttons, additional buttons were made by figuring out how to multiplex them as shown in the chart below:<img class="aligncenter size-full wp-image-361" title="Analog Joystick Button Map" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/buttonmap.jpg" alt="Analog Joystick Button Map" /></p>
<p>When using the PC gameport joystick, you would need to go through calibration which taught the computer the limits of your axes and the button layout.  Because variable resistors are not terribly accurate across manufacturers this calibration was a requirement as no two joysticks, not even those made by the same manufacturer,  would behave exactly alike. There would always be minute differences between the joystick&#8217;s behaviors so the calibration was a way to standardize the measurements and clean up the inaccuracy of the joystick.</p>
<p>In our tutorial, we will be using a two-button model.  This joystick is a very standard stick and has a trigger button and a thumb switch button.  It connects to the computer via a 15 pin D-sub connector usually to the sound card which has a Gameport connector on it.  This connector is usually orange on newer motherboards, if it exists at all.<a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0500.jpg"><img class="aligncenter size-medium wp-image-362" title="standard PC joystick" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0500-300x225.jpg" alt="standard PC joystick" width="300" height="225" /></a></p>
<p>On the bottom of this joystick, there are two sliders.  These two sliders can be used to &#8220;tune&#8221; the position of the VRs in order to be able to get the best range of motion for the stick.  You may need to use these during the next step for calibration.  Here is a picture of the bottom of my joystick.  The large circular things are suction cups which help keep the base down on the table while you move the joystick around:</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0508.jpg"><img class="aligncenter size-medium wp-image-369" title="Underside of jostick" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0508-300x225.jpg" alt="Underside of joystick" width="300" height="225" /></a></p>
<p>After taking the bottom off, we can  see the setup of the two variable resistors (VRs).  Unlike most joysticks this one uses linear VRs and not the rotary VRs (sometimes called pots) that are commonly found for volume controls. We have oneVR on the left for the Y axis, and the other one along the bottom for the X axis, some support hardware and a small PCB:</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0502.jpg"><img class="aligncenter size-medium wp-image-363" title="opened joystick" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0502-300x225.jpg" alt="opened joystick" width="300" height="225" /></a></p>
<p>The little circuit board at the top of the stick doesn&#8217;t conceal any electronics, It&#8217;s only a bypass as shown in these next two images:<a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0503.jpg"><img class="aligncenter size-medium wp-image-366" title="closeup view of PCB" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0503-300x225.jpg" alt="closeup view of PCB" width="300" height="225" /></a></p>
<p>This picture is of the bottom of the circuit board, As stated before, this only acts as a pass through to make wiring the joystick easier during production.<a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0505.jpg"><img class="aligncenter size-medium wp-image-367" title="backside of PCB" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0505-300x225.jpg" alt="backside of PCB" width="300" height="225" /></a></p>
<p>Here is a picture of one of the two linear variable resistors.  These are 100Kohm but yours might be different:<a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0504.jpg"><img class="aligncenter size-medium wp-image-368" title="linear variable resistors" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/DSCF0504-300x225.jpg" alt="linear variable resistors" width="300" height="225" /></a></p>
<p>Now that the joystick has been opened up and we know all it&#8217;s secrets, it&#8217;s time to start on the interface for the BOE-BOT.</p>
<h2>The interface circuit</h2>
<p>The interface for your joystick is actually quite simple.  You will need the following items:</p>
<ul>
<li>A 15 pin female D-sub connector with ribbon cable &#8211; I used the one from an old PC that I had many years ago.  The long ribbon was perfect for this job.</li>
<li>4x 220ohm resistors</li>
<li>2x 10K resistors</li>
<li>2x .1uF capacitors &#8211; Note: I used ceramic capacitors in my project as they are easier to work with however in theory electrolytic capacitors should work as well. If you use electrolytics, please pay careful attention to the polarity as electrolytics can explode if hooked in backwards and may risk hurting you and/or damaging your microcontroller.</li>
<li>Jumper wire as needed</li>
</ul>
<p>This will provide the basic parts needed to perform our calibration test.  You will need to hook up the parts as shown in this schematic below.  Click on the image for a full size one if you need it.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/joystick-schematic.jpg"><img class="aligncenter size-medium wp-image-370" title="joystick schematic" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/joystick-schematic-300x205.jpg" alt="joystick schematic" width="300" height="205" /></a></p>
<p>Here is a full pinout of the PC gameport connector that shows all of the various things that the pins are used for: (<a href="http://pinouts.ru/Inputs/GameportPC_pinout.shtml" target="_blank">Pinouts obtained from pinouts.ru &#8211; a good site to have handy</a>)<a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/joystick-pinout.jpg"><img class="aligncenter size-medium wp-image-372" title="joystick pinout" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/joystick-pinout-300x201.jpg" alt="Joystick pinout" width="300" height="201" /></a></p>
<p>In my D-Sub connector, pin 4 and pin 5 are shorted together however this may be done either at the joystick end or in your D-sub cable as well. When in doubt, test it with a multimeter.  If you find that during your calibration test, your buttons do not respond at all try examing those two pins to make sure that they are both shorted together.  <strong>WARNING!</strong> Although the pinouts.ru pinout provided above has some things labeled &#8220;Ground&#8221; and &#8220;+5VDC&#8221; use my schematic as the final verdict.   The reason for this is the pinouts.ru site describes the joystick&#8217;s gameport connector on a computer.  Since we are not using a computer and this is not a digital joystick, I have changed some of the meanings of the pins as shown in my schematic.  If you hook it up differently, you might damage your microcontroller.</p>
<h2>Calibration Software</h2>
<p>Now that the interface is built, we need to write the code needed for making the BOE-BOT &#8220;read&#8221; the joystick and to make it do stuff.  We will be using the RCTIME<span style="text-decoration: underline;"> </span>function of the Basic Stamp to charge and time the two .1uF capacitors.  By timing their discharge rates, we can then mathematically calculate the position of the joystick.</p>
<p>As far as the buttons go, they are just as easy as any other two buttons for your microcontroller.  The BOE-BOT will monitor pin2 and 3 and if they are brought high (by pushing a button) the BS2 will sense it and perform whatever action you have programmed.  For now, we are just getting the calibration information and to make sure everything works properly.  The tags for &#8220;Lights&#8221; and &#8220;Horn&#8221; will come in the next section.</p>
<p>You can download the source code called &#8220;BS2_joystick_diagnostics.bs2&#8243; from my downloads page, or <a href="http://www.yourwarrantyisvoid.com/downloads/files/BS2_joystick_diagnostics.bs2" target="_blank">here is the direct link</a> You might need to right click on the link and go to &#8220;Save As&#8221;.</p>
<p>After loading it into your BOE-BOT, be sure to leave a debug window open, as this is where you can see the RCTIME counts and the buttons.  You may  notice that the values will be all over the place and will constantly be changing but this is normal.  Play around with it a bit and get a general feel for how your joystick works.</p>
<p>If for some reason, your RCTIME is stuck at 0, this indicates that the Basic Stamp is not seeing the capacitor or is not sensing the capacitor&#8217;s discharge.  You will need to check your wiring to make sure everything&#8217;s lined up. If need be, you can use a 100Kohm resistor between pins 1 and 3 or between pins 1 and 6  on your 15 pin D-sub connector to test.  If RCTIME shows up there, then use the multimeter on your joystick&#8217;s D-sub cable and make sure that you can see the resistance changing on those two sets of pins.  If you get no connection on the joystick, you could have a bad joystick on your hands.</p>
<p>Here are the images of my RCTIME output along with a picture showing the position of my joystick.  You will have different numbers, but the format is still the same.</p>
<div id="attachment_377" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/0-position.jpg"><img class="size-medium wp-image-377" title="Center or &quot;zero&quot; position" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/0-position-300x256.jpg" alt="Center or &quot;zero&quot; position" width="300" height="256" /></a><p class="wp-caption-text">Center or &quot;zero&quot; position</p></div>
<div id="attachment_380" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/X-left.jpg"><img class="size-medium wp-image-380" title="X (horizontal) axis left" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/X-left-300x255.jpg" alt="X (horizontal) axis left" width="300" height="255" /></a><p class="wp-caption-text">X (horizontal) axis left</p></div>
<div id="attachment_381" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/X-right.jpg"><img class="size-medium wp-image-381" title="X (horizontal) axis right" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/X-right-300x238.jpg" alt="X (horizontal) axis right" width="300" height="238" /></a><p class="wp-caption-text">X (horizontal) axis right</p></div>
<div id="attachment_383" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Y-up.jpg"><img class="size-medium wp-image-383 " title="Y (vertical) axis up" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Y-up-300x183.jpg" alt="Y axis (vertical) up" width="300" height="183" /></a><p class="wp-caption-text">Y (vertical) axis up</p></div>
<div id="attachment_382" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Y-down.jpg"><img class="size-medium wp-image-382" title="Y (vertical) axis down" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Y-down-300x225.jpg" alt="Y (vertical) axis down" width="300" height="225" /></a><p class="wp-caption-text">Y (vertical) axis down</p></div>
<div id="attachment_378" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Button-0.jpg"><img class="size-medium wp-image-378" title="Button 0 pressed" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Button-0-300x210.jpg" alt="Button 0 pressed" width="300" height="210" /></a><p class="wp-caption-text">Button 0 pressed</p></div>
<div id="attachment_379" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Button-1.jpg"><img class="size-medium wp-image-379" title="Button 1 pressed" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/01/Button-1-300x212.jpg" alt="Button 1 pressed" width="300" height="212" /></a><p class="wp-caption-text">Button 1 pressed</p></div>
<p style="text-align: left;">Once you have a &#8220;feel&#8221; for how the joystick responds, let&#8217;s actually do something with this. You will need to figure out the zones on where to apply the speed settings.   The BS2_Rover application contains routines that can filter out and adjust pulses sent to the servos however this requires a bit of calibration (hence the calibration application).  All you need to do is to figure out where your joystick should switch between off and low, low and medium and lastly medium and high.    The reason for this is that for precise movements, we don&#8217;t want the BOE-BOT to lurch out of control, and while high speed all the time might not be a bad idea, it can be cumbersome trying to get into a small space with it.</p>
<h2>Getting it to work</h2>
<p>Go ahead and download the file &#8220;BS2_joystick_rover.bs2&#8243; from my Downloads page or via <a href="http://www.yourwarrantyisvoid.com/downloads/files/BS2_joystick_rover.bs2" target="_blank">this direct link.</a> Load it up in your Basic Stamp Editor  as now we need to make some adjustments to it.  I&#8217;m pretty sure that your joystick will behave differently than mine will which is why my code won&#8217;t work out of the box.  Well let me rephrase that, the CODE will work, but the joystick calibration will be off.   Using the calibration application above, you can get the RCTIME values needed to make the servo speeds and the directions work properly.  Look at my speed chart below and you will get a better understanding how the BS2 rover works:</p>
<p style="text-align: center;"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/02/speed-chart.jpg"><img class="aligncenter size-full wp-image-390" title="speed chart - fear my awesome mspaint skillz..." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/02/speed-chart.jpg" alt="speed chart" width="569" height="158" /></a></p>
<p>With this chart you can see at which points the BOE-BOT will change speeds.  You will need to make a similar chart for your joystick using the calibration program and then you can edit the BS2 Rover file and add those settings in the two GOSUB statements.  The DEADZONE is important as this is the point where your stick&#8217;s RCTIMEs will fall when no one is touching the joystick.  It is important to have a deadzone that matches your joystick to prevent your BOE-BOT from running away from you.</p>
<p>Something of note is that my chart starts at &#8220;1&#8243; and not &#8220;0&#8243;.  This is because if the VR is at minimum resistance RCTIME will still return a &#8220;1&#8243;.   The only time RCTIME will return a 0 is if there is no load for the capacitor to discharge to, for instance when the joystick is disconnected.  In the event that RCTIME does return a 0, then we will send out the same pulses as what we send out in our deadzone so that way our BOE-BOT does not move once the joystick is unplugged.</p>
<p>Here&#8217;s how the two subroutines work in a nutshell.  You start off with a pulse value of 200 and depending on where your RCTIME is, you will either add to it which makes the servo rotates one direction at one of three speeds or you will subtract from it which will make the servo rotate the other direction at one of three speeds.  Once the comparisons are done,  you add a constant value of 550 to the pulse value.  This pulse value will then get pulsed out to the servos and the wheel turns.</p>
<p>The reason 550 was selected was because 550+200 = 750 which is the point at which your servos do nothing. In the speed chart below, we can see how the offset affects the servo pulses and how each of the two items correspond with the speed levels:</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/02/speed-chart-w-servo-pulses.jpg"><img class="aligncenter size-full wp-image-392" title="speed chart with servo pulses" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/02/speed-chart-w-servo-pulses.jpg" alt="speed chart with servo pulses" width="709" height="254" /></a>So now that you understand the two subroutines, go ahead and edit them to match your joystick&#8217;s behavior and desired positions.</p>
<h2>Extra fun stuff</h2>
<p>Now that we have the complex part out of the way, we can also instruct the BOE-BOT to do something when we press the buttons on the joystick.  I have added a buzzer, a 220 ohm resistor and an LED to the last schematic so that now when we press the trigger button, the piezo buzzer will make a beep-beep sound and when you hit the thumb button, you will see the LED turn on and off.   Here is the updated schematic with our new parts. (Click on it for a full size image)</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/02/joystickschematic2.jpg"><img class="aligncenter size-medium wp-image-393" title="Joystick Schematic 2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/02/joystickschematic2-300x264.jpg" alt="Joystick Schematic 2" width="300" height="264" /></a></p>
<p>Once you have made the needed changes to your code, there&#8217;s one last thing that needs to be done before you upload it to your BOE-BOT.  Check one last time and make sure everything is set properly, otherwise you might have unexpected results.  If all looks well, go ahead and upload then try it out.</p>
<p style="text-align: left;">Here is a video I made of my BOE-BOT in action.  For this test, I used a white ultrabright LED which produced a lot more light than the standard LEDs that came with the BOE-BOT.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/kZrFU7r2F74&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/kZrFU7r2F74&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The &#8220;chugging&#8221; motion is normal.  This is the BOE-BOT, checking the RCTIME of X, pulsing out the X servo, checking RCTIME of Y, pulsing out the Y servo, checking the buttons then repeating itself.  Since the BOE-BOT is a single-process chip, it can only do one thing at a time otherwise the motion would be a lot smoother than it is.   If you are using the Propeller, you will get smoother action out of it by dedicating a COG to monitoring the joystick&#8217;s X and Y axes, and another COG to controlling the servos.</p>
<h2>Last words</h2>
<p>Using an analog joystick for your robotics projects can be an excellent way to bring an easy and intuitive interface for robot control into your project and I hope that this article shows you how easy it is to use.  It doesn&#8217;t take any fancy coding, expensive hardware or overkill designs, just some basic knowledge of how RCTIME works and a few bucks for the joystick. With a minimal part count, you can increase the flexibility of your robot&#8217;s design quite easily and you might even save yourself some programming headaches later on.</p>
<p>As always, thank you for reading.</p>
<p>FIRESTORM_v1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/02/03/basic-stamp-a-quick-guide-on-using-a-legacy-joystick/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Add an SD card slot to a WRT54G v2</title>
		<link>http://www.yourwarrantyisvoid.com/2009/09/09/add-an-sd-card-slot-to-a-wrt54g-v2/</link>
		<comments>http://www.yourwarrantyisvoid.com/2009/09/09/add-an-sd-card-slot-to-a-wrt54g-v2/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 08:27:18 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linksys]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[SD card]]></category>
		<category><![CDATA[WRT54G]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=95</guid>
		<description><![CDATA[In this post, we&#8217;ll cover step-by-step how to add a SD cardslot to your Linksys WRT54G running DD-WRT and how to configure it in the DD-WRT UI.    Granted, this has been done a lot already, however there is a significant lack of information on how to do it on the older V2&#8242;s.  Read more for [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-97" title="router" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/M130.png" alt="router" width="128" height="137" />In this post, we&#8217;ll cover step-by-step how to add a SD cardslot to your Linksys WRT54G running DD-WRT and how to configure it in the DD-WRT UI.    Granted, this has been done a lot already, however there is a significant lack of information on how to do it on the older V2&#8242;s.  Read more for the complete step-by-step guide.<span id="more-95"></span></p>
<p>One of the advantages to using alternative firmware on &#8220;stock&#8221; devices is that it allows you to unlock the full potential of your hardware.  Using the latest version of DD-WRT, you can now enable esternal storage on your WRT54G to add to the default image.  With additional storage for your router, the possibilities are endless.</p>
<p><span style="text-decoration: underline;"><strong>PLEASE NOTE:</strong></span> The pictures and information for adding the SD cardslot is only applicable to the Version 2 of the Linksys router.  Attempting to do this on newer routers using this guide may result in damage to the router, the SD card or both.  You can not hold me liable for any damage, so please read first and do some research before you crack the case open. The 15 minutes you may spend now may save you some blue smoke later.</p>
<p><strong>Items Required:</strong></p>
<ul>
<li><strong>SD card slot</strong> &#8211; I stole one out of a 4 in one card reader from a failed hacking attempt from another project.</li>
<li><strong>SD card</strong> &#8211; Use a cheap one to verify it&#8217;s working first, then use whatever size you want.</li>
<li><strong>A piece of PCB &#8211; </strong>I used a piece of board that I had left over from another project, but <a title="Radio Shack Perfboard" href="http://www.radioshack.com/product/index.jsp?productId=2104052" target="_blank">this one from Radio Shack</a> works well too.<em> </em></li>
<li><strong>Jumper Wire</strong> &#8211; If you have multiple colors, this would be beneficial in keeping the lines straight for wiring.</li>
<li><strong>Small nuts and bolts</strong></li>
<li><strong>Fine Tip soldering iron</strong></li>
<li><strong>Dremel cutting tool</strong></li>
<li><strong>(Optional) Razor Knife or X-acto Knife set</strong></li>
</ul>
<p>First thing&#8217;s first.  This howto only covers the process of adding the card slot to the router and configuring DD-WRT.  It does not cover installing DD-WRT on the router or which router is best for the process.  The process of installing DD-WRT is very very well documented as well as the router&#8217;s specs for <a title="DD-WRT supported devices" href="http://www.dd-wrt.com/wiki/index.php/Supported_Devices" target="_blank">supported devices</a> over at the <a title="DD-WRT Wiki" href="http://www.dd-wrt.com/wiki/index.php/Main_Page" target="_blank">DD-WRT Wiki</a>.</p>
<h2>Getting to know the SD card</h2>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0386.JPG"><img class="aligncenter size-medium wp-image-98" title="SD card pinout" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0386-300x296.jpg" alt="SD card pinout" width="300" height="296" /></a>The SD card pinout shown above indicates that although the card has 9 pins, we will only be using 7 of them.  Unlike most devices, the indented pin is not pin 1, but is pin 9, with pin 1 next to it.  Here&#8217;s a quick reference showing what each pin is and what it does:</p>
<ul>
<li>Pin 1 &#8211; Chip Select &#8211; When this is brought high, the SD card is &#8220;turned on&#8221; and allows it to receive data or send data in sync with the CLK pin (pin 5)</li>
<li>Pin 2 &#8211; Data In &#8211; This pin is used to receive data from the WRT54G for writing or for commands</li>
<li>Pin 3 &#8211; Vss (GND) &#8211; This is a ground pin and is tied to Pin 6 for one less wire to deal with.  It is important that both pins be brought together.</li>
<li>Pin 4 &#8211; VCC (or +5VDC) &#8211; This pin supplies power to the SD card.</li>
<li>Pin 5 &#8211; CLK &#8211; This is the clock line that the WRT sends to the SD card.  This pin synchronizes the data coming in or going out of the WRT54G so that the SD card has the proper timing to read and write data.</li>
<li>Pin 6 &#8211; Vss (GND) &#8211; This pin is also ground.</li>
<li>Pin 7 &#8211; DO &#8211; This pin is data out to the WRT54G</li>
<li>Pin 8 &#8211; Not Connected for this project.</li>
<li>Pin 9 &#8211; Also not connected for this project.</li>
</ul>
<p>We will be using some connections in the WRT54G called GPIOs to connect the various pins of the SD card to the WRT54G&#8217;s hardware.  These GPIO pins are already used for other functions, but with the driver built into DD-WRT, we can use them to also control the SD card.</p>
<h2>Step 1: Prepare the SD Card slot:</h2>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0332.JPG"><img class="aligncenter size-medium wp-image-99" title="SD card slot" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0332-300x225.jpg" alt="SD card slot" width="300" height="225" /></a>This is a picture of the SD card slot that I will be using.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0335.JPG"><img class="aligncenter size-medium wp-image-100" title="Card slot and perfboard" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0335-300x225.jpg" alt="Card slot and perfboard" width="300" height="225" /></a>In this picture, I felt it necessary to scrape off the PCB solder pads under the SD card itself.  This is where the X-acto knife kit comes in handy.  The two solder &#8220;dots&#8221; in between the screw holes is for anchoring the tabs of the SD card slot and is recommended for making the card slot resistant to damage from repeated inserts and extracts.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0333.JPG"><img class="aligncenter size-medium wp-image-101" title="Card slot and PCB back-end" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0333-300x225.jpg" alt="Card slot and PCB back-end" width="300" height="225" /></a>In this shot, I have lucked out.  Each of the pins from the card slot match one of the solder pads on the PCB with no difficulty.  This will greatly help soldering the wires to the cardslot.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0336.JPG"><img class="aligncenter size-medium wp-image-102" title="Ground wires in place" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0336-300x225.jpg" alt="Ground wires in place" width="300" height="225" /></a>I recommend starting off with the ground wires, pin3 and pin 6.  The little loop is the bridge between the two.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0339.JPG"><img class="aligncenter size-medium wp-image-103" title="DSCF0339" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0339-300x225.jpg" alt="DSCF0339" width="300" height="225" /></a>Wire the rest of the wires to their respective pins on the SD card slot. When all is said and done, you should have 6 wires.   At this point, we&#8217;re done with the card slot and we&#8217;re ready to start soldering to the WRT54G.</p>
<h2>Step 2: Making connections</h2>
<p>If you haven&#8217;t done so already, go ahead and take the WRT54G apart.</p>
<ul>
<li>Start by unplugging the WRT54G&#8217;s power and network cables.</li>
<li>Unscrew both of the antennas and set aside</li>
<li>Grab the grey part of the WRT54G in one hand and the blue part in your other hand.</li>
<li>Pull the two halves apart and set the blue part aside.</li>
<li>Slide the top cover away from the bottom half of the WRT54G.</li>
</ul>
<p>Now for the hard part.  There are six locations that need to be wired up in order for this to work properly.  We&#8217;ll start off with the easy one. Pin 1 (CS) goes to the + side of the DMZ LED.  In this orientation, the component side of the PCB faces away from you, essentially you&#8217;re looking up from the bottom.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF03871.JPG"><img class="aligncenter size-medium wp-image-105" title="CS pin to + of DMZ LED" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF03871-300x225.jpg" alt="CS pin to + of DMZ LED" width="300" height="225" /></a>Attach the pin 1 lead to the <strong>right</strong> pin of the  DMZ LED.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0342-reduced1.JPG"><img class="aligncenter size-medium wp-image-107" title="Pin 4, +5v and Pin 3,6 GND" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0342-reduced1-300x225.jpg" alt="Pin 4, +5v and Pin 3,6 GND" width="300" height="225" /></a>In this picture, we will be using the In Circuit Programmer port for pin 4 and pins 3,6.  The Pin 4 (+5V) goes to the pin 1 on the ICP port, while the pins 3,6 (GND) goes to pin 10 of the ICP port. Orient the router so that the two antennas point up and away from you and that the component side faces you. The ICP port is an unpopulated 10 pin header located in the lower right hand quadrant of the router&#8217;s circuit board.</p>
<p>The next three leads are the most important AND the most difficult.  You can click on the image to get a larger view if you need it.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF03401.JPG"><img class="aligncenter size-medium wp-image-108" title="Last three pins" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF03401-300x185.jpg" alt="Last three pins" width="300" height="185" /></a>With the same orientation discussed as before, just south of the ADMtek chip is where the last three pins go.  This is the hardest part of the build as you must attach to a resistor network that itself is very tiny.  It took me several attempts and I had to superglue the wires down so that they wouldn&#8217;t move (not shown in this shot).</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF03402.JPG"><img class="aligncenter size-medium wp-image-109" title="Extreme close up" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF03402-300x201.jpg" alt="Extreme close up" width="300" height="201" /></a>Here is an EXTREME close up of the resistor network (still same orientation).  This is a 4 resistor chip, with 2 rows of 4 pins each.  Pin 1 is the upper left hand corner and is wired to DI (pin 2) of the SD card. Pin 6 (second from the left on the lower side of the resistor network) goes to the CLK (pin 5) of the SD card, while pin 7 of the resistor network is wired to DO (pin 7) of the SD card.</p>
<h2>Step 3: Box it up!</h2>
<p>Now that you&#8217;ve gotten the card set up, it&#8217;s time to put it together.  Now, there are many a howto that have a million and one locations to mount the card slot.  I wanted something that didn&#8217;t look kludged together or didn&#8217;t have the cardslot sticking out of some random location. I instead chose the back of the WRT, just above the ethernet ports.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0345.JPG"><img class="aligncenter size-medium wp-image-110" title="SD card slot and Dremel" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0345-300x225.jpg" alt="SD card slot and Dremel" width="300" height="225" /></a>Thankfully for me, the SD card was slightly larger than the diameter of the cutting wheel of my Dremel.  Making a single cut was quite easy.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0348.JPG"><img class="aligncenter size-medium wp-image-111" title="SD card in place" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0348-300x225.jpg" alt="SD card in place" width="300" height="225" /></a>I made my cut just above the Ethernet ports and secured the PCB to the top cover.  The bolts holding the PCB in place were just short enough to clear the RJ45 connection block so no additional work was necessary.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0352.JPG"><img class="aligncenter size-medium wp-image-112" title="Completed mod" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0352-300x225.jpg" alt="Completed mod" width="300" height="225" /></a>Here&#8217;s a view after the WRT54G completely assembled (and also where my Dremel nicked the plastic cover)</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0353.JPG"><img class="aligncenter size-medium wp-image-113" title="DSCF0353" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/DSCF0353-300x225.jpg" alt="DSCF0353" width="300" height="225" /></a>One more shot of the completed mod, the only thing I would like to have done is found countersunk bolts.  Unfortunately, I was limited to what I had on hand at the time.  All in all, it&#8217;s a very clean modification.</p>
<h2>Step 4: Configure DD-WRT</h2>
<p>Now all that&#8217;s left to do is to configure DD-WRT.  Before we begin, make sure that you have cleared out the SD card of any data you want prior to working with it.  Once we get the card working, the router will format the card with an EXT3 filesystem, erasing anything already on the card.</p>
<p>Go ahead and hook up the router to power and network.  Don&#8217;t stick the SD card in just yet, first we have to configure DD-WRT for the card.  Click on &#8220;Managment&#8221; and scroll down to the &#8220;MMC/SD card support&#8221;.  Enable it if it&#8217;s not already enabled and set the GPIO pins detect to &#8220;Manual&#8221;.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/SD-success-Mozilla-Firefox-1.png"><img class="aligncenter size-medium wp-image-114" title="SD card GPIO pin settings" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/SD-success-Mozilla-Firefox-1-300x210.png" alt="SD card GPIO pin settings" width="300" height="210" /></a>When you select &#8220;Manual&#8221;, you will need to put in some numbers for the four signal leads.  I used the following settings:</p>
<ul>
<li>DI (Data In) &#8211; GPIO 5</li>
<li>DO (Data Out) &#8211; GPIO 3</li>
<li>CLK (Clock) &#8211; GPIO 4</li>
<li>CS (Chip Select) &#8211; GPIO 7</li>
</ul>
<p>Scroll down, and hit &#8220;Save Settings&#8221;.  The screen will fade out then fade back in.  Once the screen fades back in, disconnect the power from the WRT and insert your SD card. Power on the router and you should notice that the DMZ LED starts flashing intermittently.  This is good news.</p>
<p>Log back into the DD-WRT admin panel and hopefully, if everything is correct, you will see values filled in for Total/Free Size.  If you do, then congratulations. you&#8217;re done!  You can login via Telnet to the router and see that it&#8217;s mounted and ready to roll.</p>
<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/mounted-SD.png"><img class="aligncenter size-medium wp-image-115" title="mounted SD" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/09/mounted-SD-300x208.png" alt="mounted SD" width="300" height="208" /></a>From here, you can now compile things on a Linux box, save them to your SD card and then use your SD card to launch your programs on the WRT itself.  Just remember to mount and umount the card and you won&#8217;t have to worry about corrupting the filesystem on the card.</p>
<h2>Afterword:</h2>
<p>Thanks goes out to the DD-WRT user community for making this possible and thanks goes to the original person that hacked out GPIO SD-card support into the kernel running on DD-WRT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2009/09/09/add-an-sd-card-slot-to-a-wrt54g-v2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Parts: Parallax VGA/Dual PS/2 breadboard adapter</title>
		<link>http://www.yourwarrantyisvoid.com/2009/08/31/parts-parallax-vgadual-ps2-breadboard-adapter/</link>
		<comments>http://www.yourwarrantyisvoid.com/2009/08/31/parts-parallax-vgadual-ps2-breadboard-adapter/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 00:45:55 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[Parallax]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[propeller]]></category>
		<category><![CDATA[PS/2]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[schwag]]></category>
		<category><![CDATA[VGA]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=78</guid>
		<description><![CDATA[Seeded by a submission made by me, Parallax announced very recently that they have released a new product, a VGA /Dual PS/2 breadboard adapter.   Today, I got my hands on the new adapter and I couldn&#8217;t be happier.  Read on for more details and my first impression regarding this new product which I&#8217;m sure will [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-79" title="parallax_logo" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/08/parallax_logo.jpg" alt="parallax_logo" width="322" height="105" />Seeded by a submission made by me, Parallax announced very recently that they have released a new product, a <a title="Parallax VGA/Dual PS2 adapter" href="http://www.parallax.com/Store/Microcontrollers/PropellerTools/tabid/143/ProductID/583/List/0/Default.aspx?SortField=ProductName,ProductName" target="_blank">VGA /Dual PS/2 breadboard adapter</a>.   Today, I got my hands on the new adapter and I couldn&#8217;t be happier.  Read on for more details and my first impression regarding this new product which I&#8217;m sure will generate a lot of new application ideas for their <a title="Propeller microprocessor" href="http://www.parallax.com/propeller" target="_blank">Propeller</a> microcontroller platform.<span id="more-78"></span></p>
<p>I have to admit that when I had started looking into more advanced microprocessors, I really hadn&#8217;t given the Propeller a good looking over.  When I heard about the <a title="PropIRC project" href="http://www.parallax.com/Resources/ApplicationsContests/Contests/PropellerContest/PropIRC/tabid/701/Default.aspx" target="_blank">PropIRC project</a> I had to admit that my interest was piqued.  I had read about the Propeller being used to drive a television set via a composite connector but here was a fully implemented VGA compatible application that was not only impressively executed by Harrison Pham in the build of his PropIRC, but also demonstrated the Propeller&#8217;s full range of capabilities.</p>
<p>I ordered my <a title="Propeller Education Kit (40 pin DIP)" href="http://www.parallax.com/Store/Education/KitsandBoards/tabid/182/CategoryID/67/List/0/SortField/0/Level/a/ProductID/415/Default.aspx" target="_blank">Propeller Education Kit (40 pin DIP version)</a> and was excited to start coding.  By using the <a title="Propeller Object Exchange" href="http://obex.parallax.com/" target="_blank">Propeller Object Exchange</a> I was able to quickly test just how easy it was to add a PS/2 mouse and keyboard to my testbed.  When I ordered the TV breadboard adapter, I was even more enthralled with the idea of being able to create a standalone device or an embedded device that could interface to standard computer hardware (monitor, keyboard and mouse).  Although I was inspired, I was let down by the complexity of the VGA connection, requiring at least 8 maybe 10 pins to interface, in addition to that, no breaboard connection existed for the VGA connection.</p>
<p>I wrote to Parallax a few months ago and asked them to consider building a VGA/Dual PS2 port breadboard add-on that was a lot like their <a title="Propeller Prototype board (USB)" href="http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/Level/a/ProductID/509/Default.aspx?SortField=ProductName%2cProductName" target="_blank">Propeller Prototype</a> board which already had the solder pads on it for the related <a title="Propeller Proto Board accessory kit" href="http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/Level/a/ProductID/425/Default.aspx?SortField=ProductName%2cProductName" target="_blank">Propeller Proto Board accessory kit</a>.  Within an hour, I had an email back from a representative at Parallax that they talked to the lead engineer and they loved the idea.  A few minutes after that, I had an email from Jim Carey saying that not only did they like the idea, they were going to ship me a couple free.  Add to that my surprise when he also stated that he would also give me a <a title="Propeller Servo Controller" href="http://www.parallax.com/Store/Accessories/MotorServoControllers/tabid/160/ProductID/595/List/0/Default.aspx?SortField=ProductName,ProductName" target="_blank">Propeller Servo Controller</a> for free as a bonus thank you.</p>
<p>Talk about a company that really listens to their customers.  Not only did they like the idea, but they were going to give me two just for emailing them a product suggestion and on top of that, give me one of their newest products!  I think it&#8217;s safe to say that I&#8217;m a Parallax customer for life.  I just need to buckle down and start learning the Propeller code and get good with programming it.</p>
<p>But, enough of my story, let&#8217;s review the hardware!</p>
<p>In the VGA/PS2 adapter kit, (<a title="VGA-PS/2 adapter kit" href="http://www.parallax.com/Store/Microcontrollers/PropellerTools/tabid/143/ProductID/583/List/0/Default.aspx?SortField=ProductName,ProductName" target="_blank">Parallax part # 28075</a>) you get the Dual PS/2 and VGA adapter, a single row pin header and a small PCB with the resistors in place already.</p>
<div id="attachment_82" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-82" title="DSCF0380" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/08/DSCF03802-300x225.jpg" alt="parts picture" width="300" height="225" /><p class="wp-caption-text">parts picture</p></div>
<p>The kit comes with the resistors pre-mounted to the PCB, so all you have to do is to solder the SIP  connector and the VGA module.  The completed module looks like this:</p>
<div id="attachment_83" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-83" title="DSCF0382" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/08/DSCF0382-300x225.jpg" alt="Front view, assembled module" width="300" height="225" /><p class="wp-caption-text">Front view, assembled module</p></div>
<p>Here is a side view of the module after it&#8217;s been assembled:</p>
<div id="attachment_84" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-84" title="DSCF0383" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/08/DSCF0383-300x225.jpg" alt="side profile picture" width="300" height="225" /><p class="wp-caption-text">side profile picture</p></div>
<p>The really cool thing about this is that by NOT assembling the module completely, this leaves an opportunity to mount the module in a case and use ribbon cables to attach to your project&#8217;s main PCB while still providing you the flexibility of being able to use a more modular build.  Since these connectors may wear out over time, it&#8217;s a lot easier to replace the module and a ribbon cable that is easily de-soldered, than it would be to desolder the entire module from your project&#8217;s main PCB.</p>
<p>Here is a quick shot of what it looks like all jumpered in.  The SIP header allows the module to plug in straight into the breadboard and a series of jumper wires connects the module to the Propeller IO pins:</p>
<div id="attachment_85" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-85" title="DSCF0384" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/08/DSCF0384-300x225.jpg" alt="Propeller VGA/PS2 module all wired up" width="300" height="225" /><p class="wp-caption-text">Propeller VGA/PS2 module all wired up</p></div>
<p>With that said, of course I set out to test it fully.  I looked to the Parallax Object Exchange and found an object that used the original Hi-Res VGA Driver written by Chip Gracey.  This object provided a Text based GUI implementation and was written by Allen Marincak.  You can download the GUI implementation from Parallax&#8217;s Object Exchange <a title="Propeller Object - HiRes VGA GUI" href="http://obex.parallax.com/objects/413/" target="_blank">here</a> and the original Hi-Res VGA driver <a title="original High Res VGA driver" href="http://obex.parallax.com/objects/68/" target="_blank">here</a>.</p>
<p>If you are going to try this out for yourself, the pins are straight across, from bottom to top (or right to left using the above picture) with &#8220;V&#8221; (vertical sync) being connected to IO pin 16, and Keyboard Clock being connected to IO pin 27.</p>
<p>Here is a screenshot of the VGA GUI implementation fully operational:</p>
<div id="attachment_86" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-86" title="DSCF0385" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/08/DSCF0385-300x225.jpg" alt="VGA GUI implementation" width="300" height="225" /><p class="wp-caption-text">VGA GUI implementation</p></div>
<p>This implementation supports full keyboard and mouse connectivity with little to no overhead on processing.  The mouse &#8220;pointer&#8221; is the single green box to the left of the upper left most text box.</p>
<p>On a personal level, I am very excited about this and look forward to using the VGA library and the VGA GUI library in my own implementations.</p>
<p><strong>Manufacturer:</strong> <a title="Parallax website" href="http://www.parallax.com" target="_blank">Parallax</a></p>
<p><strong>Product Link</strong>: <a title="Parallax VGA/Dual PS2 adapter" href="http://www.parallax.com/Store/Microcontrollers/PropellerTools/tabid/143/ProductID/583/List/0/Default.aspx?SortField=ProductName,ProductName" target="_blank">VGA-Ps2 Breadboard adapter</a></p>
<p><strong>Part Cost: </strong>$12.99 USD (as of this posting) + shipping.</p>
<p><strong>Verdict:</strong> Highly recommended for anyone seeking to use VGA and PS2 mouse/keyboard in their application design but can&#8217;t afford the full Professional Development Board.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2009/08/31/parts-parallax-vgadual-ps2-breadboard-adapter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
