<?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>Colin Karpfinger</title>
	<atom:link href="http://colinkarpfinger.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://colinkarpfinger.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 15 Nov 2012 18:12:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Rusty Forks (not spoons)</title>
		<link>http://colinkarpfinger.com/blog/2012/rusty-forks-not-spoons/</link>
		<comments>http://colinkarpfinger.com/blog/2012/rusty-forks-not-spoons/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 02:40:39 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=280</guid>
		<description><![CDATA[It's cool living blocks from the ocean, except in San Francisco, where that just means cold-ass fog.  Being San Francisco, that could also be cold ass-fog.  Either one is bad for your motorcycle.  (for all you TLDR people, note the hyphen) I replaced my front forks on my Kawasaki Ninja 500R about 10 months ago, [...]]]></description>
			<content:encoded><![CDATA[<p>It's cool living blocks from the ocean, except in San Francisco, where that just means cold-ass fog.  Being San Francisco, that could also be cold ass-fog.  Either one is bad for your motorcycle.  (for all you TLDR people, note the hyphen)</p>
<p>I replaced my front forks on my Kawasaki Ninja 500R about 10 months ago, and they were pitting again.  I read a bunch of info on forums on how people are solving this, and decided to give it a shot myself.  I'm not going to cover the standard steps to remove the front forks, as there are plenty of other places to find that.  Clymers manuals will work, or this place: http://www.cyclepedia.com/</p>
<div id="attachment_281" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0850.jpg"><img class="size-large wp-image-281" title="IMG_0850" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0850-1024x768.jpg" alt="Rusty Fork" width="550" height="412" /></a><p class="wp-caption-text">look at those nasty things</p></div>
<p>&nbsp;</p>
<div id="attachment_290" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0849.jpg"><img class="size-large wp-image-290" title="IMG_0849" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0849-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">Looks pretty funny without a front wheel</p></div>
<p>Before you get started you're going to need a 12mm Allen Wrench.  No problem, right? Just head down to the local hardware store.  Wrong.  Okay, maybe the auto parts store.  Also wrong.  None of those bastards had it, so order it in advance from McMaster (<a href="http://www.mcmaster.com/#">71285A196</a>), or call ahead of time.</p>
<p>First I sanded down the pitted spots using 800 grit sandpaper (McMaster PN: <a title="Add item to current order" href="http://www.mcmaster.com/nav/enter.asp?partnum=4611A315" target="_blank">4611A315</a>). Then a bit with 1200 grit (McMaster PN: <a title="Add item to current order" href="http://www.mcmaster.com/nav/enter.asp?partnum=4611A313" target="_blank">4611A313</a>).</p>
<div id="attachment_282" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0852.jpg"><img class="size-large wp-image-282" title="IMG_0852" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0852-1024x768.jpg" alt="After Sanding" width="550" height="412" /></a><p class="wp-caption-text">Rust gone, pits remain</p></div>
<p style="text-align: center;">
<p>I wiped it down a bit with a towel and decided to try my luck with some metal epoxy.  This stuff is epoxy, but with metal in it.  In my case, aluminum.  Not sure on which is best, but mine was certainly the cheapest.   It also sets up in 7 minutes and is fully machinable / sandable in 2 hours.  Pick some up here: <a title="Add item to current order" href="http://www.mcmaster.com/nav/enter.asp?partnum=7500A4" target="_blank">7500A4</a>.</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0853.jpg"><img class="size-large wp-image-283" title="IMG_0853" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0853-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">Aluminum Epoxy</p></div>
<p>Spread the two part epoxy on something and then dab it on the pitted spots.  Then I used a piece of cardboard to smooth it over and remove the excess.   I should have removed more excess as you can see in this picture:</p>
<div id="attachment_284" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0854.jpg"><img class="size-large wp-image-284" title="IMG_0854" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0854-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">After applying (too much) epoxy</p></div>
<p>After a couple hours, get ready to sand.  I used some 600 grit to move it a bit faster (McMaster PN:  <a title="Add item to current order" href="http://www.mcmaster.com/nav/enter.asp?partnum=4611A314" target="_blank">4611A314</a>).</p>
<div id="attachment_285" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0862.jpg"><img class="size-large wp-image-285" title="IMG_0862" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0862-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">After drying</p></div>
<p>&nbsp;</p>
<div id="attachment_286" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0863.jpg"><img class="size-large wp-image-286" title="IMG_0863" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0863-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">Halfway through sanding</p></div>
<div id="attachment_287" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0864.jpg"><img class="size-large wp-image-287" title="IMG_0864" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0864-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">Finished sanding. Nice and cleeeaaan</p></div>
<div id="attachment_288" class="wp-caption aligncenter" style="width: 560px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0865.jpg"><img class="size-large wp-image-288" title="IMG_0865" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/IMG_0865-1024x768.jpg" alt="" width="550" height="412" /></a><p class="wp-caption-text">Finished, another view</p></div>
<p>Finally, I coated it with an anti-rust coating that you can pick up here: <a title="Add item to current order" href="http://www.mcmaster.com/nav/enter.asp?partnum=1370K34" target="_blank">1370K34</a>.  It's fairly cheap and seems to leave a waxy finish protecting it from rust.</p>
<div id="attachment_289" class="wp-caption aligncenter" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/Lps_00316_Tucker_Sales_11_Oz_LPS_3_Heavy-Duty_Rust_Inhibitor.jpg"><img class="size-full wp-image-289" title="Lps_00316_Tucker_Sales_11_Oz_LPS_3_Heavy-Duty_Rust_Inhibitor" src="http://colinkarpfinger.com/blog/wp-content/uploads/2012/01/Lps_00316_Tucker_Sales_11_Oz_LPS_3_Heavy-Duty_Rust_Inhibitor.jpg" alt="" width="300" height="796" /></a><p class="wp-caption-text">No more rusty forks</p></div>
<p>That's it!  I'll update you in 6 months how this has held up.  Happy riding.</p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2012/rusty-forks-not-spoons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Thumbies &#8211; Solving all your iPhone gaming frustation</title>
		<link>http://colinkarpfinger.com/blog/2011/announcing-thumbies-solving-all-your-iphone-gaming-frustation/</link>
		<comments>http://colinkarpfinger.com/blog/2011/announcing-thumbies-solving-all-your-iphone-gaming-frustation/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 17:37:08 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=251</guid>
		<description><![CDATA[I'm quite happy to announce that Thumbies are now available nationwide at BestBuy locations, and online! Thumbies Standard Pack at BestBuy - $14.99 Thumbies Pro Pack at BestBuy - $19.99 The iPhone was clearly not built specifically for gaming.  Not having tactile buttons that you can feel is a major problem for any serious gamer.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2011/02/thumbies.jpg"><img class="aligncenter size-full wp-image-252" title="thumbies" src="http://colinkarpfinger.com/blog/wp-content/uploads/2011/02/thumbies.jpg" alt="" width="500" height="365" /></a>I'm quite happy to announce that Thumbies are now available nationwide at BestBuy locations, and online!</p>
<p><a href="http://www.bestbuy.com/site/Psyclone+-+Thumbies+Button+Gaming+Controls+for+Apple&amp;%23174%3B+iPhone&amp;%23174%3B+3GS+and+4/1240002.p?id=1218240375564&amp;skuId=1240002&amp;IcsCsid=2-39-1099-25-5-67093-67092-25-1099-821-25-1099-3653-0-1" target="_blank">Thumbies Standard Pack at BestBuy - $14.99</a></p>
<p><a href="http://www.bestbuy.com/site/Psyclone+-+Thumbies+Button+Gaming+Controls+for+Apple&amp;%23174%3B+iPhone&amp;%23174%3B+3GS+and+4/1240224.p?id=1218240383516&amp;skuId=1240224&amp;IcsCsid=2-39-1099-25-5-67092-67093-25-1099-821-25-1099-3653-0-1" target="_blank">Thumbies Pro Pack at BestBuy - $19.99</a></p>
<p>The iPhone was clearly not built specifically for gaming.  Not having tactile buttons that you can <em>feel </em>is a major problem for any serious gamer.  In addition, making mistakes in games in infinitely more frustrating, than say, writing an email.  In an email you can just backspace and fix it, whereas in a game you are penalized much more.</p>
<p>Thumbies solve this problem by sticking onto your screen, and providing a tactile D-Pad and buttons.  It feels just like a game controller, and it works out of the box.  Since it interacts through the screen, it is incredibly easy for developers to support.</p>
<div id="attachment_254" class="wp-caption aligncenter" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2011/02/thumbies2.jpg"><img class="size-medium wp-image-254" title="thumbies2" src="http://colinkarpfinger.com/blog/wp-content/uploads/2011/02/thumbies2-300x265.jpg" alt="" width="300" height="265" /></a><p class="wp-caption-text">Thumbies Pro Pack</p></div>
<div id="attachment_255" class="wp-caption aligncenter" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2011/02/thumbies3.jpg"><img class="size-medium wp-image-255" title="thumbies3" src="http://colinkarpfinger.com/blog/wp-content/uploads/2011/02/thumbies3-300x267.jpg" alt="" width="300" height="267" /></a><p class="wp-caption-text">Thumbies Standard Pack</p></div>
<p style="text-align: center;">
<p>I started working on this concept over a year and a half ago.  I first built a playstation to iPhone adapter, and had that 90% complete when this idea struck me.  I figured, the user's thumbs are already taking up space on the screen, why can't you just put a button pad ontop of the screen?  Within 30 minutes I had my first prototype, loaded up Mario, and I knew I was onto something.</p>
<p>It's a very simple concept, which results in interesting responses from people.  I got quite a lot of people scoffing at the idea "Why would you put buttons on a TOUCH screen?".  But those who took time to think it through, saw the advantages:</p>
<ol>
<li>It's a simple product, making the development cycle short.</li>
<li>Since there are no electronics, the cost is fairly low, making a $14.99 price point possible.</li>
<li>Developers don't need to write additional code to support it; don't have to depend on developers for it to be adopted.</li>
<li>The market for iPhone, iTouch, and iPad gaming is HUGE.</li>
<li>The most common complaint about iPhone games is the lack of tactile feedback.  The market is clamoring for a solution.</li>
</ol>
<p>We are contacting more developers, who so far are thrilled.  It will be interesting to see how it is adopted over time.</p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2011/announcing-thumbies-solving-all-your-iphone-gaming-frustation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dropout&#8217;s Guide to PCB Trace Antenna Design</title>
		<link>http://colinkarpfinger.com/blog/2010/the-dropouts-guide-to-antenna-design/</link>
		<comments>http://colinkarpfinger.com/blog/2010/the-dropouts-guide-to-antenna-design/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:46:08 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=64</guid>
		<description><![CDATA["There are 2 ways to learn antenna design.  One way is to go to grad school.  I'll teach you the other way" -A mentor of mine Engineers love to refer to wireless as 'black magic'.  Which is partly true.  But with the right tools and the willingness to fuck it all up (a few times), [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-69 alignnone" title="IMG_1264 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1264-Custom-300x225.jpg" alt="" width="358" height="268" /></p>
<h1 style="text-align: center;">"There are 2 ways to learn antenna design.  One way is to go to grad school.  I'll teach you the other way"</h1>
<p style="text-align: center;">-A mentor of mine</p>
<p>Engineers love to refer to wireless as 'black magic'.  Which is partly true.  But with the right tools and the willingness to fuck it all up (a few times), you'll be making your mark on the 2.4GHz band in no time.  This guide is a 'Trial and Error' approach to antenna design.  It won't be perfect, and won't cover a lot of the 'hard' topics.  You probably won't even feel smart after reading it.  You may even feel a little dirty.  But you WILL be able to design an antenna to 'good enough' standards, for 2.4GHz communication (wifi, zigbee, ANT+, etc).</p>
<p><span id="more-64"></span></p>
<p>The basic procedure looks like this:</p>
<ol>
<li>Pick an IC</li>
<li>Look at the Datasheet of your chip, find the example layout section</li>
<li>Does your application have physical size limitations?  Does your Antenna have to be directional?</li>
<li>Use the answers to the above questions to choose your antenna type (whip, wire, chip, PCB trace)</li>
<li>Design your PCB layout based on the example layout.  Size the feedline for your application</li>
<li>Build some boards</li>
<li>Test the antenna with an SMA connector and a spectrum analyzer, if possible. (in your enclosure if you're using one)</li>
<li>Use your testing results to correct your design</li>
</ol>
<h2>Pick an IC</h2>
<p>There are a lot of good ones out there.  This guide is tailored to 2.4GHz band communications, which includes Zigbee,  ANT+, Bluetooth, and other Zigbee alternatives.  Most wireless sensors these days are based around 2.4GHz.</p>
<p>Choosing your chip will be determined mostly by:<br />
1) What's already out there, and has been used a lot before. (Do some googling)<br />
2) What protocol you want to use<br />
3) Power requirements / range</p>
<p>Most of my experience is with a low power (~3mW transmit power) ANT+ chip, one of the nRFAP series from Nordic Semi.  A lot of this content is a product of designing the electronics of <a href="http://en.pedalbrain.com" target="_blank">PedalBrain</a>, a kick ass iPhone cycling computer.  I've also done some Zigbee work with 20mW transmit power for a hobby project.</p>
<h2>Single Ended vs Differential</h2>
<p>There are two different output types: Single ended and Differential.  In this guide we will be designing an antenna for a Single Ended output.  This means we only have one antenna trace that couples with ground.  A differential output would require two antenna traces.  However, a differential output can be converted to an single ended output with some passive inductors and capacitors.  The below images show an example of a chip that is differential converted to single ended.</p>
<h2>Follow the Examples</h2>
<p>Most ICs will have a section in their datasheet which shows you a general layout, that should work.  It pisses me off that they rarely include dimensions, and almost never have actual layout files.  Ces't la vie.  If it was easy then everybody could be this cool.</p>
<p>The <strong>nRFLO1+</strong> datasheet gives Example schematics:</p>
<div id="attachment_65" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nrf24LO1-exschematic.png"><img class="size-medium wp-image-65" title="nrf24LO1-exschematic" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nrf24LO1-exschematic-300x242.png" alt="" width="300" height="242" /></a><p class="wp-caption-text">nRF24LO1+ Example Schematic</p></div>
<p>Notice that the output of the chip is actually <em>differential</em> but the matching components convert it to a <em>single-ended</em> output.  Essentially this allows you to use one antenna and make things smaller.  When people say 'matching components' they are referring to the passive parts (on the above picture, L1,L2,L3,C5,C6) that take the impedance at the chips output pin, and mash it into a nice 50 ohm output that you can match your antenna to.</p>
<p>The <strong>nRFLO1+</strong> also has an example BOM!  How generous!  Those kind Norwegians.</p>
<div id="attachment_67" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nrf24lo1-exBOM.png"><img class="size-medium wp-image-67" title="nrf24lo1-exBOM" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nrf24lo1-exBOM-300x205.png" alt="" width="300" height="205" /></a><p class="wp-caption-text">nRF24LO1+ Example Bill of Materials</p></div>
<p>And now an example layout.</p>
<div id="attachment_66" class="wp-caption alignnone" style="width: 189px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nrf24lo1-exLayout1.png"><img class="size-medium wp-image-66 " title="nrf24lo1-exLayout1" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nrf24lo1-exLayout1-179x300.png" alt="" width="179" height="300" /></a><p class="wp-caption-text">nRFLO1+ Example Layout</p></div>
<h2>Crappy Examples</h2>
<p>The examples vary a lot.  Take for example, the example layout of Nordics <strong>nRFAP1</strong> chip, which gives you tiny, grainy, examples and doesn't event mention an antenna.  See that little thing sticking off on the right?  That's your feedline- hook it up to an antenna.  With this chip they don't give much guidance, but we'll figure it out.</p>
<div id="attachment_68" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nRFAP1-exLayout.png"><img class="size-medium wp-image-68" title="nRFAP1-exLayout" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/nRFAP1-exLayout-300x163.png" alt="" width="300" height="163" /></a><p class="wp-caption-text">nRFAP1 Example Layout - without an antenna!</p></div>
<h2>Antenna Types</h2>
<p>The basic options are:</p>
<ul>
<li>PCB Trace.  <strong>The guide will cover this type of antenna. </strong>
<div id="attachment_69" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1264-Custom.jpg"><img class="size-medium wp-image-69" title="IMG_1264 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1264-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">My PCB Trace Antenna</p></div>
<p>PCB trace antennas are a good compromise between performance, repeatability, size, and cost.  They are easy to tune.  We will cover tuning later on.</li>
<li>SMA connector to external whip antenna (not covered in this guide)
<div id="attachment_74" class="wp-caption alignnone" style="width: 110px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/ANT-2.4-CW-RCS.jpg"><img class="size-medium wp-image-74 " title="ANT-2.4-CW-RCS" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/ANT-2.4-CW-RCS-300x300.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">Whip Antenna</p></div>
<p>External whip antennas (also known as ducky antennas) are typically a bit larger, but are a good choice if you have the room.  They are typically pre-tuned to a certain output frequency.  These have good performance, the only drawback being their physical size.</li>
<li>Wire Monopole antenna (not covered in this guide)
<div id="attachment_75" class="wp-caption alignnone" style="width: 110px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/XBeePro.jpg"><img class="size-medium wp-image-75 " title="XBeePro" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/XBeePro-300x300.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">XBeePro with a wire antenna</p></div>
<p>Wire antennas are easy.  Just cut a piece of wire to approximately the size of 1/4th the wavelength (or 5/4, or 9/4, etc)  At 2.4GHz this is roughly 30mm.  The downside to wire antennas?  The performance will vary greatly with small changes in length and shape of the antenna.  I used a wire antenna for my first wireless project and it carried about 40-50 feet under good conditions.</li>
<li>Chip Antenna (not covered in this guide)
<div id="attachment_76" class="wp-caption alignnone" style="width: 110px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/00691-03-L.jpg"><img class="size-medium wp-image-76  " title="00691-03-L" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/00691-03-L-300x300.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">PCB with a chip antenna (the blue part)</p></div>
<p>RF engineers seem to hate chip antennas- they work 'for almost no apparent reason' and can be hard to tune.  From what I've seen, they are great in that they are tiny, but can be detuned easily.  If you don't have to transmit very far and need a tiny footprint, they'll work fine.  Make sure to include some matching components in your design so that you can tune the output. (More on this later)</li>
</ul>
<h2>Designing the Antenna</h2>
<p><strong>**</strong>Don't put any ground plane beneath the tail of your F Antenna!</p>
<p><strong>**</strong>Put a note on the silkscreen layer, or any other layer your Mfg will see, and tell them the antenna section of the board is sensitive to added copper!  Advanced Circuits will sometimes etch an order number into the copper on your board.  This will change the properties of your antenna!</p>
<p><strong>Standard Dimensions:<br />
</strong><br />
I started with an F Antenna that had a 1" long tail, tapped 1/4" from the left, with a 1/4" section going to the ground plane.  See the below picture for those dimensions again.  The length of the feed line doesn't really matter.  The width of the feed line does.  See the section further down on how to size the feedline.</p>
<div id="attachment_241" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/AntDims.png"><img class="size-medium wp-image-241  " title="AntDims" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/AntDims-300x111.png" alt="" width="300" height="111" /></a><p class="wp-caption-text">This image proudly made with Ms Paint</p></div>
<p>On my first antenna build, I decided to build a board with several designs on it, and then test each one and pick the top performer.  However, I think you can get by with an F Antenna, and only building one.</p>
<div id="attachment_123" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/antenna-1.png"><img class="size-medium wp-image-123" title="antenna-1" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/antenna-1-300x171.png" alt="" width="300" height="171" /></a><p class="wp-caption-text">The shotgun approach. Build 10, pick the best one.</p></div>
<div id="attachment_124" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1324-Custom.jpg"><img class="size-medium wp-image-124" title="IMG_1324 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1324-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Testing several designs is optional. I cut them apart and tested each one quickly</p></div>
<h2>Sizing the Feedline</h2>
<p>The trace that connects your antenna to the output of your matching circuitry is called a feed line.  You want to design this to be 50 Ohms at your desired transmit frequency.  The width of the trace dictates the impedance- you can use the following link to calculate your trace width.  You'll want to use these parameters for a standard 1 oz thickness, FR4 circuit board.  You can calculate other values here:</p>
<p><a href="http://emclab.mst.edu/pcbtlc2/microstrip.html" target="_blank">http://emclab.mst.edu/pcbtlc2/microstrip.html</a><br />
Dialectric thickness: Typically 62 mils (0.062 inches).  In my case it was 31 mils.<br />
Trace thickness: for a 1oz thick copper PCB, usually 1.4 mils or 0.0014".<br />
Trace Width: Leave this blank so it calculates it.<br />
Relative Permittivity: 4.8<br />
Characteristic Impedance: 50<br />
With my values, with a non-standard thickness board (31 mils thick), I arrived at 55 mils.  For a standard thickness board (62 mils), it would be roughly 108 mils.</p>
<h2>The Ultimate Rule - Impedance Matching</h2>
<p>As a practical engineer, our biggest rule to adhere to is 'impedance matching'.  We have a chip that sends out a signal, and we want to turn that electrical signal into a wireless signal (an EM field).  Our chip and antenna have characteristics that define their impedance.  If those impedances are equal, or matched, we are putting as much power into the wireless signal as we can.  This is known as 'optimal power transfer'.  If we aren't perfectly matched, we will have some power loss.  You can google 'impedance matching' for the theory behind this.</p>
<p>We can't change the output impedance of the chip, but we can alter the impedance of the antenna, and we can put some parts in between the chip and the antenna, collectively forming a 'matching network'.  These parts can be used to change the impedance of the antenna so that it matches the impedance of the chip.  The most common arrangement of parts is known as a Pi Network.  If your example layout does not have matching components present; they do not show anything on the output pin of the chip, you will want to include these yourself.  A Pi Network is shown below:</p>
<div id="attachment_226" class="wp-caption aligncenter" style="width: 260px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/Pimatch.png"><img class="size-full wp-image-226" title="Pi Network" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/Pimatch.png" alt="" width="250" height="113" /></a><p class="wp-caption-text">Pi Network</p></div>
<p>(Read this great App Note for more detailed info: <a href="http://www.national.com/appinfo/cp3000/files/SBK/Bluetooth_Antenna_Design.pdf" target="_blank">http://www.national.com/appinfo/cp3000/files/SBK/Bluetooth_Antenna_Design.pdf</a>)</p>
<h2>Tuning your Antenna</h2>
<p>This is typically done with a network analyzer, one <em>ridiculously</em> expensive piece of equipment.  They can be rented by the month for around a thousand bucks, but my recommendation is to make friends with someone at a local company that owns one.  Or if you're a university student, you can usually find a professor willing to let you in their lab for a little while.  Another option is to find a local design firm, and ask if you can rent out their equipment per hour.  Expect 60-100$/hr for the time on the equipment, and more than that if you want one of their engineers to help out.  However, if you're young and passionate about your project, people will usually try to help you out.</p>
<p>A network analyzer measures the properties of a network of components.  You hook it up to your system (in our case, our antenna) and it uses a variety of techniques to determine the impedance of the network.  They typically have 2 ports, although our tuning will be done with only one port, since we will be simply sending in a signal, and seeing how much power is bouncing back.  We can deduce from this how much power has been converted into wireless energy.</p>
<p>The below measurements were taken with a network analyzer.  At this point we actually aren't measuring any wireless signals, or wireless power, etc.  Instead the Network Analyzer (NA) is measuring how much power is reflected by the antenna at various frequencies.  If all the power is being reflected, none is being converted into EM energy.  The lower the number here, the more efficient we are.  At -10dB we are roughly 70% efficient.  At -20dB we are 90% efficient.</p>
<p>So let's get ready to tune.</p>
<h4>Step 1, espresso:</h4>
<div id="attachment_105" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1266-Custom.jpg"><img class="size-medium wp-image-105" title="IMG_1266 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1266-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Mmmm</p></div>
<h4>Step 2, calibrate the NA for a one port measurement.</h4>
<p>This is done with a calibration kit provided w/ the NA.  You hook up a shorted end, an open end, and a 50 ohm end in succession.  Keep in mind the shape of the cable attached will affect your results, so calibrate it with that in mind.  Once you calibrate to a certain shape of the cable, test your antenna with that same shape.  This is often done by taping the cable down to the table to hold shape.</p>
<h4>Step 3, solder an SMA connector to your antenna.</h4>
<p>To do this I had to drill a small hole through the board where the feed line began.  I then scratched off the solder mask on a small portion of the feed line, and in several places on the bottom ground plane of the board.  I stuck the SMA connector through the hole and soldered it up.</p>
<p>An Edge Mount SMA connector-<a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&amp;keywords=142-0701-881"> J657-ND</a><br />
Vertical Mount SMA connector- <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=J500-ND" target="_blank">J500-ND</a></p>
<div id="attachment_106" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1252-Custom.jpg"><img class="size-medium wp-image-106" title="IMG_1252 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1252-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Center pin of SMA connector soldered to feed point</p></div>
<div id="attachment_107" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1253-Custom.jpg"><img class="size-medium wp-image-107" title="IMG_1253 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1253-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">SMA connector soldered to ground plane</p></div>
<h4>Step 4: Hook it up, start hacking away</h4>
<p>PCB Trace Antennas, more specifically the F-Antenna (also called PIFA), is a simple antenna to tune.  Everything can be done by varying the length of the tail.  This is accomplished by slicing your antenna to various lengths with an exacto knife.  Don't you love working on hardware?  If you think about it, it makes total sense.  If you make the antenna shorter, your resonant frequency will have a shorter wavelength, and therefore a higher frequency.  So cutting your antenna shifts it up in frequency.  This is why you want to design your antenna long to begin with, since it's much easier to cut it than to add on to it.  If you do have to go down in frequency, you can actually add copper tape, although the barrier between your PCB trace and the copper tape will often throw off your results.  Rule of thumb, on your first design, make the antenna a bit longer than it needs to be.  Then you can try different sizes easily.</p>
<p>On the plots, the vertical lines represent the band we are operating in.  Ideally we want the trough close to our center frequency, 2.45GHz.</p>
<p>First measurement, with the full antenna:</p>
<div id="attachment_111" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1255-Custom.jpg"><img class="size-medium wp-image-111" title="IMG_1255 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1255-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Full antenna before it gets cut</p></div>
<div id="attachment_95" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE02a.png"><img class="size-medium wp-image-95" title="Original Antenna" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE02a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Length of F Antenna: 1.075"  The two vertical lines represent the band of frequencies we want to cover.</p></div>
<p>Second measurement:</p>
<div id="attachment_112" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1256-Custom.jpg"><img class="size-medium wp-image-112" title="IMG_1256 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1256-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Commence the chopping.</p></div>
<div id="attachment_115" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1258-Custom.jpg"><img class="size-medium wp-image-115" title="IMG_1258 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1258-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Cut to 1.034"</p></div>
<div id="attachment_96" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE03a.png"><img class="size-medium wp-image-96" title="TRACE03a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE03a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Cut to 1.034"</p></div>
<p>Third measurement</p>
<div id="attachment_114" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1259-Custom.jpg"><img class="size-medium wp-image-114" title="IMG_1259 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1259-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Cut to 0.992"</p></div>
<div id="attachment_97" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE04a.png"><img class="size-medium wp-image-97" title="TRACE04a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE04a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Cut to 0.992"</p></div>
<p>Fourth:</p>
<div id="attachment_98" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE05a.png"><img class="size-medium wp-image-98" title="TRACE05a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE05a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Cut to 0.986"</p></div>
<p>Fifth:</p>
<div id="attachment_99" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE06a.png"><img class="size-medium wp-image-99" title="TRACE06a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE06a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Cut to 0.967"</p></div>
<p>Sixth:</p>
<div id="attachment_100" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE07a.png"><img class="size-medium wp-image-100" title="TRACE07a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE07a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Cut to 0.956" - Without Plastics + Battery</p></div>
<p>Important thing to remember- everything surrounding your antenna will affect the performance.  This means your case, battery, wires, connectors, a user's hand, etc.  The trace above and below are measured with the same exact size of antenna, but the trace below has a plastic case and battery in place.  Notice the difference:</p>
<p>Seventh:</p>
<div id="attachment_101" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE08a.png"><img class="size-medium wp-image-101" title="TRACE08a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE08a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Still at 0.956", but WITH Plastics + Battery</p></div>
<div id="attachment_116" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1261-Custom.jpg"><img class="size-medium wp-image-116" title="IMG_1261 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1261-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">The plastic case and battery</p></div>
<div id="attachment_109" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1262-Custom.jpg"><img class="size-medium wp-image-109" title="IMG_1262 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1262-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Network Analyzer hooked up, with case and battery in place</p></div>
<p>Finally, the eight and final measurement.  Close enough to be happy.</p>
<div id="attachment_102" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE09a.png"><img class="size-medium wp-image-102" title="TRACE09a" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/TRACE09a-300x231.png" alt="" width="300" height="231" /></a><p class="wp-caption-text">Bingo, Matched at 0.914", with plastics + battery</p></div>
<h2>Smith Charts</h2>
<p>Power loss is one way to look at our antenna, but another common method to visualize the parameters of an antenna is called a <strong>Smith Chart</strong>.  Here is an example of a big scary looking smith chart:</p>
<div id="attachment_227" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/SmithEx2.png"><img class="size-medium wp-image-227  " title="SmithEx2" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/SmithEx2-300x299.png" alt="" width="300" height="299" /></a><p class="wp-caption-text">Smith Chart with some points plotted</p></div>
<p>Basically a smith chart is a convenient way to picture real and complex impedances on one graph.  Note that the impedances are normalized, typically to 50 ohms.  This means that your true impedance is found by multiplying the magnitudes on the chart by 50. Every network of components has a real and complex characteristics which define their impedance.  The real part of the impedance is noted by the expanding circles, whose diameter is noted along the horizontal line in the middle of the smith chart.  The imaginary part is noted by the lines that bend away from the horizontal line.  Together, where they intersect, forms a point on the smith chart which represents the impedance.  The top half of the smith chart represents an inductive impedance and the bottom half represents a capacitive impedance.</p>
<p>A network analyzer can display a smith chart as well as the power loss we did before.  We are shooting for 50 ohms impedance, but chances are we will be a bit off.  The below image (from a <a href="http://www.national.com/appinfo/cp3000/files/SBK/Bluetooth_Antenna_Design.pdf">National Semi app note</a>) shows how to get closer to 50 ohms by changing values of the matching components we added before:</p>
<div id="attachment_228" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/SmChrtMoving.png"><img class="size-medium wp-image-228 " title="SmChrtMoving" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/SmChrtMoving-300x238.png" alt="" width="300" height="238" /></a><p class="wp-caption-text">Moving around the smith chart</p></div>
<p>From what I've seen, if your chip's datasheet has a good section on your example layout, and gives you values for matching components, you probably won't need to worry about smith charts.  So all is not lost if none of this makes sense.  However, smith charts will help you fully understand what is happening.</p>
<p>Hooray!  We're done.  Everyone's happy.  Reward yourself with a little network analyzer Mario:</p>
<div id="attachment_110" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1290-Custom.jpg"><img class="size-medium wp-image-110 " title="IMG_1290 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/05/IMG_1290-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">A $36,000 Mario emulator</p></div>
<h2>FCC/CE Testing</h2>
<p>If you're going to make more than a few (I believe the official number is 5) of your design, you will have to get FCC (or CE for Europe) certified or your device can be taken off the market.  If you plan on only making small batches, using a wireless module that is already FCC certified might be a better solution.</p>
<p>My most recent design for <a href="http://en.pedalbrain.com" target="_blank">PedalBrain</a> was FCC and CE certified without any major problems.  There were hiccups along the way, but we were able to bring the output power down a bit to pass the tests.  This is, however, an expensive exercise, so do your best to avoid it.</p>
<p>Email me if you use this guide, I would be happy to see what you come up with.  Also email with questions if you run into problems.  You can reach me at my first name DOT my last name (hint, they are in the domain) @gmail.com</p>
<p>Now go build some stuff!</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 8px; width: 1px; height: 1px; overflow: hidden;"><img src="file:///D:/DOCUME%7E1/Colin/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2010/the-dropouts-guide-to-antenna-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Punch Through Design Website</title>
		<link>http://colinkarpfinger.com/blog/2010/new-punch-through-design-website/</link>
		<comments>http://colinkarpfinger.com/blog/2010/new-punch-through-design-website/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 05:57:00 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=211</guid>
		<description><![CDATA[I had the Punch Through Design website re-done, and I'm loving the clean new look.  I was referred to the designer, Norm Orstad of Orstad Design, by a mutual friend, and I'm very happy with the results.  Now I need to work on publishing the other projects we've completed! Click through to the site if [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://punchthroughdesign.com"><img class="aligncenter size-full wp-image-212" title="ptd-website-banner-540wide" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/ptd-website-banner-540wide.png" alt="" width="540" height="105" /></a></p>
<p>I had the Punch Through Design website re-done, and I'm loving the clean new look.  I was referred to the designer, Norm Orstad of <a href="http://orstaddesign.com/" target="_blank">Orstad Design</a>, by a mutual friend, and I'm very happy with the results.  Now I need to work on publishing the other projects we've completed!</p>
<p>Click through to the site if you haven't seen it: <a href="http://punchthroughdesign.com/" target="_self">http://punchthroughdesign.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2010/new-punch-through-design-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clients Mentioned in Minneapolis Star Tribune</title>
		<link>http://colinkarpfinger.com/blog/2010/punch-through-design-quoted-in-minneapolis-star-tribune/</link>
		<comments>http://colinkarpfinger.com/blog/2010/punch-through-design-quoted-in-minneapolis-star-tribune/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 05:24:58 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=195</guid>
		<description><![CDATA[I'm happy to see a couple Punch Through Design clients getting press.  Both Pedal Brain and Shepherd are mentioned in the article: The iPhone and the iPod Touch, it's a pretty cheap platform and it has a lot of power behind it," said Colin Karpfinger, owner of hardware and software developer Punch Through Design.  "It's [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://colinkarpfinger.com/blog/2010/punch-through-design-quoted-in-minneapolis-star-tribune/"></a><a href="http://colinkarpfinger.com/blog/2010/punch-through-design-quoted-in-minneapolis-star-tribune/"><img class="aligncenter size-full wp-image-207" title="PTDLogo" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/fist-nobg.png" alt="" width="173" height="144" /></a></p>
<p>I'm happy to see a couple <a href="http://punchthroughdesign.com/" target="_blank">Punch Through Design</a> clients getting press.  Both Pedal Brain and Shepherd are mentioned in the article:</p>
<blockquote><p>The iPhone and the iPod Touch, it's a pretty cheap platform and  it has a   lot of power behind it," said Colin Karpfinger, owner of  hardware and   software developer<strong> </strong>Punch Through Design.  "It's a  really nice building   block to do other things with."</p></blockquote>
<p><span id="more-195"></span></p>
<blockquote><p>Minneapolis-based PedalBrain will sell a product for cyclists later this  year that will collect performance data and make it available in real  time on their iPhones.<br />
[...]<br />
PedalBrain plans to sell a $195 product that collects wireless data  from existing accessories on a cyclist's bike that measure heart rate,  speed, cadence, power and other statistics. The device would deliver the  information to their iPhone and a website in real time.</p>
<p>The website could be monitored by the cyclist's friends and family,  teammates and coaches, and the product also tracks the GPS coordinates  of the biker. Already about 1,000 have been sold to distributors, and  the product will be available in stores later this year.</p>
<p>PedalBrain attaches to the iPhone and includes an integrated battery  that doubles the phone's total battery life. The company is developing  other sensors, such as one that will keep track of a swimmer's laps and  another that can analyze a person's glucose and lactic acid levels, said  founder Matt Bauer.</p></blockquote>
<p>And recently renamed 'Shepherd'  was listed as well:</p>
<blockquote><p>Meanwhile, the Vista Institute, based in Minneapolis, will launch a  product next month called Shepherd, which will help clients such as  restaurants and farms log food safety data into secure web databases in  real time through smart phone devices such as the iPhone.</p>
<p>The Vista Institute says Shepherd will eliminate the need to  transcribe paperwork into the database and allow clients to see data in  real time. Shepherd has been beta-testing its product for the past two  years.</p>
<p>"Shepherd can replace the pen and paper data collection," said Peter  Boutros, the company's CEO, adding the technology can extend outside of  the food industry to areas such as clothing production facilities or  vineyards.</p>
<p>Karpfinger, of Punch Through Design, said he is developing the  hardware behind Shepherd, which he envisions to be a pocket-sized case  that will connect to a temperature probe, used to track whether foods  such as meat follow safety standards. The iPhone will slide into this  case.</p></blockquote>
<p>Full text here: <a href="http://www.startribune.com/business/96175069.html?elr=KArksLckD8EQDUoaEyqyP4O:DW3ckUiD3aPc:_Yyc:aUUsZ" target="_blank">New Phone Apps aim to boost health - Minneapolis Star Tribune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2010/punch-through-design-quoted-in-minneapolis-star-tribune/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ordering PCBs Designed With EAGLE</title>
		<link>http://colinkarpfinger.com/blog/2010/ordering-pcbs-designed-with-eagle/</link>
		<comments>http://colinkarpfinger.com/blog/2010/ordering-pcbs-designed-with-eagle/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 18:03:58 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=135</guid>
		<description><![CDATA[So you've figured out EAGLE's design quirks, you've routed all your airwires and you're wondering what next.  This guide will take you from a .brd file in EAGLE to a professionally made PCB. As of now I've ordered somewhere between 15-20 boards, which seems like enough to find the common pitfalls.  I now exclusively use [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a rel="attachment wp-att-172" href="http://colinkarpfinger.com/blog/2010/ordering-pcbs-designed-with-eagle/header-1/"><img class="aligncenter size-full wp-image-172" title="header-1" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/header-1.png" alt="" width="792" height="107" /></a></p>
<p>So you've figured out EAGLE's design quirks, you've routed all your airwires and you're wondering what next.  This guide will take you from a .brd file in EAGLE to a professionally made PCB.<br />
<span id="more-135"></span></p>
<p>As of now I've ordered somewhere between 15-20 boards, which seems like enough to find the common pitfalls.  I now exclusively use Advanced Circuits (<a href="http://4pcb.com" target="_blank">http://4pcb.com</a>)  They are quick, reliable, and relatively cheap (in that order).  This guide will only really cover their system, but the files you're creating will work to quote with most other places as well.  You are making Gerber files, which are the industry standard.</p>
<h2>Step One - Double Check Your Work</h2>
<p><strong>Schematic Checks:</strong></p>
<ul>
<li>If you're using off page connectors, are they connected on both schematic sheets?</li>
<li>Are your nets in the schematic actually connected?  Sometimes when copying a part, it may appear a net is connected, but isn't.  To make sure, move each part and see if all it's connected nets move with it.  If you move an IC or other part, and the traces that are supposed to be connected don't move, they aren't connected.</li>
<li>Need a reset switch for your microcontroller?  I tend to forget these.  Sometimes they are nice to have.</li>
<li>Do you have a couple LEDs on GPIO lines for debugging?  Also handy.</li>
<li>Do you have a serial Rx/Tx swapped?</li>
<li>Explain the functionality of each block to yourself or to someone else, out loud.  This really does help.</li>
<li>Thermal/Mounting  Tabs or Pads connected as expected?  Sometimes these should go to ground, sometimes to power.  Make sure you've got it right.</li>
</ul>
<p><strong>Board Checks:</strong></p>
<ul>
<li>Are you using the correct footprint for your ICs?  Check their dimensions using the 'Mark' tool in eagle.</li>
<li>Can you buy your ICs in the footprint you designed?  Worth checking, this one has screwed me in the past a few times.  Make sure they're not only in stock, but that you can buy individual quantities, not just a roll of 4,000.</li>
<li>Is the footprint given in the datasheet a bottom view?  I've been nailed by this one before.  Be especially careful with modules- pinouts are often shown from the bottom view.</li>
<li>If you have a ground or power plane, turn off all layers but those, and note the path current will take.  Is the current following an unnecessary loop?  Is the return path of your digital circuit cross paths with any analog circuit blocks?  If so move things around to fix the issue.</li>
<li>Print out a 1:1 ratio copy and compare it with any parts you already have stock of.  This is a little over the top, but a nice sanity check.</li>
<li>Order your parts for the board before ordering the board, if possible.  This will tell you if anything is out of stock, or not available in the package / footprint you want.</li>
</ul>
<p><strong>Let's run the EAGLE DRC </strong>(Design Rule Check)  It isn't a catch all, and will sometimes have a lot of false positives, but it will save you at times.</p>
<ol>
<li>If you are going to use Advanced Circuits (4pcb.com), download my drc file: <a href="http://colinkarpfinger.com/etc/typical_4pcb.dru" target="_blank">typical_4pcb.dru</a>.  Inside EAGLE, on the left command bar, click here: <a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/drcbutton.png"><img class="alignnone size-full wp-image-159" title="drcbutton" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/drcbutton.png" alt="" width="86" height="93" /></a></li>
<li>Once the DRC window opens, click Load and browse to <a href="http://colinkarpfinger.com/etc/typical_4pcb.dru" target="_blank">typical_4pcb.dru</a></li>
<li>Click Check</li>
<li>Go through the results.  Don't worry if there are lots of errors- sometimes the large pin count chips have silkscreen that overlaps the copper pads, and this will generate &gt;100 errors.  You can ignore those, Advanced Circuits won't print silkscreen on copper.<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/DRCResult.png"><img class="alignnone size-full wp-image-160" title="DRCResult" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/DRCResult.png" alt="" width="608" height="375" /></a></li>
</ol>
<p>Lastly, run the ratsnest command one last time.  Make sure it says  'Nothing to Do'.  If not (it might say Airwires: 2) then you have to route those signals or your board won't be complete.</p>
<h2>Step Two - Run the CAM Processor</h2>
<ol>
<li>Click the CAM processor button: <a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/CAM-Button.jpg"><img class="alignnone size-full wp-image-136" title="CAM-Button" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/CAM-Button.jpg" alt="" width="137" height="89" /></a></li>
<li>File -&gt; Open Job -&gt; gerb274x.cam (or gerb274x-4layer.cam if you   have a licensed copy of eagle and want to do 4 layer boards or put   silkscreen on the top and bottom layers)</li>
<li>Go through each tab, make sure 'Mirror' check box is NOT checked.<a href="../wp-content/uploads/2010/06/mirrorNotChecked1.png"></a><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/mirrorNotChecked1.png"><img class="alignnone size-full wp-image-168" title="mirrorNotChecked" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/mirrorNotChecked1.png" alt="" width="625" height="487" /></a></li>
<li>If you have a logo on your silkscreen, make sure you have the layer selected in your Silk Screen tabs.  I typically use layer 200 for Logos on the top of the board (Silk screen CMP), and layer 201 for logos on the back of the board (Silk screen SOL).</li>
<li>Click Process Job</li>
<li>File -&gt; Open Job -&gt; Excellon.cam.  This will generate your drill data.</li>
<li>Make sure the 'Mirror' option is NOT checked.</li>
<li>Click Process Job</li>
<li>All of these files will have been created wherever your .brd file is located.  Tip- if you open that folder before you run the CAM processor, they will all show up together at the end of the folder.</li>
<li>Create a new folder and name it YourDesignName_Alpha1a.  I typically use Alpha / Beta to switch between major changes in functionality, the number (1) to switch between revisions of actual circuit boards, and the letter (a) to switch between small revisions when getting files ready for fabrication.  If you send the files in and have to change something small, re-run the cam processor and bump the name to YourDesignName_Alpha1<strong>b<br />
<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/files1.png"><img class="alignnone size-full wp-image-139" title="CAM Files 1" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/files1.png" alt="" width="653" height="400" /></a></strong></p>
<p><strong> </strong></li>
<li>If you're doing anything fancy, like including score lines so you can snap pieces of the board off, you may want to include an assembly drawing.  This can be super simple- I just export an image from EAGLE by using File -&gt; Export Image, and then I just add some basic info in MsPaint (say what you will, it is quick and dirty.  I can be done before photoshop even loads).  This will prevent them from putting your designs on hold in certain cases.  If you have an edge-mount connecter, they will often put it on hold if you don't specifically say you don't need gold plating.  Here are some examples:<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/fabDrawing.png"><img class="alignnone size-full wp-image-141" title="fabDrawing" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/fabDrawing.png" alt="" width="406" height="440" /></a> <a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/iControl_Alpha-3-drawing.png"><img class="alignnone size-full wp-image-140" title="iControl_Alpha-3-drawing" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/iControl_Alpha-3-drawing.png" alt="" width="497" height="463" /></a></li>
<li>Put the files in a zip folder (including your drawing if you have one).  In windows I just right click on the folder and Send To -&gt; Compressed Folder.</li>
<li>You can verify your gerber files by opening them with a free Gerber viewer.  I use <a href="http://gerbv.sourceforge.net/" target="_blank">GerbV</a> for this.  Functionality within a viewer is pretty limited- so try to just open the files and make sure everything looks mostly correct.  The big errors you'll catch here are missing layers, missing silkscreen, mirrored layers, and dimension errors.After opening GerbV, click the plus in the bottom right <a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/gerbvplus.png"><img class="alignnone size-full wp-image-155" title="gerbvplus" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/gerbvplus.png" alt="" width="33" height="32" /></a>Browse to your folder, and select all the files.  You may get a few error messages, but you'll end up with something like this:<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/gerbVBoard.png"><img class="alignnone size-full wp-image-156" title="gerbVBoard" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/gerbVBoard.png" alt="" width="529" height="397" /></a></li>
</ol>
<h2>Step Three- Submit Your Files</h2>
<ol>
<li>Go to <a href="http://www.freedfm.com">http://www.freedfm.com/</a> Enter your email / find your zip file<br />
<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/freedfmPage.png"><img class="alignnone size-full wp-image-142" style="border: 1px solid black;" title="freedfmPage" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/freedfmPage.png" alt="" width="428" height="307" /></a></li>
<li>Click upload Zip File, and you'll get to this page:<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/freeDFMFilesView.png"><img class="alignnone size-full wp-image-143" style="border: 1px solid black;" title="freeDFMFilesView" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/freeDFMFilesView.png" alt="" width="695" height="687" /></a>The site should recognize most of your files.  If not, see the above image for reference.  If you have internal layers for a 4 layer board, it will ask you the layer and polarity as shown above.  If you're doing a 2 layer board, ignore the files .l15 and .ly2For all the files that say 'Select One...', just select 'Drawing/Other'.</li>
<li>Fill out the 'General Information'.  Just about everything is self explanatory. (If not, email me.)</li>
<li>Click submit.  You'll get an email in about 5 minutes if you're lucky.  Sometimes it takes them longer.</li>
<li>Your email will have the subject line:  <strong>Your FreeDFM.com results for your design YourDesignName</strong></li>
<li>Check the link in the email that says DFM Results.  With any luck, it will look like this:<br />
<a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/DFMResults.png"><img class="alignnone size-full wp-image-144" style="border: 1px solid black;" title="DFMResults" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/06/DFMResults.png" alt="" width="662" height="284" /></a>If there were any Show Stoppers, don't worry- you can typically fix them pretty quickly. Don't worry much about the automatically fixed problems- they're usually just silkscreen issues.</li>
</ol>
<h2>Step Four - Order the Copper Clad Bastards</h2>
<ol>
<li>Advanced Circuits fortunately has many deals and promotions.  If your board is fairly standard- standard thickness (.062"), doesn't have super tiny traces / doesn't need to be scored / standard weight copper, then you can get a damn good deal with their 33each special.  You can get a minimum of 4 boards for $33/ea with a week turn around.  If you're a student, there is no minimum order.  Damn good deal.  If you can get a PCB for $33, there is almost no reason to etch your own.  Etch a board once for the experience, but why waste your time?<br />
<strong>Official 33Each specs:</strong><br />
# Min qty 4<br />
# Lead time 5 days<br />
# 2-layers, FR-4, 0.062", 1 oz cu plate<br />
# Lead free solder finish<br />
# Min. 0.006" line/space<br />
# Min. 0.015" hole size<br />
# All holes plated<br />
# Green LPI mask<br />
# White legend (1 or 2 sides)<br />
# 1 part number per order (extra $50 charge for multiple parts or step &amp; repeat applies)<br />
# Max size 60 sq. inches<br />
# No slots (or overlapping drill hits)<br />
# No internal routing (cutouts)<br />
# No scoring, tab rout, or drilled hole board separations.<br />
# Routed to overall dimensions<br />
If you fit the above, go to <a href="http://33each.com" target="_blank">http://33each.com</a> and resubmit your files there.</p>
<p>If you 'are a company' (can show LLC / corp status) then you can get $250 off two separate orders for a total of $500 off.  They really do push you to show proof of LLC status.</p>
<p>They have random other deals, so if you're pinching pennies, call them and just flat out ask which deal is best.  Look through the <a href="http://www.4pcb.com/index.php?load=content&amp;page_id=129" target="_blank">deals page</a> first.  I do this almost every time, and sometimes they have random $100 off promotions.  I've also had them cut me non-standard deals when working on university projects.  (Shout out to my 4pcb local reps: Thanks Jackie and Heather!)</li>
</ol>
<p>Lastly, enjoy your popcorn.  You'll see what I mean when your boards arrive.</p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2010/ordering-pcbs-designed-with-eagle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving Cross-country via UPS / Fedex</title>
		<link>http://colinkarpfinger.com/blog/2010/moving-via-ups-fedex/</link>
		<comments>http://colinkarpfinger.com/blog/2010/moving-via-ups-fedex/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 23:26:02 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=4</guid>
		<description><![CDATA[Californians say 'Bagel' incorrectly]]></description>
			<content:encoded><![CDATA[<p>I moved cross country from Minneapolis to San Francisco in February 2010.  I arrived to an empty room with 3 bags, and a debit card that Wells Fargo thought was stolen.  A few days later UPS delivered the rest of my life, mostly intact.  Learn from my mistakes:</p>
<ol>
<li><strong>Throw it away</strong><br />
Anything you haven't used since you last moved.  Remember that you're paying shipping for each pound.  This helped me toss the extra crap.</li>
<li><strong>Number your boxes</strong><br />
I labeled each box with a number then made a google doc of the contents.  Then when you're looking for one specific thing you don't have to tear through all your boxes.</li>
<li><strong>Tape EVERYWHERE</strong><br />
I had one box that had those huge metal staples on the bottom, and it was one staple away from tearing open when it arrived.  This was holding my main computer and one LCD monitor!  I got lucky.  Tape every single edge of your box.</li>
<li><strong>Greyhound Freight for Heavy, Unbreakable Stuff</strong><br />
Greyhound offers a super cheap, super slow shipping service.  If you're moving to a city, there is a good chance you have a greyhound station close by.  Ship your heavy non-fragile items on the bus.</li>
<li><strong>Carry Your Hard Drives<br />
</strong>If you have a desktop computer, take out the hard drives and pack them with you.  Everything worked when I arrived.</li>
<li><strong>Move in with Randoms</strong><br />
I moved in with 3 other people, none of whom knew each other beforehand.  I've had some friends who've moved in with people who already lived together for awhile, and they became 'the new guy'.  If you're all new, you'll be more willing to go out, meet people, see the city, and get to know each other.</li>
<li><strong>Tell your Bank!</strong><br />
Wells Fargo decided some bum stole my debit card and headed west.  Turns out that bum was me, trying to buy groceries.</li>
<li><strong>Clean Up, Take Pictures, Sublease</strong><br />
Right before you move out, do your best to clean your room and take some pictures.  I got about a 5x higher response rate on craigslist with pictures in my listing.</li>
<li><strong>It's Not Hard<br />
</strong>Once you do it once, you'll get rid of your crap and keep  only the essentials.  At that point you could sell your furniture on  craigslist and be moved out within a week.</li>
</ol>
<div id="attachment_56" class="wp-caption alignnone" style="width: 235px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0897-Custom.jpg"><img class="size-medium wp-image-56" title="IMG_0897 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0897-Custom-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">The second shipment of stuff</p></div>
<p>My Room after Picking up my Bed:</p>
<div id="attachment_53" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0904-Custom.jpg"><img class="size-medium wp-image-53" title="IMG_0904 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0904-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">My 3 bags</p></div>
<p>Making Coffee on Day 1:</p>
<div id="attachment_51" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0917-Custom.jpg"><img class="size-medium wp-image-51" title="IMG_0917 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0917-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">A minimalists french press</p></div>
<div id="attachment_52" class="wp-caption alignnone" style="width: 310px"><a href="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0918-Custom.jpg"><img class="size-medium wp-image-52" title="IMG_0918 (Custom)" src="http://colinkarpfinger.com/blog/wp-content/uploads/2010/02/IMG_0918-Custom-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Made damn good coffee!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2010/moving-via-ups-fedex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zero-Op Mercenary Automated Paintball Sentry Gun</title>
		<link>http://colinkarpfinger.com/blog/2009/zero-op-mercenary-automated-paintball-sentry-gun/</link>
		<comments>http://colinkarpfinger.com/blog/2009/zero-op-mercenary-automated-paintball-sentry-gun/#comments</comments>
		<pubDate>Wed, 20 May 2009 00:18:43 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=19</guid>
		<description><![CDATA[Like the best of projects, this started with a question- "I wonder if it's possible...". It turns out the answer is YES!, but not without a lot of hard work.  This project alone was my crash course in C++, Linux, Computer Vision, Servo Control, and designing circuit boards.  I can't think of a more exciting [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Mercenary-Thumb" src="http://colinkarpfinger.com/images/mercenary_thumb2.jpg" alt="" width="152" height="200" /></p>
<p>Like the best of projects, this started with a question- "I wonder if  it's possible...".</p>
<p>It turns out the answer is YES!, but not without a lot of hard work.  This project alone was my crash course in C++, Linux, Computer Vision, Servo Control, and designing circuit boards.  I can't think of a more exciting way to learn.  Although I can think of a few less painful ways.</p>
<h2>What is it?</h2>
<p>The Mercenary is a robot that can 'see' the world through a single  camera, and can interact with the world by aiming and firing its  paintball gun.   Basically, the goal is to replicate the behavior of a person guarding an  area, with a robotic system.</p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2009/zero-op-mercenary-automated-paintball-sentry-gun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the Pololu Servo Controller in .NET</title>
		<link>http://colinkarpfinger.com/blog/2008/using-the-pololu-servo-controller-in-net/</link>
		<comments>http://colinkarpfinger.com/blog/2008/using-the-pololu-servo-controller-in-net/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 00:00:30 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=26</guid>
		<description><![CDATA[Controlling Servo Motors Using the Pololu Servo Controller in .NET Tutorial and Example Program Step 1: Buy a servo Controller. In this guide I'll be providing code for the Pololu 8 Servo Serial Controller, which I highly recommend. It has a protocol which provides around 5,000 unique positions, as compared to the 255 provided by [...]]]></description>
			<content:encoded><![CDATA[<h1><strong>Controlling  Servo Motors</strong></h1>
<p><em><strong>Using  the Pololu Servo Controller in .NET</strong></em><br />
<em>Tutorial and Example Program</em><em> </em></p>
<h2><strong><strong>Step  1: Buy a servo Controller.</strong></strong></h2>
<p>In this guide I'll be providing code for the <a href="http://www.pololu.com/products/pololu/0727/">Pololu 8 Servo  Serial  Controller</a>, which I highly  recommend.  It has a protocol  which  provides around 5,000 unique positions, as compared to the 255   provided  by most other controllers.</p>
<p>You can buy the 8 servo controller for $23.95, its a good deal.</p>
<p><a href="http://www.pololu.com/products/pololu/0727/"> <img src="../../pololu/small.jpg" alt="" /> </a><br />
<a href="http://www.pololu.com/products/pololu/0727/">Pololu 8 Servo   Serial Controller</a></p>
<p><img title="More..." src="http://colinkarpfinger.com/blog/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt=" Click for More" /></p>
<h2><strong>Step  2: Find a Power Source.</strong></h2>
<p>The Pololu 8 Servo Controller takes a 5-16V input.  You could use any   power supply in that range, as long as it can source enough current  for  your purposes.</p>
<p>I used an old AT power supply.  I bet you can find one on ebay  for  10$ or less.  Chances are you can find a really old computer and  steal  its power supply.  The 5V lines work perfect.  Some of the newer  power  supplies (ATX)  have something called current sensing, which will  not  output a voltage unless there is some continuity between the supply   wires and ground.  I'm not quite sure these work, but you can read up on   current sensing here:</p>
<p><a href="http://www.wikihow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply">http://www.wikihow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply</a><br />
<a href="http://www.tc.umn.edu/%7Ebeck0778/powersupply.html">http://www.tc.umn.edu/~beck0778/powersupply.html</a><br />
<a href="http://www.instructables.com/id/E6D9DB9RPPEP286BR9/?ALLSTEPS">http://www.instructables.com/id/E6D9DB9RPPEP286BR9/?ALLSTEPS</a></p>
<p>You could also use 4xAA or 4xAAA batteries, or you could use a 5V   wall wart (one of those power adapters w/ the bulky plug) from some old   device.  Get creative.  You need to provide power to the servos   (anywhere from 4-6 Volts) and to the controller (anywhere from 5-16 V).    If the servo battery pack is above 5V, it can also power the  controller  by placing a jumper on the board. (Vcc=Vs).</p>
<h2><strong>Step  3: Find a serial cable</strong></h2>
<p>A standard DB9 (9 pin) Female to Male serial cable will work.  Do   not use a NULL Modem Cable, as it  will not work.</p>
<p><a href="http://www.cablewholesale.com/specs/10d1-03203.htm"><img src="../../pololu/serialcable.jpg" alt="" /></a><br />
Here is one for <strong>$1.68</strong> if you can't find any: <a href="http://www.cablewholesale.com/specs/10d1-03203.htm">http://www.cablewholesale.com/specs/10d1-03203.htm</a></p>
<h2><strong>Step  4: Connect up the power, serial port and  your servo!</strong></h2>
<p>As stated before,  you need to provide power to the servos  (anywhere  from 4-6 Volts) and to the controller (anywhere from 5-16 V).   If the  servo battery pack is above 5V, it can also power the controller  by  placing a jumper on the board. (Vcc=Vs).  Plug in your power to the   pins on the servo controller.  Connect your servo to pin 7 (furthest   from the servo power pins).  You could use another pin, just remember to   change it in the software later.</p>
<p><img src="../../pololu/diagramsmaller.jpg" alt="" /><br />
Diagram  taken from the <a href="http://www.pololu.com/products/pololu/0727/ssc04a_guide.pdf">Users   Guide PDF</a></p>
<h2><strong>Step  5: Determine which serial (COM) port you  will use.</strong></h2>
<p>Go to Control Panel -&gt; System -&gt; Device Manager, and browse   your Ports.  If you have a serial port  built in, it will most likely   say Communications Port.  If its a USB or PCI adapter, it may say    something different.  Try to determine which one you are using.  Don't   worry if you pick the wrong  one, your servos just won't move, and you   can try another port.</p>
<p><img src="../../pololu/COMports.JPG" alt="" /></p>
<h2><strong>Step  6: Download and install MS Visual C# </strong></h2>
<p>Its a free download, and an extremely easy environment to program    in.  The example program provided is programmed in C#.<br />
<a href="http://msdn.microsoft.com/vstudio/express/downloads/default.aspx"><img src="../../pololu/csharp.gif" alt="" /></a><br />
<a href="http://msdn.microsoft.com/vstudio/express/downloads/default.aspx">Visual   Studio Download Page</a></p>
<h2><strong>Step  7: Download <a href="../../pololu/PololuServoExample.zip">PololuServoExample</a></strong></h2>
<p>Extract it and open PololuServoExample.sln</p>
<h2><strong>Step  8: Set your COM Port, and Test it out!</strong></h2>
<p><img src="../../pololu/examplesssmal.jpg" alt="" /></p>
<p>First, set the COM Port to what you determined it was from the   control panel.  Then either put a number in one of the coordinate text   boxes, and hit the Go button,  or move the trackbar.  The servo   connected to pin 7 will move!</p>
<p>Take note that the Top Box and trackbar use pololu protocol, and  the  bottom ones use MiniSSC.  You  cannot switch between them without   resetting your controller.  You can do this buy turning off the  power   to the controller, and turning it on again.</p>
<p>Pololu mode has a MUCH higher resolution than miniSSC, and  therefore  you should use Pololu mode.  But  both examples are given just  in  case.</p>
<p>Take note that once you have added the serialport class to your   project, turning the servos takes only 3 lines of code for both   protocols:</p>
<p><strong>Pololu Mode:<br />
<img src="../../pololu/pololucode.JPG" alt="" /></strong></p>
<p><strong>SerialPortClass serialPort1 = new SerialPortClass(); <em>//create  an  instance of our class so we can access its functions<br />
</em> serialPort1.Pololu(comPort, baudRate, 7, servo, servoSpeed);     <em>//this  function will move servo 7, at the quickest speed,<br />
</em> <em>//via a certain COMport and baud rate<br />
</em></strong></p>
<p><strong><br />
<img src="../../pololu/pololu/ssc.JPG" alt="" /></strong></p>
<p><strong> </strong></p>
<h2><strong><strong>Thats  it! </strong></strong></h2>
<p><strong>All your code is shown there.  Notice that in the example  program  the declaration of serialPort1 occurs at the top of the form.   If you  need to access it from another form you could either declare a  new  instance, or make serialPort1 public. </strong></p>
<p><strong>If you have problems, try changing the COM port around.   Also,  you can increase the baud rate for  quicker performance.  I  haven't had  any problems at 38400. </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2008/using-the-pololu-servo-controller-in-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defcon 15</title>
		<link>http://colinkarpfinger.com/blog/2008/defcon-15/</link>
		<comments>http://colinkarpfinger.com/blog/2008/defcon-15/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 00:00:42 +0000</pubDate>
		<dc:creator>Colin Karpfinger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://colinkarpfinger.com/blog/?p=14</guid>
		<description><![CDATA["Check this out, it's some fucked up plumbing that kills people!" --Interviewer at Defcon My first take at the defconbots automated weaponry tournament. Early Development of DefconBot I used the the 8 servo serial controller, and s666n High Torque servo motor, both of which are made by Pololu Robotics. I highly recommend using their servo [...]]]></description>
			<content:encoded><![CDATA[<p><em>"Check this out, it's some fucked up plumbing that kills people!"<br />
-</em>-Interviewer at Defcon<br />
<em><br />
<img class="alignnone" title="Defcon15 Bot" src="http://colinkarpfinger.com/projects/defcon/pics/april27/complete.jpg" alt="" width="304" height="323" /><br />
</em></p>
<p>My first take at the defconbots automated weaponry tournament.</p>
<p><a href="http://www.youtube.com/watch?v=Sovf6UxKL5E">Early Development of DefconBot</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/Sovf6UxKL5E" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/Sovf6UxKL5E"></embed></object></p>
<p>I used the the <a href="http://www.pololu.com/products/pololu/0727/">8 servo serial  controller</a>, and s666n High Torque servo motor, both of which are  made by <a href="http://www.pololu.com/"> Pololu Robotics</a>. I highly recommend using their servo controller  over the Mini-SSC variety, because of the added resolution. Pololu's  servo controllers work with Mini-SSC protocol as well, however I saw  quite an increase in precision when I switched over to Pololu protocol.</p>
<p>The <a href="http://defconbots.org/">Defcon Bots</a> competition involved building a robot which could find, and shoot down, 23 white targets, entirely on it's own.  I used a USB webcam to find the targets, a laptop to process their location, and translate the coordinates into servo commands.</p>
]]></content:encoded>
			<wfw:commentRss>http://colinkarpfinger.com/blog/2008/defcon-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
