<?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>ShareBrained Technology &#187; Random Stuff I Learned</title>
	<atom:link href="http://www.sharebrained.com/category/random/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sharebrained.com</link>
	<description>Electronics for Curious Brains</description>
	<lastBuildDate>Thu, 22 Dec 2011 23:18:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Signals from Space! (part 3)</title>
		<link>http://www.sharebrained.com/2011/10/01/signals-from-space-part-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=signals-from-space-part-3</link>
		<comments>http://www.sharebrained.com/2011/10/01/signals-from-space-part-3/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 22:15:46 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[adrf6850]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[demodulation]]></category>
		<category><![CDATA[noaa]]></category>
		<category><![CDATA[poes]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[receiver]]></category>
		<category><![CDATA[satellite]]></category>
		<category><![CDATA[software-defined radio]]></category>
		<category><![CDATA[space]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=634</guid>
		<description><![CDATA[In the last two parts, I used my homebrew software-defined radio to receive weather image signals from the NOAA-19 satellite and spent some time trying to calculate the satellite&#8217;s speed using frequency shift measurements. This time around, I&#8217;m going to &#8230; <a href="http://www.sharebrained.com/2011/10/01/signals-from-space-part-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the last two parts, I used my <a href="http://www.sharebrained.com/2011/08/03/software-defined-radio-receiver-first-signals/">homebrew software-defined radio</a> to <a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/">receive weather image signals from the NOAA-19 satellite</a> and spent some time trying to <a href="http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/">calculate the satellite&#8217;s speed using frequency shift measurements</a>. This time around, I&#8217;m going to demodulate the raw signal and turn it back into the image the satellite captured.</p>
<p>The NOAA-19 <a href="http://www.ncdc.noaa.gov/oa/pod-guide/ncdc/docs/klm/html/c4/sec4-2.htm" target="new">APT signal</a> is a relatively simple signal to understand. When the satellite captures an image, it scans through it line-by-line, at a rate of two lines per second. The brightness of the image during scanning is amplitude modulated on to a 2.4kHz carrier tone, and sounds like this:</p>
<p><audio controls><br />
<source src="http://www.sharebrained.com/wp-content/2011/10/demodulated.wav"><br />
</audio></p>
<p>You can hear the (slightly painful) 2.4kHz carrier tone. Also notice the tick-tock-tick-tock pulse of the signal. Each tick and tock is a sync signal followed by a line of image data. Why a tick *and* a tock? APT transmits *two* images at a time, so the &#8220;tock&#8221; is the sync signal between data from the first and second images.</p>
<p><img src="http://www.sharebrained.com/wp-content/2011/10/f423-2.png" alt="" title="APT video line format" width="398" height="393" class="aligncenter size-full wp-image-646" /></p>
<p>I rigged up <a href="http://www.sharebrained.com/downloads/miscellaneous/apt-simple.grc">a GNU Radio Companion &#8220;patch&#8221; to demodulate the APT signal</a>. It&#8217;s based off a <a href="http://www.oz9aec.net/index.php/gnu-radio/gnu-radio-blog/440-simple-apt-decoder-prototype" target="new">APT decoder by Alexandru Csete</a>. It filters and demodulates the signal and outputs a file of demodulated data.</p>
<p><img src="http://www.sharebrained.com/wp-content/2011/10/apt-simple.grc-560x291.png" alt="" title="Simple NOAA APT demodulator for GNU Radio" width="560" height="291" class="aligncenter size-medium wp-image-652" /></p>
<p>I tweaked the demodulated file a bit with Python, normalizing the data to the range (0,255) and writing out a byte-per-sample file:</p>
<pre class="brush: python; title: ; notranslate">import numpy
raw = numpy.fromfile('words.f32', dtype=numpy.float32)
normalized = raw / max(raw) * 255.0
output_u8 = numpy.array(normalized, dtype=numpy.uint8)
output_u8.tofile('pixels.u8')</pre>
<p>Following Alexandru&#8217;s lead, I used ImageMagick&#8217;s &#8220;convert&#8221; to translate the byte-samples to a PNG image:</p>
<pre class="brush: bash; title: ; notranslate">convert -size 2080x1194 -depth 8 gray:pixels.u8 image.png</pre>
<p>And behold! A really noisy satellite image!</p>
<p><a href="http://www.sharebrained.com/wp-content/2011/10/apt-image-raw.png"><img src="http://www.sharebrained.com/wp-content/2011/10/apt-image-raw-560x321.png" alt="" title="Raw APT image" width="560" height="321" class="aligncenter size-medium wp-image-653" /></a></p>
<p>There are two images visible, side-by-side. The left side seems to be a visible spectrum image, while the right seems to be infrared. You can see parts of California, Oregon, and Washington. The Columbia River, a few miles from my house, is somewhat visible, too:</p>
<p><img src="http://www.sharebrained.com/wp-content/2011/10/apt-image-labeled.png" alt="" title="APT image, labeled" width="500" height="356" class="aligncenter size-full wp-image-654" /></p>
<p>This was my first attempt at capturing a satellite signal, so I was using a crappy all-purpose dipole antenna. Hence the wretched amount of noise. But still, for my first attempt, I&#8217;m pretty pleased! Now, to <a href="http://www.ptast.com/~jerry/" target="new">build a better antenna</a>&#8230;</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;counturl=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;count=horizontal&amp;text=Signals%20from%20Space%21%20%28part%203%29" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;counturl=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;count=horizontal&amp;text=Signals%20from%20Space%21%20%28part%203%29" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=recommend&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=recommend&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F10%2F01%2Fsignals-from-space-part-3%2F&amp;title=Signals%20from%20Space%21%20%28part%203%29" id="wpa2a_2">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2011/10/01/signals-from-space-part-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://www.sharebrained.com/wp-content/2011/10/demodulated.wav" length="2255344" type="audio/wav" />
		</item>
		<item>
		<title>Signals from Space! (part 2, and a Chronulator contest)</title>
		<link>http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=signals-from-space-part-2</link>
		<comments>http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 16:37:09 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[doppler effect]]></category>
		<category><![CDATA[noaa]]></category>
		<category><![CDATA[poes]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[receiver]]></category>
		<category><![CDATA[satellite]]></category>
		<category><![CDATA[software-defined radio]]></category>
		<category><![CDATA[space]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=569</guid>
		<description><![CDATA[Quick recap: In part 1, I captured weather satellite signals with my software-defined radio prototype, using the audio input on my laptop. So, what can be done with these captured signals? The first thing I did after recording the NOAA-19 &#8230; <a href="http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quick recap: In <a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/">part 1</a>, I captured weather satellite signals with my software-defined radio prototype, using the audio input on my laptop. So, what can be done with these captured signals?</p>
<p><img src="http://www.sharebrained.com/wp-content/2011/08/photo-560x420.jpg" alt="" title="Software-defined radio front-end" width="560" height="420" class="aligncenter size-medium wp-image-496" /></p>
<p>The first thing I did after recording the NOAA-19 APT signal was load it up in Audacity and examine the spectrum of the signal.</p>
<p><a href="http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/doppler-137m1-20110901-1420/" rel="attachment wp-att-570"><img src="http://www.sharebrained.com/wp-content/2011/09/Doppler-@-137m1-20110901-1420-560x319.jpg" alt="" title="NOAA-19 APT signal spectrum" width="560" height="319" class="aligncenter size-medium wp-image-570" /></a></p>
<p>That&#8217;s a cool looking pattern &mdash; and it&#8217;s a bit suspicious too. The pinkish-purple curves indicate frequencies in the signal changing over time, over the ten minutes I recorded the signal. Notice how the frequencies change slowly at the beginning (left of the graph) when the satellite was rising over the horizon. The same thing happened at the end (right of the graph) when the satellite was descending back toward the horizon. When the satellite was directly overhead, the signal&#8217;s frequency changed very quickly. Hmmm. (think think think&#8230;) Hey, that&#8217;s the <a href="http://en.wikipedia.org/wiki/Doppler_effect" target="_blank">Doppler effect</a>!</p>
<p>Indeed, the satellite is moving very fast &mdash; it orbits the Earth every 102 minutes. <a href="http://www.n2yo.com/?s=33591" target="_blank">One Web site claims</a> NOAA-19 is orbiting at 7.55 km/s, which is 27,180 km/h.</p>
<p>Let&#8217;s say we don&#8217;t already know how often the satellite orbits the Earth, or we don&#8217;t know the distance the satellite travels in one orbit. If we measure the Doppler shift of the signal, we can calculate the satellite&#8217;s speed ourselves. Here&#8217;s my measurement of the frequency shift in the signal &mdash; I get 5.6kHz from the the start to end of the satellite&#8217;s pass:</p>
<p><a href="http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/doppler-137m1-20110901-1/" rel="attachment wp-att-571"><img src="http://www.sharebrained.com/wp-content/2011/09/Doppler-@-137m1-20110901-1.png" alt="" title="Doppler frequency shift measurement" width="390" height="267" class="aligncenter size-full wp-image-571" /></a></p>
<p>When the satellite is coming at me, the signal is &#8220;squeezed&#8221; and the frequency is increased by 2.8kHz &mdash; half of the 5.6kHz total shift I measured. As the satellite is traveling away from me, the signal is stretched and the frequency is decreased by 2.8kHz &mdash; the other half of the 5.6kHz shift. The frequency change as a percentage of the signal&#8217;s original frequency (137.1MHz) is 0.00204% &mdash; pretty small. But consider that this percentage is the speed of the satellite as a percentage of the speed of the signal. The signal is <a href="http://en.wikipedia.org/wiki/Wave_propagation_speed" target="_blank">traveling at the speed of light</a>, which is roughly 1,079,000,000 kilometers per hour. If we take that percentage from the speed of light, we get&#8230; Drum roll&#8230; 1,079,000,000 km/h * 0.0000204 = 22,000 km/h.</p>
<p>That&#8217;s close, but no cigar. Why is that number 19% lower than the actual satellite speed over the Earth (27,180 km/h, from above)? That&#8217;s pretty easy. The satellite is roughly 850 km above the Earth, and didn&#8217;t go directly overhead, but perhaps 450 km to the west. Calculating the hypotenuse: sqrt(850*850+450*450) = 962 km is the closest the satellite came to me. If the satellite went right through me, the Doppler shift I measured would&#8217;ve given the right answer. (&#8230;and I&#8217;d be splattered all over.) But the speed that the satellite was traveling <em>relative to me</em> was less than the satellite&#8217;s speed over the Earth.</p>
<div id="attachment_521" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/passgtracklargegraphic-aspx/" rel="attachment wp-att-521"><img src="http://www.sharebrained.com/wp-content/2011/09/PassGTrackLargeGraphic.aspx_.jpg" alt="" title="NOAA-19 pass over Portland, OR: 2001/09/01 14:25 local time" width="500" height="500" class="size-full wp-image-521" /></a><p class="wp-caption-text">Credit: Heavens-Above GmbH</p></div>
<p>Because I&#8217;m lazy and I&#8217;ve run out of room on my sketch-napkin, I&#8217;m offering a free <a href="http://www.sharebrained.com/chronulator/">Chronulator kit</a> to the first person who can produce worked math that correctly compensates for the distance of the satellite from me, and gives an answer that&#8217;s within a few percent of the actual satellite orbit speed. I&#8217;m sure there&#8217;s a cosine or arctangent involved&#8230; Tweet your solution to <a href="http://twitter.com/sharebrained" target="_blank">@sharebrained</a> or e-mail it to <a href="mailto:info@sharebrained.com">info@sharebrained.com</a> &mdash; a camera-phone photo of a hand-written solution is fine (as long as I can read it!).</p>
<p>In <a href="http://www.sharebrained.com/2011/10/01/signals-from-space-part-3/">part 3</a>, I decode the signal to get at the weather images inside.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;counturl=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;count=horizontal&amp;text=Signals%20from%20Space%21%20%28part%202%2C%20and%20a%20Chronulator%20contest%29" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;counturl=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;count=horizontal&amp;text=Signals%20from%20Space%21%20%28part%202%2C%20and%20a%20Chronulator%20contest%29" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=recommend&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=recommend&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F09%2F08%2Fsignals-from-space-part-2%2F&amp;title=Signals%20from%20Space%21%20%28part%202%2C%20and%20a%20Chronulator%20contest%29" id="wpa2a_4">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Signals from Space! (part 1)</title>
		<link>http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=signals-from-space-part-1</link>
		<comments>http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 00:48:58 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[noaa]]></category>
		<category><![CDATA[poes]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[receiver]]></category>
		<category><![CDATA[satellite]]></category>
		<category><![CDATA[software-defined radio]]></category>
		<category><![CDATA[space]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=518</guid>
		<description><![CDATA[I attempt to receive weather satellite signals with my software radio prototype -- with surprisingly good results! <a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I posted about an <a href="http://www.sharebrained.com/2011/08/03/software-defined-radio-receiver-first-signals/">inexpensive software radio receiver product I&#8217;m working on</a>. Joby <a href="http://www.sharebrained.com/2011/08/03/software-defined-radio-receiver-first-signals/#comment-5063">suggested last week</a> that I try and receive weather satellite signals &mdash; yes, from SPACE! I was skeptical that I could pick up such a small and exotic signal with my modest hardware, but decided to give it a shot. Even if it didn&#8217;t work, I was sure I&#8217;d learn a few things in the process.</p>
<div id="attachment_519" class="wp-caption aligncenter" style="width: 382px"><a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/2009-1373/" rel="attachment wp-att-519"><img src="http://www.sharebrained.com/wp-content/2011/09/2009-1373-372x560.jpg" alt="" title="NOAA POES satellite during preparation for launch" width="372" height="560" class="size-medium wp-image-519" /></a><p class="wp-caption-text">Credit: NOAA</p></div>
<p>Joby was interested in receiving <a href="http://en.wikipedia.org/wiki/Automatic_Picture_Transmission" target="_blank">APT</a> (automatic picture transmission) signals from the <a href="http://goespoes.gsfc.nasa.gov/poes/" target="_blank">NOAA POES</a> (polar operational environmental satellite). POES satellites orbit the earth every 102 minutes, and scan the entire Earth twice a day. They beam back radio signals containing images that we see every time we check the weather.</p>
<div id="attachment_520" class="wp-caption aligncenter" style="width: 570px"><a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/315001main_first_image_lg/" rel="attachment wp-att-520"><img src="http://www.sharebrained.com/wp-content/2011/09/315001main_First_Image_lg-560x454.jpg" alt="" title="First image received from NOAA-19 satellite" width="560" height="454" class="size-medium wp-image-520" /></a><p class="wp-caption-text">Credit: Fred E. Piering</p></div>
<p>I checked out the <a href="http://www.oso.noaa.gov/poesstatus/" target="_blank">status of the POES satellites</a>. NOAA-19 seemed like my best bet for reception of an APT signal on 137.1MHz. So I consulted Heavens Above (a great planet/star/satellite tracking Web site) to see <a href="http://heavens-above.com/satinfo.aspx?lat=45.55893&#038;lng=-122.64914&#038;alt=80&#038;loc=ShareBrained&#038;TZ=PST&#038;SatID=33591" target="_blank">when NOAA-19 would go over my town</a>.</p>
<div id="attachment_521" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/passgtracklargegraphic-aspx/" rel="attachment wp-att-521"><img src="http://www.sharebrained.com/wp-content/2011/09/PassGTrackLargeGraphic.aspx_.jpg" alt="" title="NOAA-19 pass over Portland, OR: 2001/09/01 14:25 local time" width="500" height="500" class="size-full wp-image-521" /></a><p class="wp-caption-text">Credit: Heavens-Above GmbH</p></div>
<p>A few minutes before NOAA-19 was due to go overhead, I scrambled outside with my laptop, radio board, and cheap telescoping antenna. I hooked everything up and enticed my wife outside to help. As she monitored the waterfall spectrum on the computer, I waved the antenna around, trying to get the strongest possible signal. And here&#8217;s what we caught:</p>
<p><iframe width="560" height="345" src="http://www.youtube.com/embed/QFBOBu-dBb8" frameborder="0" allowfullscreen></iframe></p>
<p>Wow! I didn&#8217;t expect my radio and antenna to be sensitive enough to receive a 10-Watt signal from 1,000 kilometers away! That signal should be strong enough to decode &mdash; which I&#8217;ll do in an upcoming post. Until then, stay tuned for tomorrow&#8217;s post: &#8220;Doppler Shift: How to calculate the speed of a satellite from your back yard&#8221;!</p>
<p>On to <a href="http://www.sharebrained.com/2011/09/08/signals-from-space-part-2/">part 2 (computing satellite speed with &#8220;Doppler&#8221; shift)</a> or <a href="http://www.sharebrained.com/2011/10/01/signals-from-space-part-3/">part 3 (decoding the signal)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2011/09/06/signals-from-space-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fear The Bus Pirate, For It Is Awesome</title>
		<link>http://www.sharebrained.com/2011/07/14/fear-the-bus-pirate/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fear-the-bus-pirate</link>
		<comments>http://www.sharebrained.com/2011/07/14/fear-the-bus-pirate/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 02:49:12 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[audio codec]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[prototyping]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=470</guid>
		<description><![CDATA[I got my Bus Pirate today, just in time to talk to my project&#8217;s audio codec via I2C. It is no exaggeration to say the Bus Pirate saved me a metric crap-ton of time. In about ten minutes, I had &#8230; <a href="http://www.sharebrained.com/2011/07/14/fear-the-bus-pirate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I got my <a href="http://dangerousprototypes.com/docs/Bus_Pirate" target="_new">Bus Pirate</a> today, just in time to talk to my project&#8217;s audio codec via I2C. It is no exaggeration to say the Bus Pirate saved me a metric crap-ton of time. In about ten minutes, I had the Bus Pirate hooked to the audio codec, figured out the text command interface, and started configuring the audio codec to interact with the microcontroller.</p>
<p>Here&#8217;s the Bus Pirate (red, foreground) hooked up to my audio prototype board (purple, in the background):</p>
<p><a href="http://www.sharebrained.com/2011/07/14/fear-the-bus-pirate/img_0773/" rel="attachment wp-att-471"><img src="http://www.sharebrained.com/wp-content/2011/07/IMG_0773-420x560.jpg" alt="" title="Bus Pirate plundering my audio codec&#039;s registers" width="420" height="560" class="aligncenter size-medium wp-image-471" /></a></p>
<p>I&#8217;ve been through this before, the hard way. Bringing up new devices on the I2C bus can be tedious, and it&#8217;s hard to know what you&#8217;re doing wrong. Is my I2C peripheral driver bad? Or am I sending bad commands to the I2C device? Without a fancy logic analyzer, it&#8217;s hard to tell for sure. Now I can remove one variable from the process. I have a set of commands I *know* will correctly configure my audio codec, so later on, when I&#8217;m programming the microcontroller to do the configuration, I can rule out having a botched or malformed set of I2C configuration commands. Woo hoo!</p>
<p>Oh, wait. I still need to write an I2C driver for the STM32 microcontroller&#8230; Eeeew.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;counturl=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;count=horizontal&amp;text=Fear%20The%20Bus%20Pirate%2C%20For%20It%20Is%20Awesome" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;counturl=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;count=horizontal&amp;text=Fear%20The%20Bus%20Pirate%2C%20For%20It%20Is%20Awesome" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=recommend&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=recommend&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.sharebrained.com%2F2011%2F07%2F14%2Ffear-the-bus-pirate%2F&amp;title=Fear%20The%20Bus%20Pirate%2C%20For%20It%20Is%20Awesome" id="wpa2a_6">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2011/07/14/fear-the-bus-pirate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PCB stencils on the cheap (kinda)</title>
		<link>http://www.sharebrained.com/2011/01/11/pcb-stencils-on-the-cheap-kinda/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pcb-stencils-on-the-cheap-kinda</link>
		<comments>http://www.sharebrained.com/2011/01/11/pcb-stencils-on-the-cheap-kinda/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 07:05:00 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[epilog laser]]></category>
		<category><![CDATA[hot plate]]></category>
		<category><![CDATA[laser cutter]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[solder paste]]></category>
		<category><![CDATA[solder stencil]]></category>
		<category><![CDATA[soldering]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=273</guid>
		<description><![CDATA[How to apply circuit board solder paste if the only fancy tool you have is a low-power laser cutter -- using Avery adhesive mailing labels! <a href="http://www.sharebrained.com/2011/01/11/pcb-stencils-on-the-cheap-kinda/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in a heavy prototyping phase with my software-defined radio projects. Every time <a href="http://www.dorkbotpdx.org/">DorkbotPDX</a> has a <a href="http://dorkbotpdx.org/wiki/pcb_order">board order</a>, I make sure I&#8217;ve got one or two boards in the order. Of course, once I get the boards, I have to assemble them. And since radio-frequency projects involve high frequencies, small surface-mount components are essential.</p>
<p style="text-align: center;"><img class="size-full wp-image-275 aligncenter" title="adf4350_finished" src="http://www.sharebrained.com/wp-content/2011/01/adf4350_finished.jpg" alt="adf4350_finished" width="300" height="211" /></p>
<p>How small? It&#8217;s common to use &#8220;0402&#8243; resistors, capacitors, and inductors on a circuit board that operates at gigahertz frequencies. The name &#8220;0402&#8243; comes from the dimensions of the components &#8212; 0.04&#8243; x 0.02&#8243; (1.0mm x 0.5mm). That&#8217;s really tiny. I don&#8217;t want to hand-solder those because I drink too much coffee and can&#8217;t hold still enough&#8230; So I investigated reflow soldering, a technique my Dorkbot colleagues have used with <a href="http://dorkbotpdx.org/blog/doctek/extreme_surface_mount_workshop">great success</a>. It usually involves an cheap hot plate and some solder paste. The solder paste is applied to the board at places where solder needs to join components. Then the components are placed on top of the solder paste points. When the assembly is heated, the solder paste melts, and the surface tension of the molten solder pulls the components into place on their respective solder pads. It&#8217;s immensely easier than hand-soldering, and produces beautiful results.</p>
<h3>The Hard and Messy Way</h3>
<p>My first attempt involved applying solder paste in coarse blobs on the board, using a toothpick. That barely worked. The largest problem was that some solder joints had too much solder and flowed together with other solder joints. Other solder joints were too dry and in some cases didn&#8217;t connect reliably between the board and component.</p>
<p>In the real world of mass-production circuit board assembly, solder stencils are used. The solder paste is applied through a screen (stencil) that ensures the right amount of solder is applied in precisely the right places. As an individual, you can order laser-cut stencils cut from metal or expensive, high-temperature Kapton plastic. I didn&#8217;t want to wait for a stencil, take on the added cost, or have to procure large amounts of specialized plastic.</p>
<p>A colleague of mine suggested cutting stencils on the laser cutter we have in the office. Our laser cutter can&#8217;t cut metal, but it can cut paper. Since I&#8217;m making prototypes, not mass-producing products, it&#8217;s OK if the paper stencil is destroyed by using it. So I cut a stencil from paper and tried it.</p>
<p>The result with the paper stencil was OK, but not great. The paste bled underneath the stencil. In those spots, I had too much solder. It was also a bit tricky keeping the paper still as I applied the solder paste with the squeegee. Then, I had a revelation&#8230;</p>
<h3>Adhesive Mailing Labels &#8212; SRSLY?</h3>
<p>I have these Avery mailing labels that I use to address <a href="http://www.sharebrained.com/chronulator/">Chronulator kit</a> shipments to my customers. They&#8217;re made of paper, and they <em>stick</em> to stuff. What if I cut my stencil from a mailing label? Let&#8217;s give it a try&#8230;</p>
<p>To start with, I need to prepare a solder paste template. I output a PDF with the paste layers shrunk a bit. I shrink the paste layer because the mailing label is quite thick, and therefore so is the paste when it&#8217;s applied. So I need to compensate for the thick paste by making the paste areas smaller.</p>
<p>From the paste template file, I laser the mailing label with the Epilog 45W laser at work. My settings are &#8220;speed 25&#8243; and &#8220;power 25&#8243;. I use raster mode, as it tends to produce more accurate, even results.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-284" title="stencil_laser" src="http://www.sharebrained.com/wp-content/2011/01/stencil_laser.jpg" alt="stencil_laser" width="300" height="225" /></p>
<p>Then, I cut out the template. I leave enough border so I have some room to spread the solder paste without getting it on the board. I also need a border to hold on to when I peel off the label.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-282" title="stencil_cutout" src="http://www.sharebrained.com/wp-content/2011/01/stencil_cutout.jpg" alt="stencil_cutout" width="300" height="225" /></p>
<p>I clean the circuit board with rubbing alcohol to make sure there&#8217;s no dirt or grime that will foul up soldering. Then I stick the template to the circuit board. Lining up the stencil is a bit tricky, but the mailing labels are only mildly sticky, and can easily be pulled up and reapplied if the alignment is off.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-285" title="stencil_on_pcb" src="http://www.sharebrained.com/wp-content/2011/01/stencil_on_pcb.jpg" alt="stencil_on_pcb" width="300" height="225" /></p>
<p>I&#8217;ve noticed that the mailing label adhesive gets stickier after being on the board a while. If you leave the label on the board for more than a day or two, it&#8217;s very hard to remove without ripping (and messing up your solder paste).</p>
<h3>Like Buttering Toast</h3>
<p>I apply the solder paste with a little metal squeegee. At first, I apply a lot of solder paste (several times what I need) and squeeze it against the board to get the paste deep into the template&#8217;s holes. The layer of paste is very thick.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-279" title="paste_on_board" src="http://www.sharebrained.com/wp-content/2011/01/paste_on_board.jpg" alt="paste_on_board" width="188" height="250" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-277" title="paste_application" src="http://www.sharebrained.com/wp-content/2011/01/paste_application.jpg" alt="paste_application" width="300" height="225" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-286" title="thick_paste" src="http://www.sharebrained.com/wp-content/2011/01/thick_paste.jpg" alt="thick_paste" width="250" height="250" /></p>
<p>After I have a thick layer of paste on the board, I scrape off all the excess &#8212; until I can see the template paper through the paste. Sometimes, I wind up scraping some of the paste out of a hole in the template, so I have to re-apply the paste and re-squeegy it to be smooth.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-287" title="thin_paste" src="http://www.sharebrained.com/wp-content/2011/01/thin_paste.jpg" alt="thin_paste" width="294" height="250" /></p>
<p>Once the solder paste is even, it&#8217;s time to peel off the template!</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-278" title="paste_applied" src="http://www.sharebrained.com/wp-content/2011/01/paste_applied.jpg" alt="paste_applied" width="300" height="232" /></p>
<p>The hardest part of the whole process is placing the components on the board without damaging the solder paste. It&#8217;s essential to have a good eyesight, a good pair of tweezers, a steady hand, and lots of patience.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-280" title="placing_parts" src="http://www.sharebrained.com/wp-content/2011/01/placing_parts.jpg" alt="placing_parts" width="300" height="225" /></p>
<p>If you do smudge your solder paste, you can try to reshape it with the tip of a pen knife. And if one of your components doesn&#8217;t want to move into place, nudging it with the side of a pen knife blade seems to be the easiest way.</p>
<h3>Turn On the Heat</h3>
<p>After all the components are placed on the board, gently transfer it to the hot plate. Or better yet, put the board on the hotplate <em>before</em> you place the components.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-276" title="on_hotplate" src="http://www.sharebrained.com/wp-content/2011/01/on_hotplate.jpg" alt="on_hotplate" width="254" height="250" /></p>
<p>Other people use fancy PID controllers to control their hot plate temperature. Since I&#8217;m building very small prototypes, I don&#8217;t need a lot of temperature precision. I warm up the board to the point where I see the first wisp of smoke (130C or so, I think), then turn off the heat and let it sit for a minute to stabilize the temperature. I turn the heat back on until I see the solder melt on all the components. I immediately turn the heat off. I let the board cool down for a couple of minutes, then move the board off the hot plate to cool the rest of the way. I&#8217;m probably stressing the components by shock-cooling them&#8230;</p>
<h3>Go Forth and Modify</h3>
<p>At this point, the board is done and it&#8217;s time to hook it up and see it work! So far, all the boards I&#8217;ve made with this technique (four) have worked great (except for the <a href="http://www.sharebrained.com/2010/12/23/dont-trust-solder-flux/">solder flux incident</a>). Good luck to all who try it, and I hope to see people discussing improvements&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2011/01/11/pcb-stencils-on-the-cheap-kinda/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Trust Solder Flux</title>
		<link>http://www.sharebrained.com/2010/12/23/dont-trust-solder-flux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dont-trust-solder-flux</link>
		<comments>http://www.sharebrained.com/2010/12/23/dont-trust-solder-flux/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 04:44:01 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[solder flux]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=271</guid>
		<description><![CDATA[Clean the solder flux from your circuit board prototypes, or suffer the bitter consequences! <a href="http://www.sharebrained.com/2010/12/23/dont-trust-solder-flux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was working on a board tonight. It&#8217;s an FPGA-to-USB high-speed interface using the Xilinx Spartan-3E and the SMSC USB3317 USB interface. The two parts are connected via a standard interface called ULPI. The interface runs at about 60MHz &#8212; fast, but not too demanding. So when I started prototyping my FPGA code, the signals just looked insane. I&#8217;d put a probe on a particular signal, and it&#8217;d jitter and jiggle around. What was happening? Was my oscilloscope probe dying? No, the signal-jiggling seemed to be independent of if and how I moved the probe or its cable. Is my soldering job terrible? I reheated a bunch of joints on the board. Sometimes the signals got better and sometimes they got worse. Once, I wound up with a measurable *short circuit* across the power supply. I thought I was losing my mind. In a last-ditch effort, I slathered on a bunch of rubbing alcohol and scrubbed off the (rather heavy) amount of solder flux I used to solder the through-hole connector to the FPGA board. Guess what? The signals immediately thereafter were *perfect*. And I moved on with the project.</p>
<p>Lessons? Don&#8217;t assume your solder flux is non-conductive. Don&#8217;t use too much solder flux. If you do use solder flux, clean it off with rubbing alcohol and a stiff brush (like a toothbrush). And don&#8217;t trust any circuit until you&#8217;ve cleaned it of solder flux.</p>
<p>Duh. Well, some of us have to learn things the hard way&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2010/12/23/dont-trust-solder-flux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EAGLE CAD Version Rollback</title>
		<link>http://www.sharebrained.com/2009/12/26/eagle-cad-version-rollback/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=eagle-cad-version-rollback</link>
		<comments>http://www.sharebrained.com/2009/12/26/eagle-cad-version-rollback/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 05:43:42 +0000</pubDate>
		<dc:creator>jboone</dc:creator>
				<category><![CDATA[Random Stuff I Learned]]></category>
		<category><![CDATA[eagle]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[schematic]]></category>

		<guid isPermaLink="false">http://www.sharebrained.com/?p=235</guid>
		<description><![CDATA[How to move your EAGLE CAD designs from 5.x back to 4.x without too much pain. <a href="http://www.sharebrained.com/2009/12/26/eagle-cad-version-rollback/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Long story short: I started a design in Mac EAGLE 5.6 because it&#8217;s so much better than the 4.x Mac version. But then my design got too elaborate for the limitations of the freeware version I was using. I didn&#8217;t want to start over in my 4.x Pro version. (The files are not backward-compatible.) So I found a way to get my libraries, schematics, and PCB design out of 5.6 and in to 4.16. Here&#8217;s how:</p>
<p>Start with your libraries. If you try to browse your libraries in the 4.x Control Panel, you&#8217;ll get warnings about all the libraries that are too new. Make list of those libraries.</p>
<p>For each library on your error list:</p>
<ul>
<li>Open the library in EAGLE 5.x.</li>
<li>Choose &#8220;File->Export&#8230;&#8221; and choose &#8220;Script&#8221; from the popup menu.</li>
<li>Name the script file after your library (e.g. &#8220;analog_devices.scr&#8221;). I saved the script in the same directory as the library.</li>
<li>Close the library.</li>
<li>Move the library file (e.g. &#8220;analog_devices.lbr&#8221;) and backup files (&#8220;analog_devices.l#1&#8243; through &#8220;analog_devices.l#9&#8243;) to a safe place.</li>
</ul>
<p>For each script file (e.g. &#8220;analog_devices.scr&#8221;) you saved:</p>
<ul>
<li>Create a new library in EAGLE 4.x.</li>
<li>Choose &#8220;File->Script&#8230;&#8221; and select the .scr file.</li>
<li>Close the library. You&#8217;ll be prompted to save the library. Give it the same name as the original library.</li>
<li>Delete the script file.</li>
</ul>
<p>Now you&#8217;ve got your libraries rebuilt. Next up, your schematics. Download the ULP file &#8220;<a href="http://www.cadsoft.de/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.en&#038;dir=eagle/userfiles/ulp" target="_new">export-schematic.ulp</a>&#8221; from the EAGLE Web site.</p>
<p>For each schematic file:</p>
<ul>
<li>Open the schematic in EAGLE 5.x.</li>
<li>Choose &#8220;File->Run&#8230;&#8221; and choose the &#8220;export-schematic.ulp&#8221; file from where you downloaded it.</li>
<li>The ULP will write out a file named &#8220;temp.scr&#8221;, in the same folder as the schematic file.</li>
<li>Close EAGLE 5.x.</li>
<li>Open EAGLE 4.x.</li>
<li>Create a new folder for the 4.x version of your project.</li>
<li>In the new folder, create a new schematic.</li>
<li>Choose &#8220;File->Script&#8230;&#8221; and open the &#8220;temp.scr&#8221; script file you saved from EAGLE 5.x. It&#8217;ll take a while if your schematic is substantial. If you get questions about moving one net into another, say &#8220;yes&#8221;.</li>
<li>Close the schematic, saving the file to the 4.x project folder you created, and using the same filename as your EAGLE 5.x project.</li>
</ul>
<p>Next, your PCB layouts. Download my ULP file &#8220;<a href="http://www.sharebrained.com/downloads/miscellaneous/export-board-layout.ulp" target="_new">export-board-layout.ulp</a>&#8221; (derived from &#8220;export-board.ulp&#8221; from the EAGLE Web site).</p>
<p>For each board:</p>
<ul>
<li>Start EAGLE 5.x.
<li>
<li>Open your board file. Don&#8217;t do ANYTHING else at this point, or your export script file will get weird.</li>
<li>Choose &#8220;File->Run&#8230;&#8221; and choose the &#8220;export-board-layout.ulp&#8221; file from where you downloaded it.</li>
<li>The ULP will write out a file named &#8220;temp.scr&#8221;, in the same folder as the board file.</li>
<li>Close EAGLE 5.x.</li>
<li>Open EAGLE 4.x.</li>
<li>Open the 4.x version of your schematic.</li>
<li>Choose &#8220;File->Switch to board&#8221;.</li>
<li>Allow EAGLE to &#8220;create from schematic&#8221;.</li>
<li>Choose &#8220;File->Script&#8230;&#8221; and choose the &#8220;temp.scr&#8221; file you saved in an earlier step.</li>
<li>Close the board, saving the file to the 4.x project folder you created, and using the same filename as your EAGLE 5.x project.</li>
</ul>
<p>Whew. Not easy, but a whole lot easier than re-entering the schematic and board layout for a 100-component design&#8230; I hope this is helpful to somebody!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharebrained.com/2009/12/26/eagle-cad-version-rollback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

