<?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>SheekGeek &#187; serial</title>
	<atom:link href="http://sheekgeek.org/tag/serial/feed" rel="self" type="application/rss+xml" />
	<link>http://sheekgeek.org</link>
	<description>A young couples adventure in DIY and life.</description>
	<lastBuildDate>Sat, 19 May 2012 17:23:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Add Automatic Reset to Your FTDI-232R Cable</title>
		<link>http://sheekgeek.org/2010/adamsheekgeek/add-automatic-reset-to-your-ftdi-232r-cable</link>
		<comments>http://sheekgeek.org/2010/adamsheekgeek/add-automatic-reset-to-your-ftdi-232r-cable#comments</comments>
		<pubDate>Wed, 31 Mar 2010 18:51:34 +0000</pubDate>
		<dc:creator>Adam@SheekGeek</dc:creator>
				<category><![CDATA[Adventures in DIY]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[FTDI]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[serial]]></category>

		<guid isPermaLink="false">http://sheekgeek.org/?p=435</guid>
		<description><![CDATA[
I&#8217;ve had a FTDI cable for a while for testing serial communications between my microprocessors and my computer and for that job, it works great. However, I recently grabbed a couple Ardweenies from Solarbotics and decided to use my FTDI cable to program them.   The FTDI cable doesn&#8217;t have an automatic reset, so you have to push the reset button on the board at exactly the right time when trying to program it from your computer.   This causes tons of frustration. 
Oddly, a few days of experimenting with ...]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<p style="margin-bottom: 0in;"><a href="http://sheekgeek.org/wp-content/uploads/2010/03/685_small.jpg"><img class="size-medium wp-image-440 alignleft" title="Labeled Pins" src="http://sheekgeek.org/wp-content/uploads/2010/03/685_small-300x225.jpg" alt="" width="300" height="225" /></a>I&#8217;ve had a FTDI cable for a while for testing serial communications between my microprocessors and my computer and for that job, it works great. However, I recently grabbed a couple <a href="http://www.solarbotics.com/products/kardw/">Ardweenies from Solarbotics</a><span style="text-decoration: none;"> and decided to use my FTDI cable to program them.   The FTDI cable doesn&#8217;t have an automatic reset, so you have to push the reset button on the board at exactly the right time when trying to program it from your computer.   This causes tons of frustration. </span></p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Oddly, a few days of experimenting with the arduinos, my cable got a short in it. While fixing the short, I was surprised to find out that the FTDI cable uses the same chip as the </span><a href="http://www.solarbotics.com/products/50512/">Sparkfun Programmer</a><span style="text-decoration: none;"> (which has automatic reset) so I went about modifying my cable to include this feature. </span></p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Modifying the cable is much easier said than done, but since I got it working, I figured I&#8217;d do a write-up on it in case anyone else wants to give it a shot.</span></p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;"><span id="more-435"></span></span></p>
<p>The first thing you must do is remove the molded plastic housing around the USB connector.  This is made by placing the PCB into a mold and pouring in liquid plastic, so it is literally molded to the circuit board.  I opened mine very carefully with an exacto knife by slicing along the seams.  Once the seams were slices, I peeled the plastic back to reveal the PCB.</p>
<p><a href="http://sheekgeek.org/wp-content/uploads/2010/03/211.jpg"></a><a href="http://sheekgeek.org/wp-content/uploads/2010/03/P1080191_small.jpg"><img class="alignnone size-full wp-image-438" title="Opening Up" src="http://sheekgeek.org/wp-content/uploads/2010/03/P1080191_small.jpg" alt="" width="614" height="460" /></a></p>
<p>At this point, I found the problem with my cable, the ground wire had broken off the board.  I quickly fixed that problem and began trying to find out how to modify the circuit.</p>
<p>The problem with this cable is that the end connector has all the correct outputs for arduino programming except one.  The Green wire on the connector connects to the RTS pin of the FTDI chip instead of the DTR pin.  The DTR pin is used to automatically reset the arduino board before programing.  I looked up the chip and found it to be the same one as on the Sparkfun Programmer.  This was great news.  It meant that I could modify it to auto-reset my arduino so I don&#8217;t have to push the reset button every time I try to download a sketch.  So I looked up which pin on the FTDI chip the DTR pin was.</p>
<p>In the datasheet for the FTDI chip, It shows that the DTR and RTS pins are side by side (pins 31 and 32.)</p>
<p><a href="http://sheekgeek.org/wp-content/uploads/2010/03/FTDIRQ.jpg"><img class="alignnone size-full wp-image-439" title="FTDIRQ" src="http://sheekgeek.org/wp-content/uploads/2010/03/FTDIRQ.jpg" alt="" width="308" height="282" /></a><br />
<em>Here you can see the view of the bottom of the chip (mirrored form the top perspective)</em></p>
<p>Finding this on the actual chip was complicated.  I had to pull out the Macro lens for the camera just to see the pins.</p>
<p><a href="http://sheekgeek.org/wp-content/uploads/2010/03/685_small.jpg"><img class="alignnone size-full wp-image-440" title="Labeled Pins" src="http://sheekgeek.org/wp-content/uploads/2010/03/685_small.jpg" alt="" width="652" height="489" /></a></p>
<p>Testing with the multimeter proved that the DTR pin isn&#8217;t connected to any vias or solder pads on the board.  The connection would have to be made directly to the pin.This was no easy task.  The thinnest wire I had available is from an old wire wrap kit.  Even this was too large to connect to the pin.  I tinned the tip of the wire carefully, and attempted to use my home made hot air reflow pen, which didn&#8217;t work at all.  Then I tried a heat gun, which neatly melted all the parts on the board.  Finally, I had to manually solder a wire to the pin.  The thinnest soldering iron tip I have is about 5 times the size of the pin.</p>
<p>After a couple of hours of trying, and even a couple of good solder connections that broke because they were so thin, I decided to put the wirewrap wire through one of the vias on the board for support.  This helped, and after about another hour of attempting, I finally got a good connection.  As soon as I verified it, I coated the whole thing in a couple layers of super glue to hold it fast.</p>
<p><a href="http://sheekgeek.org/wp-content/uploads/2010/03/P1160694_small.jpg"><img class="alignnone size-medium wp-image-441" title="P1160694_small" src="http://sheekgeek.org/wp-content/uploads/2010/03/P1160694_small-300x225.jpg" alt="" width="300" height="225" /> </a><a href="http://sheekgeek.org/wp-content/uploads/2010/03/P1160698_small.jpg"><img class="alignnone size-medium wp-image-442" title="Glued2" src="http://sheekgeek.org/wp-content/uploads/2010/03/P1160698_small-300x225.jpg" alt="" width="300" height="225" /></a><br />
<em> The final solder connection covered in super glue.</em></p>
<p>After the glue dried, I then desoldered the green wire from the board and connected it to other end of the wirewrap wire.  To get things to fit back into the plastic housing, I had to mill out the inside a bit with my dremel.  Then put the housing back together and super glued the seams.  To hold this tight, I wrapped it with a few zip ties until dry.</p>
<p style="text-align: center;"><a href="http://sheekgeek.org/wp-content/uploads/2010/03/211.jpg"><img class="size-full wp-image-437 aligncenter" title="Seams" src="http://sheekgeek.org/wp-content/uploads/2010/03/211.jpg" alt="" width="498" height="186" /></a></p>
<p>Now my FTDI cable is better than ever! All I have to do to program my Ardweeny now is click the download button in the program.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;"><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } -->&nbsp;</p>
<p style="margin-bottom: 0in;">Add Automatic Reset to Your FTDI-232R Cable:</p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;">I&#8217;ve had a FTDI cable for a while for testing serial communications between my microprocessors and my computer and for that job, it works great. However, I recently grabbed a couple <span style="text-decoration: underline;">Ardweenies from Solarbotics</span><span style="text-decoration: none;"> and decided to use my FTDI cable to program them.  The FTDI cable doesn&#8217;t have an automatic reset, so you have to push the reset button on the board at exactly the right time when trying to program it from your computer.  This causes tons of frustration. </span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Oddly, a few days of experimenting with the arduinos, my cable got a short in it. While fixing the short, I was surprised to find out that the FTDI cable uses the same chip as the </span><span style="text-decoration: underline;">Sparkfun Programmer</span><span style="text-decoration: none;"> (which has automatic reset) so I went about modifying my cable to include this feature. </span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Modifying the cable is much easier said than done, but since I got it working, I figured I&#8217;d do a write-up on it in case anyone else wants to give it a shot.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">The first thing you must do is remove the molded plastic housing around the USB connector.  This is made by placing the PCB into a mold and pouring in liquid plastic, so it is  literally molded to the circuit board. I opened mine very carefully with an exacto knife by slicing along the seams. Once the seams were slices, I peeled the plastic back to reveal the PCB.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;191&gt;</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">At this point, I found the problem with my cable, the ground wire had broken off the board. I quickly fixed that problem and began trying to find out how to modify the circuit.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">The problem with this cable is that the end connector has all the correct outputs for arduino programming except one.  The Green wire on the connector connects to the RTS pin of the FTDI chip instead of the DTR pin. The DTR pin is used to automatically reset the arduino board before programing.   I looked up the chip and found it to be the same one as on the </span><span style="text-decoration: underline;">Sparkfun Programmer.</span><span style="text-decoration: none;"> This was great news. It meant that I  could modify it to auto-reset my arduino so I don&#8217;t have to push the reset button every time  I try to download a sketch.  So I looked up which pin on the FTDI chip the DTR pin was. </span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">In the datasheet for the FTDI chip, It shows that the DTR and RTS pins are side by side (pins 31 and 32.)</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;FTDIRQ&gt;</span></p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Here you can see the view of the bottom of the chip (mirrored form the top perspective)</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Finding this on the actual chip was complicated.  I had to pull out the Macro lens for the camera just to see the pins.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;685&gt;</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Testing with the multimeter proved that the DTR pin isn&#8217;t connected to any vias or solder pads on the board. The connection would have to be made directly to the pin.This was no easy task. The thinnest wire I had available is from an old wire wrap kit. Even this was too large to connect to the pin. I tinned the tip of the wire carefully, and attempted to use my home made hot air reflow pen, which didn&#8217;t work at all.  Then I tried a heat gun, which neatly melted all the parts on the board.  Finally,  I had to manually solder a wire to the pin.  The thinnest soldering iron tip I have is about 5 times the size of the pin.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">After a couple of hours of trying, and even a couple of good solder connections that broke because they were so thin, I decided to put the wirewrap wire through one of the vias on the board for support. This helped, and after about another hour of attempting, I finally got a good connection. As soon as I verified it, I coated the whole thing in a couple layers of super glue to hold it fast.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;693&gt; Tantalizingly close to being done, this solder connection broke.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;694&gt; The final solder connection covered in super glue.</span></p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;698&gt;</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">After the glue dried, I then desoldered the green wire from the board and connected it to other end of the wirewrap wire.  To get things to fit back into the plastic housing, I had to mill out the inside a bit with my dremel.  Then put the housing back together and super glued the seams.  To hold this tight, I wrapped it with a few zip ties until dry.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">&lt;211&gt;</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
<p style="margin-bottom: 0in;"><span style="text-decoration: none;">Now my FTDI cable is better than ever!  All I have to do to program my Ardweeny now is click the download button in the program.</span></p>
<p style="margin-bottom: 0in;">&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://sheekgeek.org/2010/adamsheekgeek/add-automatic-reset-to-your-ftdi-232r-cable/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

