<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Hack a Day &#187; Ian</title>
	<atom:link href="http://hackaday.com/author/ianlesnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Mon, 23 Nov 2009 21:30:24 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='hackaday.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Hack a Day &#187; Ian</title>
		<link>http://hackaday.com</link>
	</image>
			<item>
		<title>Bus Pirate preorder 2 update</title>
		<link>http://hackaday.com/2009/07/23/bus-pirate-preorder-2-update/</link>
		<comments>http://hackaday.com/2009/07/23/bus-pirate-preorder-2-update/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 22:00:29 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[preorder]]></category>
		<category><![CDATA[preorder updates]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12821</guid>
		<description><![CDATA[
A few weeks ago we held a preorder for the Bus Pirate universal serial interface tool. We split the preorder into two parts due to a shortage of PIC 24FJ64GA002-I/SO chips. The first preorder is arriving worldwide now, the second preorder has a longer lead time. Here&#8217;s everything we currently know about preorder 2, it&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12821&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12830" title="bp-unbox-0" src="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-0.jpg?w=470&#038;h=361" alt="bp-unbox-0" width="470" height="361" /></p>
<p>A few weeks ago we <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">held a preorder</a> for <a href="http://www.buspirate.com/">the Bus Pirate universal serial interface tool</a>. We split the preorder into two parts due to a shortage of <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026374">PIC 24FJ64GA002-I/SO</a> chips. The first preorder is <a href="http://hackaday.com/2009/07/20/parts-unboxing-the-bus-pirate/">arriving worldwide now</a>, the second preorder <a href="http://hackaday.com/2009/06/30/bus-pirate-preorder-update/">has a longer lead time</a>. Here&#8217;s everything we currently know about preorder 2, it&#8217;s subject to change, but we wanted to keep you up to date.</p>
<p>Preorder 2 contains orders for 563 Bus Pirates. <a href="http://www.seeedstudio.com/depot/">Seeed Studio</a> noticed an  error in our quality control testing routine that misclassified about 50 preorder 1 Bus Pirates as defective. We <a href="http://code.google.com/p/the-bus-pirate/source/detail?r=146">updated the test</a> and passing units will ship immediately to preorder 2 participants on a first come, first serve basis. Another 500 PICs are scheduled to arrive after August 1, which should take care of most remaining orders.</p>
<p><span id="more-12821"></span>A special thanks to the fantastic engineers at <a href="http://www.microchip.com">Microchip</a> who took the time to peruse the Bus Pirate code, and immediately gave the correct solution to our quality control problem. Great job Microchip, thank you!</p>
<p>We released <a href="http://code.google.com/p/the-bus-pirate/downloads/detail?name=Bus%20Pirate.firmware.v0g-c.zip&amp;can=2&amp;q=#makechanges">an updated version</a> of the Bus Pirate firmware package. The firmware is exactly the same, we just changed a speed setting in the P24qp.exe quick programmer utility for MS Windows. During development we increased the baud rate of the quick programmer to make development faster, and we forgot to change it back to a safe speed for normal use.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12821/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12821&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/23/bus-pirate-preorder-2-update/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-0.jpg" medium="image">
			<media:title type="html">bp-unbox-0</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: Unboxing the Bus Pirate</title>
		<link>http://hackaday.com/2009/07/20/parts-unboxing-the-bus-pirate/</link>
		<comments>http://hackaday.com/2009/07/20/parts-unboxing-the-bus-pirate/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 19:00:32 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[parts]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[1-wire]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[jtag]]></category>
		<category><![CDATA[preorder]]></category>
		<category><![CDATA[serial interface]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[unboxing]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12819</guid>
		<description><![CDATA[
For months we&#8217;ve used our Bus Pirate universal serial interface tool to demonstrate electronics parts, so it&#8217;s only appropriate that the Bus Pirate  get it&#8217;s own parts post. We recently had a Bus Pirate preorder, and today we received the pre-production Bus Pirate prototype from Seeed Studio. This prototype was mailed just a few [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12819&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12833" title="bp-unbox-3" src="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-3.jpg?w=470&#038;h=326" alt="bp-unbox-3" width="470" height="326" /></p>
<p>For months we&#8217;ve used our <a href="http://www.buspirate.com">Bus Pirate universal serial interface tool</a> to demonstrate <a href="http://hackaday.com/category/parts/">electronics parts</a>, so it&#8217;s only appropriate that the Bus Pirate  get it&#8217;s own parts post. We recently had a <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">Bus Pirate preorder</a>, and today we received the pre-production Bus Pirate prototype from <a href="http://www.seeedstudio.com/depot/">Seeed Studio</a>. This prototype was mailed just a few days before <a href="http://hackaday.com/2009/07/16/bus-pirate-preorder-1-ships/">preorder 1 started to ship</a>, so those packages should  start arriving any day.</p>
<p>Follow along as we unbox the prototype Bus Pirate, and connect it to a debugger to determine  the <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026374">PIC24FJ64GA002-I/SO</a> revision that shipped with this board. Use this post to share your own Bus Pirate unboxing experience. Pictures and discussion after the break.</p>
<p><span id="more-12819"></span></p>
<p><img class="alignnone size-full wp-image-12831" title="bp-unbox-1" src="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-1.jpg?w=470&#038;h=328" alt="bp-unbox-1" width="470" height="328" /></p>
<p>Most Bus Pirates will ship <a href="http://hackadaycom.files.wordpress.com/2009/07/ready-envelope-470.jpg?w=470&amp;h=312">in a padded envelope</a> (JPG), but ours came in a box with some PCBs for future projects and  an AVR programmer.</p>
<p><img class="alignnone size-full wp-image-12832" title="bp-unbox-2" src="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-2.jpg?w=470&#038;h=287" alt="bp-unbox-2" width="470" height="287" /></p>
<p>Inside the box, the Bus Pirate is protected by a <em>static dissipative</em> bag. The Bus Pirate pin headers are stuck in foam to protect the packaging.</p>
<p><img class="alignnone size-full wp-image-12834" title="bp-unbox-5" src="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-5.jpg?w=470&#038;h=350" alt="bp-unbox-5" width="470" height="350" /></p>
<p>We ran a battery of functionality tests that covered USB, the user terminal, protocol libraries, power supplies, and pullup resistors. Everything passed our tests.</p>
<p>Next, we used a Microchip ICD2 debugger/programmer to  make a backup of the firmware prior to doing a test upgrade/downgrade with the bootloader.</p>
<blockquote><p>Connecting to MPLAB ICD 2<br />
&#8230;Connected<br />
Setting Vdd source to target<br />
<strong>Target Device PIC24FJ64GA002 found, <span style="text-decoration:underline;">revision = Rev 0&#215;3042</span></strong><br />
&#8230;Reading ICD Product ID<br />
Running ICD Self Test<br />
&#8230;Passed<br />
MPLAB ICD 2 ready for next operation</p></blockquote>
<p>All of our previous Bus Pirate version were built using Rev 0&#215;3003 (A3) of the PIC 24FJ64GA002. Version A3 has a few issues, known as <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/80470a.pdf">errata</a> (PDF), one of which is a <a href="http://www.google.com/codesearch/url?ct=ext&amp;url=http://forum.microchip.com/tm.aspx%3Fm%3D271183%26mpage%3D1&amp;usg=AFQjCNFvedVtagkyXzTS-vmSKIk3OE0eiw">flaky hardware I2C module</a>. These chips aren&#8217;t &#8216;defective&#8217;, they just have a few quirks like any complicated integrated circuit. The Bus Pirate firmware works around these issues using software techniques. Most desktop computer processors go through a similar stepping process.</p>
<p>Our Bus Pirate appears to have a B4 revision PIC (0&#215;3042) that corrects some, but not all, of the errata from A3. This is no guarantee that every Bus Pirate will have a B4 PIC, preorder 1 and 2 are both sourced from multiple international vendors. Additionally, there&#8217;s no immediate benefit from having a B4 chip, someone will have to write software that takes advantage of the hardware. The next  firmware update will print the PIC revision in the user terminal, check the <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/firmware/v0h-nightly">nightly compiles</a> if you&#8217;re anxious.</p>
<p>There is a revision B5 mentioned in the PIC errata. Some of these might find their way into preorder 2 boards.</p>
<p><img class="alignnone size-full wp-image-12830" title="bp-unbox-0" src="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-0.jpg?w=470&#038;h=361" alt="bp-unbox-0" width="470" height="361" /></p>
<p>Now that you&#8217;ve got your Bus Pirate, what do you do with it? We&#8217;ve got a bunch of <a href="http://hackaday.com/the-bus-pirate-universal-serial-interface/">part demonstrations</a> to get you started.</p>
<p>Please leave a comment about your unboxing experience, and the devices you plan to interface.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12819/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12819&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/20/parts-unboxing-the-bus-pirate/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-3.jpg" medium="image">
			<media:title type="html">bp-unbox-3</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-1.jpg" medium="image">
			<media:title type="html">bp-unbox-1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-2.jpg" medium="image">
			<media:title type="html">bp-unbox-2</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-5.jpg" medium="image">
			<media:title type="html">bp-unbox-5</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/bp-unbox-0.jpg" medium="image">
			<media:title type="html">bp-unbox-0</media:title>
		</media:content>
	</item>
		<item>
		<title>Bus Pirate preorder 1 ships</title>
		<link>http://hackaday.com/2009/07/16/bus-pirate-preorder-1-ships/</link>
		<comments>http://hackaday.com/2009/07/16/bus-pirate-preorder-1-ships/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 16:02:12 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[bus pirate update]]></category>
		<category><![CDATA[preorder]]></category>
		<category><![CDATA[seeed studio]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12740</guid>
		<description><![CDATA[
A few weeks ago we held a pre-order for the Bus Pirate V2go, the first official Hack a Day hardware. We had initially hoped for a group purchase of 20 or 40 Bus Pirates, maybe 200 if it was extremely popular. In total, nearly a thousand Bus Pirates will be made.
The first 350 Bus Pirates [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12740&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12762" title="panelized-470.iijpg" src="http://hackadaycom.files.wordpress.com/2009/07/panelized-470-iijpg.jpg?w=470&#038;h=318" alt="panelized-470.iijpg" width="470" height="318" /></p>
<p>A few weeks ago we held a <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">pre-order</a> for <a href="http://www.buspirate.com">the Bus Pirate V2go</a>, the first official Hack a Day hardware. We had initially hoped for a group purchase of 20 or 40 Bus Pirates, maybe 200 if it was extremely popular. In total, nearly a thousand Bus Pirates will be made.</p>
<p>The first 350 Bus Pirates (pre-order 1) have already been manufactured and tested. <a href="http://www.seeedstudio.com/depot/">Seeed Studio</a> has done a great job handling the orders, pre-order 1 should start shipping more than a week early. How long will it take to get to your mail box? It will vary for everyone, but our  packages usually arrive from Seeed in 7 days.</p>
<p>Seeed sent us pictures of the Bus Pirate depaneling, programming, and quality control process. Check them out after the break.</p>
<p><span id="more-12740"></span></p>
<p><img class="alignnone size-full wp-image-12764" title="panelized2.ii" src="http://hackadaycom.files.wordpress.com/2009/07/panelized2-ii.jpg?w=470&#038;h=322" alt="panelized2.ii" width="470" height="322" /></p>
<p>A panel of Bus Pirates.</p>
<p><img class="alignnone size-full wp-image-12742" title="de-panelization-470" src="http://hackadaycom.files.wordpress.com/2009/07/de-panelization-470.jpg?w=470&#038;h=312" alt="de-panelization-470" width="470" height="312" /></p>
<p><a href="http://en.wikipedia.org/wiki/Depanel">Depaneling</a>, also known as cutting a big sheet into individual circuit boards.</p>
<p><img class="alignnone size-full wp-image-12757" title="visual inspection-470" src="http://hackadaycom.files.wordpress.com/2009/07/visual-inspection-470.jpg?w=470&#038;h=312" alt="visual inspection-470" width="470" height="312" /></p>
<p>Visual inspection of each Bus Pirate.</p>
<p><img class="alignnone size-full wp-image-12751" title="programming-470" src="http://hackadaycom.files.wordpress.com/2009/07/programming-470.jpg?w=470&#038;h=312" alt="programming-470" width="470" height="312" /></p>
<p>Programming the <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/v0g/firmware/v0g/BPv2go">unified bootloader/V0g firmware</a> via the ICSP header.</p>
<p><img class="alignnone size-full wp-image-12755" title="testing-470" src="http://hackadaycom.files.wordpress.com/2009/07/testing-470.jpg?w=470&#038;h=312" alt="testing-470" width="470" height="312" /></p>
<p>Testing the bootloader and terminal interface after programming the firmware.</p>
<p><img class="alignnone size-full wp-image-12753" title="QC passed 2-470" src="http://hackadaycom.files.wordpress.com/2009/07/qc-passed-2-470.jpg?w=470&#038;h=312" alt="QC passed 2-470" width="470" height="312" /></p>
<p>Completed Bus Pirates are stored on anti-static foam, we like the  shiny quality control stickers.</p>
<p><img class="alignnone size-full wp-image-12741" title="before packaging-470" src="http://hackadaycom.files.wordpress.com/2009/07/before-packaging-470.jpg?w=470&#038;h=312" alt="before packaging-470" width="470" height="312" /></p>
<p>Individual Bus Pirates are cut out for packaging.</p>
<p><img class="alignnone size-full wp-image-12746" title="packed ready-470" src="http://hackadaycom.files.wordpress.com/2009/07/packed-ready-470.jpg?w=470&#038;h=312" alt="packed ready-470" width="470" height="312" /></p>
<p>Finished Bus Pirate packaged in an anti-static bag.</p>
<p><img class="alignnone size-full wp-image-12744" title="handling-470" src="http://hackadaycom.files.wordpress.com/2009/07/handling-470.jpg?w=470&#038;h=312" alt="handling-470" width="470" height="312" /></p>
<p>A box of Bus Pirates ready for handling.</p>
<p><img class="alignnone size-full wp-image-12754" title="ready-Envelope-470" src="http://hackadaycom.files.wordpress.com/2009/07/ready-envelope-470.jpg?w=470&#038;h=312" alt="ready-Envelope-470" width="470" height="312" /></p>
<p>One Bus Pirate, ready to ship. This might be be yours.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12740/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12740&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/16/bus-pirate-preorder-1-ships/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/panelized-470-iijpg.jpg" medium="image">
			<media:title type="html">panelized-470.iijpg</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/panelized2-ii.jpg" medium="image">
			<media:title type="html">panelized2.ii</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/de-panelization-470.jpg" medium="image">
			<media:title type="html">de-panelization-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/visual-inspection-470.jpg" medium="image">
			<media:title type="html">visual inspection-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/programming-470.jpg" medium="image">
			<media:title type="html">programming-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/testing-470.jpg" medium="image">
			<media:title type="html">testing-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/qc-passed-2-470.jpg" medium="image">
			<media:title type="html">QC passed 2-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/before-packaging-470.jpg" medium="image">
			<media:title type="html">before packaging-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/packed-ready-470.jpg" medium="image">
			<media:title type="html">packed ready-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/handling-470.jpg" medium="image">
			<media:title type="html">handling-470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/ready-envelope-470.jpg" medium="image">
			<media:title type="html">ready-Envelope-470</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: 4&#215;20 VFD character display (NA204SD02)</title>
		<link>http://hackaday.com/2009/07/13/parts-4x20-vfd-character-display-na204sd02/</link>
		<comments>http://hackaday.com/2009/07/13/parts-4x20-vfd-character-display-na204sd02/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 17:28:48 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[character lcd]]></category>
		<category><![CDATA[futaba]]></category>
		<category><![CDATA[hd44780]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[serial interface]]></category>
		<category><![CDATA[vfd]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=11016</guid>
		<description><![CDATA[
Futaba makes vacuum florescent character displays that can be used as a drop-in replacement for common character LCDs. VFDs have a wider viewing angle, and generally look cooler.
Futaba&#8217;s character displays can be interfaced using the standard 8-bit or 4-bit parallel LCD interface, or a simple two-wire protocol. The protocol type is set by resistors on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=11016&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12656" title="futuba-serial" src="http://hackadaycom.files.wordpress.com/2009/07/futuba-serial.jpg?w=470&#038;h=267" alt="futuba-serial" width="470" height="267" /></p>
<p><a href="http://www.futaba.com/products/display_modules/module_products/character/index.asp">Futaba</a> makes <a href="http://en.wikipedia.org/wiki/Vacuum_fluorescent_display">vacuum florescent character displays</a> that can be used as a drop-in replacement for common character <a href="http://en.wikipedia.org/wiki/Lcd">LCDs</a>. VFDs have a wider viewing angle, and generally look cooler.</p>
<p>Futaba&#8217;s character displays can be interfaced using the standard <a href="http://ouwehand.net/~peter/lcd/lcd0.shtml">8-bit or 4-bit parallel LCD interface</a>, or a simple two-wire protocol. The protocol type is set by resistors on the back of the display, so it&#8217;s not particularly easy to change without a <a href="http://hackaday.com/2009/02/20/tools-aoyue-968-3-in-1-soldering-and-rework-station/">hot-air rework station</a>. Today we&#8217;ll demonstrate a serially-interfaced VFD using the Bus Pirate.</p>
<p><span id="more-11016"></span><strong><a href="http://www.futaba.com/products/display_modules/module_products/character/index.asp">Futuba VFD</a> character LCD replacement (<a href="http://www.primelec.com/Electronic-Components/LCDs-Displays/Futaba-4X20-LCD-Emulator-p7144243.html">NA204SD02</a></strong><strong>, $7.00). <a href="http://www.futaba.com/products/display_modules/lcd_emulator/products/index.asp">Datasheet </a>(PDF).</strong></p>
<table border="0">
<tbody>
<tr>
<td><strong>VFD (pin #)</strong></td>
<td><strong>Bus Pirate</strong></td>
</tr>
<tr>
<td>GND (1)</td>
<td>GND</td>
</tr>
<tr>
<td>+5volts (2)</td>
<td>+5volts, Vpullup</td>
</tr>
<tr>
<td>Data (3)</td>
<td>MOSI</td>
</tr>
<tr>
<td>Strobe (4)</td>
<td>CS</td>
</tr>
<tr>
<td>N/C (5)</td>
<td>&#8211;</td>
</tr>
<tr>
<td>Clock (6)</td>
<td>CLK</td>
</tr>
</tbody>
</table>
<p>We used our <a href="http://buspirate.com">Bus Pirate universal serial interface</a> to demonstrate the Futaba VFD, but the interface operations will be the same for any microcontroller implementation. The connections we made between the VFD and the Bus Pirate are shown in the table above.</p>
<p>We setup the Bus Pirate for raw2wire mode (menu M, 7) with <a href="http://hackaday.com/2009/07/01/mixed-voltage-interfacing-with-the-bus-pirate/">open drain outputs</a> (HiZ). The open drain outputs let us interface the 5volt VFD from the 3.3volt Bus Pirate using the on-board pull-up resistors (menu P, 2). Finally, we enabled the on-board power supply (capital ‘W’).</p>
<p>The VFD&#8217;s strobe pin is connected to the Bus Pirate CS pin.  The auxiliary pin doesn&#8217;t have it&#8217;s own pull-up resistor but CS does. CS is otherwise unused in raw2wire mode, so we reassigned the auxiliary commands to the CS pin (menu C,2).</p>
<p><em>Interfacing</em></p>
<p><em><img class="alignnone size-full wp-image-12648" title="vfd-serial" src="http://hackadaycom.files.wordpress.com/2009/07/vfd-serial.png?w=470&#038;h=193" alt="vfd-serial" width="470" height="193" /><br />
</em></p>
<p>The two-wire interface uses a straight-forward 16bit (2byte)  protocol (datasheet page 20). The LCD control bits (R/W, RS) go in the first byte, and eight data bits go in the second. All transactions start with  strobe low and end with strobe high. Read operations are similar to writes, except the  R/W bit is set and the second byte is read.</p>
<p><img class="alignnone size-full wp-image-12649" title="vfd-command.pg27." src="http://hackadaycom.files.wordpress.com/2009/07/vfd-command-pg27.png?w=470&#038;h=197" alt="vfd-command.pg27." width="470" height="197" /></p>
<p>The Futaba VFD accepts all the standard HD44780 LCD commands (datasheet page 27), see  <a href="http://ouwehand.net/~peter/lcd/lcd0.shtml#instruction_set">these tables</a> for a detailed description of each command. After a reset (power-up), the VFD expects the first command to be the function set command.</p>
<blockquote><p>RAW2WIRE&gt;@ <strong>&lt;&#8211;start with strobe high</strong><br />
AUX HIGH IMP, READ: 1 <strong>&lt;&#8211; aux pin (CS) is now input, pull-up resistor holds strobe high</strong><br />
RAW2WIRE&gt;a 0b11111000 0b00111000 @ <strong>&lt;&#8211;command</strong><br />
AUX LOW <strong>&lt;&#8211;strobe low</strong><br />
WRITE: 0xF8 <strong>&lt;&#8211;start byte (R/W=0, RS=0)</strong><br />
WRITE: 0&#215;38 <strong>&lt;&#8211;instruction byte (function set)</strong><br />
AUX HIGH IMP, READ: 1 <strong>&lt;&#8211;strobe high</strong><br />
RAW2WIRE&gt;</p></blockquote>
<p>Function set configures the data interface length (bit 4), display lines (bit 3), and  brightness/luminescence (bits 1,0).  Before we start we set the strobe pin high (@) in case it&#8217;s currently low. Then, we start the transaction by taking the strobe pin low (a), and send the first byte with the R/W and register select (RS) settings.</p>
<p>The second byte is the command. We set the data interface length to 8bits (bit 4 = 1), but in serial mode this is probably ignored. Our display has multiple lines (bit 3 = 1), and we set brightness to full (bits 1,0 = 0). The sequence concludes when the strobe pin returns high (@).</p>
<blockquote><p>RAW2WIRE&gt;a 0b11111000 0b00001111 @<br />
AUX LOW <strong>&lt;&#8211;strobe low</strong><br />
WRITE: 0xF8 <strong>&lt;&#8211;start byte (R/W=0, RS=0)</strong><br />
WRITE: 0&#215;0F <strong>&lt;&#8211;instruction byte (display on/off control)</strong><br />
AUX HIGH IMP, READ: 1 <strong>&lt;&#8211;strobe high</strong><br />
RAW2WIRE&gt;</p></blockquote>
<p>The display ON/OFF command enables the display (bit 3), toggles the cursor (bit 1), and blinks the cursor (bit 0). We enabled the display (bit 3 = 1) with a blinking cursor (bit 1,0 = 1) so it&#8217;s obvious that the display is working.</p>
<blockquote><p>RAW2WIRE&gt;a 0b11111000 0b10000000 @<br />
AUX LOW <strong>&lt;&#8211;strobe low</strong><br />
WRITE: 0xF8 <strong>&lt;&#8211;start byte (R/W=0, RS=0)</strong><br />
WRITE: 0&#215;80 <strong>&lt;&#8211;instruction byte (DDRAM address set)</strong><br />
AUX HIGH IMP, READ: 1 <strong>&lt;&#8211;strobe high</strong><br />
RAW2WIRE&gt;</p></blockquote>
<p>Before writing characters to the display we need to position the cursor by sending the DDRAM address set command (0b10000000) summed with the desired cursor position. We set the cursor to the first character on line 1.</p>
<p>The second character on line 1  is located at 0&#215;01. To set this address we&#8217;d send 0b10000001 (0b10000000 +0b00000001).</p>
<p>Character display memory isn&#8217;t linear, the first line starts at 0&#215;00, the second line starts on position 0&#215;40, the third at 0&#215;14, and the last line begins with position 0&#215;54. Most displays have a similar configuration, here&#8217;s some  <a href="http://ouwehand.net/~peter/lcd/lcd0.shtml#visible_ddram">tables for determining the layout of different character displays</a>.</p>
<blockquote><p>RAW2WIRE&gt;a 0b11111010 0&#215;48 0&#215;61 0&#215;63 0&#215;6b 0&#215;20 0&#215;61 0&#215;20 0&#215;44 0&#215;61 0&#215;79 @<br />
AUX LOW <strong>&lt;&#8211;strobe low</strong><br />
WRITE: 0xFA <strong>&lt;&#8211;start byte (R/W=0, RS=1)</strong><br />
WRITE: 0&#215;48 <strong>&lt;&#8211;ASCII letter &#8216;H&#8217;</strong><br />
&#8230;<br />
WRITE: 0&#215;79 <strong>&lt;&#8211;ASCII letter &#8216;y&#8217;</strong><br />
AUX HIGH IMP, READ: 1 <strong>&lt;&#8211;strobe high</strong><br />
RAW2WIRE&gt;</p></blockquote>
<p>Finally, we can enter some characters at the position  set with the previous command. Characters are entered as their <a href="http://web.cs.mun.ca/~michael/c/ascii-table.html">ASCII equivalent values</a>. We displayed &#8220;Hack a Day&#8221; with proper capitalization.</p>
<p>Multiple characters can be entered at once, but because the memory space isn&#8217;t contiguous it&#8217;s necessary to manually position the cursor at the beginning of each new line. After writing the last position of line 1, the cursor will advance to the first character of line 3. Use another position command, 0b10010100, to set the cursor to the beginning of line 2 (0b10000000 + 0&#215;14 = 0b10010100).</p>
<p>Like this post? Check out the <a href="http://hackaday.com/category/parts/">parts posts</a> you may have missed. Want to request a part post? Please leave your suggestions in the comments.</p>
<p><strong>Hack a Day review disclosure: We bought the serial VFD demonstrated here on eBay, Futaba also sent us a sample with a parallel interface that we&#8217;ll demo later (<a href="http://hackaday.com/2009/07/02/how-to-bus-pirate-probe-cable/">shown here</a>).</strong></p>
<p><strong><img class="alignnone size-full wp-image-12655" title="futuba-serial.ii" src="http://hackadaycom.files.wordpress.com/2009/07/futuba-serial-ii.jpg?w=470&#038;h=283" alt="futuba-serial.ii" width="470" height="283" /><br />
</strong></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/11016/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/11016/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/11016/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/11016/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/11016/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/11016/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/11016/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/11016/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/11016/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/11016/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=11016&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/13/parts-4x20-vfd-character-display-na204sd02/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/futuba-serial.jpg" medium="image">
			<media:title type="html">futuba-serial</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/vfd-serial.png" medium="image">
			<media:title type="html">vfd-serial</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/vfd-command-pg27.png" medium="image">
			<media:title type="html">vfd-command.pg27.</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/futuba-serial-ii.jpg" medium="image">
			<media:title type="html">futuba-serial.ii</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: Ferrite beads</title>
		<link>http://hackaday.com/2009/07/06/parts-ferrite-beads/</link>
		<comments>http://hackaday.com/2009/07/06/parts-ferrite-beads/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 17:05:44 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[choosing parts]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[ferrite beads]]></category>
		<category><![CDATA[impedance]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12196</guid>
		<description><![CDATA[
Ferrite beads (L1 in the photo) filter high frequency power supply noise by converting it into a tiny amount of heat. Power supply noise can cause various problems for many parts, especially in analog audio and display circuits.
Ferrite beads are simple, but choosing one can be confusing because they&#8217;re not commonly used by hobbyists. Most [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12196&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12463" title="ferrite-bead.ii" src="http://hackadaycom.files.wordpress.com/2009/07/ferrite-bead-ii.jpg?w=470&#038;h=306" alt="ferrite-bead.ii" width="470" height="306" /></p>
<p><a href="http://en.wikipedia.org/wiki/Ferrite_bead">Ferrite beads</a> (L1 in the photo) filter high frequency power supply noise by converting it into a tiny amount of heat. Power supply noise can cause various problems for many parts, especially in analog audio and display circuits.</p>
<p>Ferrite beads are simple, but choosing one can be confusing because they&#8217;re not commonly used by hobbyists. Most designs will still work if you omit the ferrite bead(s),  but beads are so cheap there&#8217;s no reason to sacrifice the added reliability they provide. We describe how we pick ferrite beads for <a href="http://hackaday.com/category/how-to/">our projects</a> after the break.</p>
<p><span id="more-12196"></span></p>
<p>A ferrite bead is rated for current, impedance, and resistance; see this <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvgExXaNlWje3%252bUuZptDS8sff%2f6%252b36uVLk%3d">Mouser listing</a> for an example. Unless a datasheet or circuit requests specific bead characteristics, we choose a bead  rated for  sufficient current, and  ignore the impedance and resistance values.</p>
<p>If the bead is for a power supply, we determine the maximum possible current the circuit will  use and find a bead rated for double that amount. Last week we  calculated the <a href="http://hackaday.com/2009/06/25/how-to-the-bus-pirate-v2-with-usb/">the Bus Pirate&#8217;s</a> worst-case current consumption as 525ma, so we looked at beads rated for at least 1000ma. We used <a href="http://www.mouser.com/Search/ProductDetail.aspx?R=BLM21PG331SN1Dvirtualkey64800000virtualkey81-BLM21P331SG">this one</a>, which is rated for 1500ma and costs 10 cents.</p>
<p>Sometimes a ferrite bead is used to filter the power supply for one specific part of a circuit. We used a dedicated bead  to filter the LCD bias voltage on the <a href="http://hackaday.com/2009/01/08/how-to-digital-picture-frame-100-diy/">DIY digital picture frame</a>, and with the  ENC28J60&#8217;s ethernet transceiver on the <a href="http://hackaday.com/2008/09/25/web-server-on-a-business-card-part-2/">web server on a business card</a>. These parts only consume a few milliamps, so we used a smaller <a href="https://www.mouser.com/Search/ProductDetail.aspx?R=BLM21BB600SN1Dvirtualkey64800000virtualkey81-BLM21BB600SN1D">200ma ferrite bead</a> ($0.11).</p>
<p>Like this post? Check out the <a href="http://hackaday.com/category/parts/">parts posts</a> you may have missed. Want to request a part post? Please leave your suggestions in the comments.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12196&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/06/parts-ferrite-beads/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/ferrite-bead-ii.jpg" medium="image">
			<media:title type="html">ferrite-bead.ii</media:title>
		</media:content>
	</item>
		<item>
		<title>Last day to preorder your Bus Pirate</title>
		<link>http://hackaday.com/2009/07/03/last-day-to-preorder-your-bus-pirate/</link>
		<comments>http://hackaday.com/2009/07/03/last-day-to-preorder-your-bus-pirate/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 18:13:09 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[bus pirate order updates]]></category>
		<category><![CDATA[preorder]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12360</guid>
		<description><![CDATA[
Update, Saturday July 4th, 2009: All preorders are closed.
Today is the last day to pre-order a Bus Pirate. Get your own Bus Pirate, fully assembled and shipped worldwide, for only $30. We don&#8217;t plan to make more soon, this could be your last chance.
A special shout out to our partner, Seeed Studio, who handled the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12360&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12361" title="Bus Pirate banner by Aaron Silber http://theajblog.com/" src="http://hackadaycom.files.wordpress.com/2009/07/buspirate-aaron-silber-thea.jpg?w=470&#038;h=224" alt="Bus Pirate banner by Aaron Silber http://theajblog.com/" width="470" height="224" /></p>
<p><strong>Update, Saturday July 4th, 2009: </strong>All preorders are closed.</p>
<p>Today is the last day to pre-order a Bus Pirate. <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">Get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30. We don&#8217;t plan to make more soon, this could be your last chance.</p>
<p>A special shout out to our partner, <a href="http://www.seeedstudio.com/">Seeed Studio</a>, who handled the rush of orders like pros. The first pre-order is already being manufactured, and will ship as soon as possible. Seeed still has a few <a href="http://www.seeedstudio.com/depot/the-bus-pirate-v2-pcb-p-330.html">V2a PCBs</a> if you&#8217;d like to roll your own Bus Pirate.</p>
<p>You&#8217;ve made this pre-order a huge success, and we&#8217;d like to make more projects available in the future. Were you just interested in the Bus Pirate? Should we arrange pre-orders of future Hack a Day hardware? Are there any <a href="http://hackaday.com/category/how-to/">past projects</a> that we should revisit?</p>
<p><span id="more-12360"></span></p>
<p>Thanks for the artwork [<a href="http://theajblog.com/">Aaron</a>], licensed under Creative Commons Attribution 3.0.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12360/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12360&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/03/last-day-to-preorder-your-bus-pirate/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/buspirate-aaron-silber-thea.jpg" medium="image">
			<media:title type="html">Bus Pirate banner by Aaron Silber http://theajblog.com/</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: Bus Pirate probe cable</title>
		<link>http://hackaday.com/2009/07/02/how-to-bus-pirate-probe-cable/</link>
		<comments>http://hackaday.com/2009/07/02/how-to-bus-pirate-probe-cable/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 19:08:22 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[bus pirate cable]]></category>
		<category><![CDATA[cable]]></category>
		<category><![CDATA[probe]]></category>
		<category><![CDATA[test hooks]]></category>
		<category><![CDATA[test lead]]></category>
		<category><![CDATA[test probes]]></category>
		<category><![CDATA[tweezer]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10585</guid>
		<description><![CDATA[
Update, Saturday July 4th, 2009: All preorders are closed.
A probe cable makes it easy to connect the  Bus Pirate to a circuit and get  hacking. Good test clips make quick connections on cramped PCBs without causing short circuits. We made two cables for the Bus Pirate v2, keep reading for an overview of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10585&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12279" title="cover" src="http://hackadaycom.files.wordpress.com/2009/07/cover.jpg?w=470&#038;h=323" alt="cover" width="470" height="323" /></p>
<p><strong>Update, Saturday July 4th, 2009: </strong>All preorders are closed.</p>
<p>A probe cable makes it easy to connect <a href="http://www.buspirate.com">the  Bus Pirate</a> to a circuit and get  hacking. Good test clips make quick connections on cramped PCBs without causing short circuits. We made two cables for the <a href="http://hackaday.com/2009/06/25/how-to-the-bus-pirate-v2-with-usb/">Bus Pirate v2</a>, keep reading for an overview of our designs and list of part suppliers.</p>
<p>Friday, July 3, 2009 is the last day to pre-order a Bus Pirate. There&#8217;s only two days left to <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30.</p>
<p><span id="more-10585"></span></p>
<p><strong>Overview</strong></p>
<p><img class="alignnone size-full wp-image-12259" title="cables.450" src="http://hackadaycom.files.wordpress.com/2009/07/cables-450.jpg?w=450&#038;h=298" alt="cables.450" width="450" height="298" /></p>
<p>We use these cables to connect the Bus Pirate&#8217;s I/O pins to a microchip or test circuit. A cable consists of a 2&#215;5 connector, a cable, and some kind of attachable probe like an alligator clip or test hook.</p>
<p>The gray cable (top) is a &#8216;junk box&#8217; cable, we recycled it from scrap parts and old computer hardware.  The &#8216;expensive&#8217; cable (bottom) uses high quality and special-order parts.</p>
<p><strong>2&#215;5pin female  connector</strong></p>
<p><img class="alignnone" src="http://hackadaycom.files.wordpress.com/2009/04/brd25450.png?w=437&amp;h=354&#038;h=354" alt="" width="437" height="354" /></p>
<p>The Bus Pirate&#8217;s I/O header is two rows of five 0.1&#8243; spaced pins. We used a 2&#215;5 arrangement because 2&#215;5pin <a href="http://en.wikipedia.org/wiki/Ribbon_cable#Cable_connectors">female ribbon cable connectors</a> are common and cheap. We decided against a single row of 10 pins because the connector is an expensive specialty item.</p>
<p>The pin names are shown above, and are silk-screened on the  bottom of the PCB. See the <a href="http://www.buspirate.com">Bus Pirate page</a> for detailed descriptions of each pin function.</p>
<p><img class="alignnone size-full wp-image-12264" title="connector-comapre.450" src="http://hackadaycom.files.wordpress.com/2009/07/connector-comapre-450.jpg?w=450&#038;h=293" alt="connector-comapre.450" width="450" height="293" /></p>
<p>The junk box cable uses a 2&#215;5pin female connector from an old PC ISA card.</p>
<p>The expensive cable uses a black connector with a reinforced cable holder. Mouser has <a href="http://mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvT7Of4ktfHLp7HEgRb%252bXNqM189BZwCjls%3d">gray connectors</a> ($0.69) and <a href="http://mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvT7Of4ktfHLryB5cuqtTOwUtyVZIBqjDM%3d">black connectors</a> ($1.15).</p>
<p><img class="alignnone size-full wp-image-12266" title="connector-apart.450" src="http://hackadaycom.files.wordpress.com/2009/07/connector-apart-450.jpg?w=450&#038;h=270" alt="connector-apart.450" width="450" height="270" /></p>
<p>Ribbon cable connectors have internal pins that pierce the cable when the top part is pressed onto the bottom part.</p>
<p><strong>Ribbon cable</strong></p>
<p><img class="alignnone size-full wp-image-12265" title="cables-compare.450" src="http://hackadaycom.files.wordpress.com/2009/07/cables-compare-450.jpg?w=450&#038;h=215" alt="cables-compare.450" width="450" height="215" /></p>
<p>Standard 2&#215;5pin female connectors attach to <a href="http://en.wikipedia.org/wiki/Ribbon_cable#Cable_sizes">0.05&#8243;</a> 10-strand ribbon cable. The wire thickness is usually 22, 24, or 26 AWG. We think 12inches (30cm) is a useful length that doesn&#8217;t get in the way.</p>
<p>Grey ribbon cable is pretty common. We salvaged a piece from an old computer connector, you might get lucky and  find one with a 2&#215;5  connector already attached.</p>
<p>A color coded cable makes it easy to identify each connection. DigiKey has <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=MC10M-5-ND">5 foot sections</a> ($3.03), Mouser has it by the foot (<a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMsJiFh04Lj2rqXP8f7Pzi2%2fH6f0Eu5UWzk%3d">$1.16</a>, <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMsJiFh04Lj2rrQIKM9xOMEOhuPHGzW6dSg%3d">$1.19</a>).</p>
<p>Ribbon cable is cheap and readily available, but  it tends to tangle and kink. A really nice probe could use a ribbon cable stub attached to thicker test leads.</p>
<p><strong>Test clips</strong></p>
<p>Test clips are the most important part of the cable. They have to be easy to position, and maintain  contact with the circuit. Alligator clips work, but there&#8217;s a lot of exposed metal that can create short circuits. Professional test clips have a  grabber that retracts into the probe leaving less metal exposed.</p>
<p><em>Alligator clips</em></p>
<p><img class="alignnone size-full wp-image-12260" title="gator.450" src="http://hackadaycom.files.wordpress.com/2009/07/gator-450.jpg?w=450&#038;h=215" alt="gator.450" width="450" height="215" /></p>
<p>The junk box cable has alligator clip probes, we pulled them off test leads <a href="http://cgi.ebay.com/40-ALLIGATOR-CLIP-TEST-LEAD-INSULATED-COLOR-JUMPER-WIRE_W0QQitemZ350216518161QQcmdZViewItem">like these</a> (40 leads for $12). You could also use  loose <a href="http://www.dealextreme.com/details.dx/sku.6359"> red and black clips</a> (20 for $2.30).</p>
<p>Remember to put the rubber housing on the cable before soldering the wire to the alligator clip, it won&#8217;t go on later. In the photos you can see that some of our covers are cut to fit over the front of the clip because we forgot.</p>
<p><em>Round test hooks</em></p>
<p><img class="alignnone size-full wp-image-12258" title="barrel-hooker-action.forget" src="http://hackadaycom.files.wordpress.com/2009/07/barrel-hooker-action-forget.jpg?w=450&#038;h=238" alt="barrel-hooker-action.forget" width="450" height="238" /></p>
<p>This is the classic, round-bodied test hook. These are great for grabbing onto 0.1&#8243; pin headers, wires, and the leads of through-hole components. The hooks are usually too big to use with surface mount components, and the round body makes it hard to fit more than a few in a small space.</p>
<p><img class="alignnone size-full wp-image-12327" title="rndhook-open.ii" src="http://hackadaycom.files.wordpress.com/2009/07/rndhook-open-ii.jpg?w=450&#038;h=202" alt="rndhook-open.ii" width="450" height="202" /></p>
<p>Test hooks are easy to position. Squeeze the probe to extend a  single metal hook, grab something, then release. The hook retracts into the body of the probe, securing it in place and preventing short circuits.</p>
<p><img class="alignnone size-full wp-image-12219" title="rndhook-apart" src="http://hackadaycom.files.wordpress.com/2009/06/rndhook-apart.jpg?w=450&#038;h=249" alt="rndhook-apart" width="450" height="249" /></p>
<p>Most hooks come apart by pulling the top  away from the body. Put the test lead through the hole in the cap and solder it to the metal tab.  Push the halves together when the joint is cool.</p>
<p><a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=461-1015-ND">DigiKey</a> ($17.26) and <a href="http://www.frys.com/product/32861#detailed">Fry&#8217;s</a> ($14.95) have multi-colored hooks in sets of 10. Deal Extreme has dirt-cheap 10 packs of <a href="http://www.dealextreme.com/details.dx/sku.7218">yellow</a> ($2.30)   and <a href="http://www.dealextreme.com/details.dx/sku.8391">black</a> ($2.33) hooks, but the reviews say the quality matches the price so buy extra (via [<a href="http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/#comment-79694">haku</a>]).</p>
<p><em>Flat test tweezers</em></p>
<p><em><img class="alignnone size-full wp-image-12261" title="hooker-action.450" src="http://hackadaycom.files.wordpress.com/2009/07/hooker-action-450.jpg?w=450&#038;h=281" alt="hooker-action.450" width="450" height="281" /><br />
</em></p>
<p>Tweezer-probes are great for clipping onto the legs of through-hole, surface mount, and many smaller chips. They usually have a flat body so they fit better in tight spaces than round hook probes.</p>
<p><img class="alignnone size-full wp-image-12328" title="hook-open.ii" src="http://hackadaycom.files.wordpress.com/2009/07/hook-open-ii.jpg?w=450&#038;h=175" alt="hook-open.ii" width="450" height="175" /></p>
<p>This type of probe has tiny tweezers instead of a hook. Accidental short circuits are rare because there&#8217;s so little exposed metal when the tweezers  retract.</p>
<p><img class="alignnone size-full wp-image-12216" title="hook-apart" src="http://hackadaycom.files.wordpress.com/2009/06/hook-apart.jpg?w=450&#038;h=254" alt="hook-apart" width="450" height="254" /></p>
<p>Most tweezer-probes pull apart and have a metal solder tab inside. Run a cable strand through the hole in the cap, solder it to the metal tab, and then press the halves back together.</p>
<p>Tweezer quality varies dramatically among brands, we&#8217;ve used no-name probes that bend easily or don&#8217;t grip well. The <a href="http://www.e-z-hook.com/Html/MicroHooks.html">X- series micro-hooks</a> from E-Z-Hook are the Cadillac of tweezer-probes, we first used  the  XKM version that comes with the <a href="http://hackaday.com/2009/03/06/tools-saleae-logic-logic-analyzer/">Saleae Logic</a>. They&#8217;re intended to fit specialty  test leads, but it&#8217;s  easy to solder a wire to them instead. About $2 each, available directly from the <a href="http://www.e-z-hook.com/Html/OrderingInformation.html">E-Z-Hook website</a>.</p>
<p><strong>Conclusion</strong></p>
<p>We highly recommend a cable with hook or tweezer-probes for secure connections without causing shorts. The right probe depends on the parts you use. Round test hooks work best with  through-hole parts and wires. Flat test tweezers attach well to small, surface mount chips.</p>
<p>Please share any additional part sources in the comments. We did our best to provide a variety of sources, but there&#8217;s going to be some great places we&#8217;ve missed.</p>
<p>Friday, July 3, 2009 is the last day to pre-order a Bus Pirate. There&#8217;s only two days left to  <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30.</p>
<p><img class="alignnone size-full wp-image-10467" title="buspiratev2goii450" src="http://hackadaycom.files.wordpress.com/2009/04/buspiratev2goii450.jpg?w=450&#038;h=314" alt="buspiratev2goii450" width="450" height="314" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10585/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10585&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/02/how-to-bus-pirate-probe-cable/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/cover.jpg" medium="image">
			<media:title type="html">cover</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/cables-450.jpg" medium="image">
			<media:title type="html">cables.450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/brd25450.png?w=437&#38;h=354" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/connector-comapre-450.jpg" medium="image">
			<media:title type="html">connector-comapre.450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/connector-apart-450.jpg" medium="image">
			<media:title type="html">connector-apart.450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/cables-compare-450.jpg" medium="image">
			<media:title type="html">cables-compare.450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/gator-450.jpg" medium="image">
			<media:title type="html">gator.450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/barrel-hooker-action-forget.jpg" medium="image">
			<media:title type="html">barrel-hooker-action.forget</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/rndhook-open-ii.jpg" medium="image">
			<media:title type="html">rndhook-open.ii</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/rndhook-apart.jpg" medium="image">
			<media:title type="html">rndhook-apart</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/hooker-action-450.jpg" medium="image">
			<media:title type="html">hooker-action.450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/hook-open-ii.jpg" medium="image">
			<media:title type="html">hook-open.ii</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/hook-apart.jpg" medium="image">
			<media:title type="html">hook-apart</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/buspiratev2goii450.jpg" medium="image">
			<media:title type="html">buspiratev2goii450</media:title>
		</media:content>
	</item>
		<item>
		<title>Mixed voltage interfacing with the Bus Pirate</title>
		<link>http://hackaday.com/2009/07/01/mixed-voltage-interfacing-with-the-bus-pirate/</link>
		<comments>http://hackaday.com/2009/07/01/mixed-voltage-interfacing-with-the-bus-pirate/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 18:23:46 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[mixed voltage interfacing]]></category>
		<category><![CDATA[open collector bus]]></category>
		<category><![CDATA[pull-up resistors]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12250</guid>
		<description><![CDATA[
Most of the parts we use operate at 3.3volts, but we still run into a lot of old 5volt stuff, and an occasional 2.5volt or 1.8volt part. This post explains how to use the Bus Pirate&#8217;s open collector pin mode to interface with parts at different voltages.
We&#8217;ve got more details and some example scenarios below [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12250&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12302" title="oc.470.iii" src="http://hackadaycom.files.wordpress.com/2009/07/oc-470-iii.png?w=470&#038;h=228" alt="oc.470.iii" width="470" height="228" /></p>
<p>Most of the parts we use operate at 3.3volts, but we still run into a lot of old 5volt stuff, and an occasional 2.5volt or 1.8volt part. This post explains how to use the <a href="http://www.buspirate.com">Bus Pirate&#8217;s</a> <a href="http://en.wikipedia.org/wiki/Open_collector">open collector</a> pin mode to interface with parts at different voltages.</p>
<p>We&#8217;ve got more details and some example scenarios below the break. Yup, this is another <a href="http://www.buspirate.com/"> Bus Pirate</a> post. It&#8217;ll all be over soon though, because there&#8217;s a few days left to  <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a> for $30, fully assembled and shipped worldwide.</p>
<p><span id="more-12250"></span></p>
<p><em>Overview</em></p>
<p>The Bus Pirate has a normal pin mode and an open collector pin mode (also called <a href="http://en.wikipedia.org/wiki/High_impedance">high-impedance</a> or HiZ). Normal pin mode can tolerate up to 5.5volts on input pins, but the output pins are fixed at 3.3volts. The open collector pin mode uses a <a href="http://en.wikipedia.org/wiki/Pull-up_resistor">pull-up resistor</a> to set the bus voltage to something other than 3.3volts. Normal or open collector pin mode is offered as a configuration option after you select a protocol library in the Bus Pirate terminal (menu m). Some bus types always require open collector outputs with pull-up resistors, like <a href="http://en.wikipedia.org/wiki/1-Wire">1-wire</a> and <a href="http://en.wikipedia.org/wiki/I%C2%B2C">I2C</a>.</p>
<p>The image above shows a representation of normal and open collector pin functions.</p>
<p><em>Normal pin mode</em></p>
<p>Normal pins switch between the positive supply voltage (high state, usually 1) and ground (low state, usually 0), in the Bus Pirate that&#8217;s 3.3volts and 0volts respectively. A normal pin is depicted on the left, switch 1 (S1) toggles the output between supply (V+) and ground (GND).</p>
<p><em>Open collector mode</em></p>
<p>In open collector mode,  pins switch between a &#8216;disconnected&#8217; state (high impedance) and ground (low state, usually 0). The voltage that signals a high state is supplied by a pull-up resistor (R1). Without a pull-up resistor the attached devices will never register a high state. We can feed any voltage into the pull-up resistors that the Bus Pirate will tolerate, so we can use this mode to interface devices above and below 3.3volts.</p>
<p>An open collector output is depicted on the right. Switch 2 (S2) can only connect to ground. A resistor (R1) connected to the supply voltage (V+) holds the bus high. Most microcontroller pins are <a href="http://en.wikipedia.org/wiki/Three-state_logic">tri-state</a> and become high impedance when configured as an input.</p>
<p>This technique isn&#8217;t without disadvantages. The maximum possible bus speed is much lower, and the pull-up resistors use a bit of extra current. Make sure every device you connect can tolerate the voltage you plan to use, most 3.3volt devices don&#8217;t have 5volt tolerant pins.</p>
<p><em>Usage examples</em></p>
<p><em>Scenario 1</em> &#8211; Bus Pirate interfacing 3.3volt UART/SPI/JTAG/MIDI bus<br />
The Bus Pirate operates at 3.3volts, use normal pin outputs with no pull-up resistors.</p>
<p><em>Scenario 2</em> &#8211; Bus Pirate interfacing 5volt UART/SPI/JTAG/MIDI bus<br />
The Bus pirate inputs are 5volt tolerant, but the output is only at 3.3volts. Use open collector outputs (HiZ) with pull-up resistors connected to the 5volt power supply.</p>
<p><em>Scenario 3</em> &#8211; Bus Pirate interfacing 2volt UART/SPI/JTAG/MIDI bus<br />
The Bus pirate output is 3.3volts, which might damage a 2volt part. Use open collector outputs (HiZ) with pull-up resistors connected to the 2volt power supply.</p>
<p><em>Scenario 4</em> &#8211; Bus Pirate interfacing a 1-wire or I2C bus between 1.8volts and 5volts<br />
1-wire and I2C are bi-directional, open collector buses. They always require a pull-up resistor to create the high bus state. Use pull-up resistors connected to the 1.8volt to 5volt power supply.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12250&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/01/mixed-voltage-interfacing-with-the-bus-pirate/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/oc-470-iii.png" medium="image">
			<media:title type="html">oc.470.iii</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: SPI EEPROM (25AA/25LC)</title>
		<link>http://hackaday.com/2009/06/30/parts-spi-eeprom-25aa25lc/</link>
		<comments>http://hackaday.com/2009/06/30/parts-spi-eeprom-25aa25lc/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 18:14:10 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[data storage]]></category>
		<category><![CDATA[eeprom]]></category>
		<category><![CDATA[spi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10553</guid>
		<description><![CDATA[
Microchip&#8217;s 25AA/25LC EEPROMs are data storage chips with a simple 3-wire interface. The 25AA/LC is an SPI version of the common 24AA/LC I2C EEPROM.  It comes in capacities of 128bytes to 128kilobytes. We looked at the smallest, the 128byte  25AA010A.
There are Bus Pirate demonstrations for most types of serial EEPROMs. Check out our previous [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10553&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12192" title="3EEPROM-SPI" src="http://hackadaycom.files.wordpress.com/2009/06/3eeprom-spi.jpg?w=470&#038;h=343" alt="3EEPROM-SPI" width="470" height="343" /></p>
<p>Microchip&#8217;s <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=2697">25AA/25LC</a> <a href="http://en.wikipedia.org/wiki/EEPROM">EEPROMs</a> are data storage chips with a simple 3-wire interface. The 25AA/LC is an <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">SPI</a> version of the common <a href="http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/#EEPROM">24AA/LC I2C EEPROM</a>.  It comes in capacities of 128bytes to 128kilobytes. We looked at the smallest, the 128byte  <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en025533">25AA010A</a>.</p>
<p>There are Bus Pirate demonstrations for most types of serial EEPROMs. Check out our previous 1-wire (<a href="http://hackaday.com/2008/12/24/parts-1k-1-wire-eeprom-ds2431/">DS2431</a>) and I2C (<a href="http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/#EEPROM">24LC1025</a>) EEPROM posts.</p>
<p>Continue below to see our test circuit and a demonstration of the 25AA010 EEPROM. We used <a href="http://www.buspirate.com/">the Bus Pirate</a> to play with this chip from our PC.  For a limited time you can <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30.</p>
<p><span id="more-10553"></span><br />
<img class="alignnone size-full wp-image-10611" title="25aa" src="http://hackadaycom.files.wordpress.com/2009/04/25aa.png?w=446&#038;h=217" alt="25aa" width="446" height="217" /></p>
<p><strong><a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en025533">25AA010A</a> SPI EEPROM memory, 128bytes (<a href="http://octopart.com/parts/search?q=25AA010A">Octopart search</a>, $0.70). <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/21832E.pdf">Datasheet</a> (PDF).</strong></p>
<p>The schematic above shows a simple test circuit that should work with any 25AA/25LC SPI EEPROM. It&#8217;s a good idea to use a 0.1uF decoupling capacitor (C1) on the power pin in a real circuit, but we didn&#8217;t use one for our demonstration. We also connected the write protect (WP) and hold (HOLD) pins to the supply voltage (V+) to  disable these features.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Bus Pirate</strong></td>
<td><strong>25AA/LC (pin #)</strong></td>
</tr>
<tr>
<td>CS</td>
<td>CS (1)</td>
</tr>
<tr>
<td>MISO</td>
<td>SO (2)</td>
</tr>
<tr>
<td>MOSI</td>
<td>SI (5)</td>
</tr>
<tr>
<td>CLK</td>
<td>SCK (6)</td>
</tr>
<tr>
<td>V+</td>
<td>WP (3)</td>
</tr>
<tr>
<td>V+</td>
<td>HOLD (7)</td>
</tr>
<tr>
<td>V+ (3.3volts)</td>
<td>VCC (8)</td>
</tr>
<tr>
<td>GND</td>
<td>GND (4)</td>
</tr>
<tr>
<td>Vpullup</td>
<td>VCC (8)</td>
</tr>
</tbody>
</table>
<p>We used our <a href="http://wwww.buspirate.com">Bus Pirate universal serial interface</a> to demonstrate this chip, but the command sequences will be the same for any setup. We connected the Bus Pirate to the 25AA010 as shown in the table above. We setup the Bus Pirate for SPI mode (M, 5) with normal outputs, and enabled the on-board power supply (capital ‘W’).</p>
<p>25AA parts work from 1.8volts to 5.5volts, 25LC parts have a 2.5volt minimum. We used a 3.3volt supply to power the chip, and interfaced it using the Bus Pirate&#8217;s normal 3.3volt pin outputs.</p>
<p>You could also power the chip from the Bus Pirate&#8217;s 5volt supply. Interface the chip at 5volts by choosing open drain pin type (HiZ) during the mode configuration, then hold the bus high with pull-up resistors connected to 5volts.</p>
<p><em>Interfacing</em></p>
<p>Page 7 of the datasheet has a complete list of interface commands. This demonstration shows the minimum operations needed to write and retrieve data.</p>
<blockquote><p>SPI&gt;[0b110] <strong>&lt;&#8211;Bus Pirate command syntax</strong><br />
CS ENABLED <strong>&lt;&#8211; Chip select enabled (0 volts)</strong><br />
WRITE: 0&#215;06 <strong>&lt;&#8211;Write enable command</strong><br />
CS DISABLED <strong>&lt;&#8211; Chip select disabled (V+)</strong><br />
SPI&gt;</p></blockquote>
<p>A valid  write enable command is required before data can be saved to the EEPROM. Enable the chip select signal to wake the chip ([), send the write enable command (0b110 binary, or 0x06 in hexadecimal), and then disable chip select (]).</p>
<blockquote><p>SPI&gt;[0b10 0 1 2 3 4 5] <strong>&lt;&#8211; Bus Pirate command syntax<br />
</strong>CS ENABLED <strong>&lt;&#8211; Chip select enabled (0volts)</strong><br />
WRITE: 0&#215;02 <strong>&lt;&#8211; Write data command</strong><br />
WRITE: 0&#215;00 <strong>&lt;&#8211; Write address (*sometimes 2 bytes)</strong><br />
WRITE: 0&#215;01 <strong>&lt;&#8211; Data to write (5 bytes)</strong><br />
WRITE: 0&#215;02<br />
WRITE: 0&#215;03<br />
WRITE: 0&#215;04<br />
WRITE: 0&#215;05<br />
CS DISABLED <strong>&lt;&#8211; Chip select disabled (V+)</strong><br />
SPI&gt;</p></blockquote>
<p>Store data in the EEPROM by sending the write command (0&#215;02), the address to start writing  (0&#215;00), and the bytes to write (the values 1 to 5).</p>
<p>Up to 16 bytes can be written in a single operation. All writes must be on the same page of memory, see datasheet page 6 for details. EEPROMs larger than 256 bytes use 16 bit (2 byte) addresses.</p>
<blockquote><p>SPI&gt;[0b11 0 r:5] <strong>&lt;&#8211; Bus Pirate command syntax</strong><br />
CS ENABLED <strong>&lt;&#8211; Chip select enabled (0volts)</strong><br />
WRITE: 0&#215;03 <strong>&lt;&#8211;Read data command</strong><br />
WRITE: 0&#215;00 <strong>&lt;&#8211;Read address (*sometimes 2 bytes)</strong><br />
BULK READ 0&#215;05 BYTES:<br />
0&#215;01 0&#215;02 0&#215;03 0&#215;04 0&#215;05 <strong>&lt;&#8211; The data we wrote earlier</strong><br />
CS DISABLED <strong>&lt;&#8211; Chip select disabled (V+)</strong><br />
SPI&gt;</p></blockquote>
<p>Read back the values to verify the write operation. Send the read command (0&#215;03) and the address to start reading at (0&#215;00), then read 5 bytes from the chip (r:5). The output should match the values we wrote earlier.</p>
<p>*EEPROMs larger than 256 bytes use 16 bit (2 byte) addresses. Enter a two byte address such as &#8220;0 0&#8243; if you&#8217;re using one of these EEPROMs.</p>
<p>Like this post? Check out the <a href="http://hackaday.com/category/parts/">parts posts</a> you may have missed. Want to request a part post? Please leave your suggestions in the comments.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10553/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10553&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/30/parts-spi-eeprom-25aa25lc/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/3eeprom-spi.jpg" medium="image">
			<media:title type="html">3EEPROM-SPI</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/25aa.png" medium="image">
			<media:title type="html">25aa</media:title>
		</media:content>
	</item>
		<item>
		<title>Bus Pirate preorder update</title>
		<link>http://hackaday.com/2009/06/30/bus-pirate-preorder-update/</link>
		<comments>http://hackaday.com/2009/06/30/bus-pirate-preorder-update/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 08:07:35 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[bus pirate order updates]]></category>
		<category><![CDATA[pre-order]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12187</guid>
		<description><![CDATA[
We&#8217;re only four days into the Bus Pirate pre-order, and we&#8217;ve exhausted the supply of PIC24FJ64GA002s available in Shenzhen. Thank you for supporting Hack a Day&#8217;s first official hardware pre-order. You helped make it a huge success, and we definitely want to do it again in the future.
We weren&#8217;t kidding about the PIC shortage. Seeed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12187&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-12050" title="buspirate" src="http://hackadaycom.files.wordpress.com/2009/06/buspirate.jpg?w=450&#038;h=330" alt="buspirate" width="450" height="330" /></p>
<p>We&#8217;re only four days into the <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">Bus Pirate pre-order</a>, and we&#8217;ve exhausted the supply of <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026374">PIC24FJ64GA002s</a> available in Shenzhen. Thank you for supporting Hack a Day&#8217;s first official hardware pre-order. You helped make it a huge success, and we definitely want to do it again in the future.</p>
<p>We weren&#8217;t kidding about the PIC shortage. Seeed sourced all they could from  Shenzhen, and then tried Hong Kong. It&#8217;ll take 4 to 6 weeks to get more.</p>
<p>If you already ordered a Bus Pirate then nothing changes, your Bus Pirate will ship ASAP. In fact, PCB production should start a few days early. <em>The first pre-order item name starts with &#8220;[Preorder]&#8220;. </em></p>
<p>New orders are now forwarded to  a second pre-order. The new pre-order will take 4 to 6 weeks longer. It should ship about 6 to 8 weeks after July 3, 2009, but we&#8217;ll try our best to get it out sooner. <em>The new pre-order item name starts with &#8220;[Preorder 2]&#8220;. </em></p>
<p>Read more about the <a href="http://hackaday.com/2009/06/25/how-to-the-bus-pirate-v2-with-usb/">Bus Pirate in our latest How-to</a>. Thank you again for your support!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=12187&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/30/bus-pirate-preorder-update/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/buspirate.jpg" medium="image">
			<media:title type="html">buspirate</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: ShiftBrite RGB LED module (A6281)</title>
		<link>http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/</link>
		<comments>http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 18:00:00 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[led hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[blinkenlights]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[serial interface]]></category>
		<category><![CDATA[shiftbrite]]></category>
		<category><![CDATA[spi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10589</guid>
		<description><![CDATA[
Macetech&#8217;s ShiftBrite is a high-power RGB LED coupled with an Allegro A6281 backpack. The A6281 uses three 10bit pulse-width modulators to mix millions of colors using the red, green, and blue elements in the RGB LED.  Multiple modules can be chained together for bigger projects, like the  ShiftBrite table.
Below the break we demonstrate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10589&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-11066" title="shiftbriteii" src="http://hackadaycom.files.wordpress.com/2009/05/shiftbriteii.jpg?w=450&#038;h=307" alt="shiftbriteii" width="450" height="307" /></p>
<p><a href="http://www.macetech.com/blog/">Macetech&#8217;s</a> <a href="http://macetech.com/blog/node/54">ShiftBrite</a> is a high-power RGB LED coupled with an <a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/">Allegro A6281</a> backpack. The A6281 uses three 10bit <a href="http://en.wikipedia.org/wiki/Pulse-width_modulation">pulse-width modulators</a> to mix millions of colors using the red, green, and blue elements in the RGB LED.  Multiple modules can be chained together for bigger projects, like the  <a href="http://www.youtube.com/watch?v=C7aUaMiqoIE">ShiftBrite table</a>.</p>
<p>Below the break we demonstrate a ShiftBrite module using <a href="http://www.buspirate.com/">the Bus Pirate</a>. For a limited time you can <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30.</p>
<p><span id="more-10589"></span></p>
<p><img class="alignnone size-full wp-image-11067" title="shiftbrite-over" src="http://hackadaycom.files.wordpress.com/2009/05/shiftbrite-over.jpg?w=450&#038;h=356" alt="shiftbrite-over" width="450" height="356" /></p>
<p><strong><a href="http://macetech.com/blog/node/54">ShiftBrite</a> RGB LED module (<a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=1">Macetech</a>, $4.99). ShiftBrite <a href="http://docs.macetech.com/doku.php/shiftbrite">datasheet and example code</a>, Allegro <a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/">A6281</a> <a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf">datasheet</a> (PDF).</strong></p>
<p>The ShiftBrite module is a complete A6281 development board. It doesn&#8217;t require any extra parts, just a 5-9volt supply.</p>
<p>The A6281 is one of the most complete RGB LED driver ICs, but it&#8217;s only made in a tiny QFN package. The ShiftBrite is a good way to try the A6281 without soldering a small chip.</p>
<p><img class="alignnone size-full wp-image-11999" title="A6281-connect.470" src="http://hackadaycom.files.wordpress.com/2009/06/a6281-connect-470.png?w=470&#038;h=207" alt="A6281-connect.470" width="470" height="207" /></p>
<p>A bunch of A6281 modules can be chained together. Each module repeats all of the serial input signals on separate output pins, so the A6281 will work over long cable runs.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Bus Pirate</strong></td>
<td><strong>ShiftBrite </strong></td>
</tr>
<tr>
<td>MOSI</td>
<td>DI</td>
</tr>
<tr>
<td>CLK</td>
<td>CI</td>
</tr>
<tr>
<td>CS</td>
<td>LI</td>
</tr>
<tr>
<td>AUX</td>
<td>EI</td>
</tr>
<tr>
<td>5volts</td>
<td>V+</td>
</tr>
<tr>
<td>Vpullup</td>
<td>V+</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
</tbody>
</table>
<p>We used our <a href="http://www.buspirate.com">Bus Pirate universal serial interface</a> to demonstrate the ShiftBrite, but the command sequences will be the same for any microcontroller. We connected the Bus Pirate to the ShiftBrite as shown in the table above.</p>
<p>We setup the Bus Pirate for raw3wire mode (M, 8), and chose open drain outputs (Hi-Z) so we can interface the ShiftBrite at 5volts. The Bus Pirate can&#8217;t output 5volts directly, so we enabled the bus pull-up resistors (menu &#8216;p&#8217; in v2) and attached the pull-up resistor voltage input pin to the 5volt supply. Finally, we enabled the on-board power supply (capital ‘W’).</p>
<p><em>Interfacing</em></p>
<p>The LED driver output is only active when the  enable pin (EI) is held low.</p>
<blockquote><p>RAW3WIRE&gt;A <strong>&lt;&#8211; capital &#8216;A&#8217;, EI pin high, output disabled</strong><br />
AUX HIGH<br />
RAW3WIRE&gt;a <strong>&lt;&#8211; small &#8216;a&#8217;, EI pin low, output active</strong><br />
AUX LOW<br />
RAW3WIRE&gt;</p></blockquote>
<p>We used the Bus Pirate&#8217;s auxiliary pin to toggle the A6281&#8217;s enable pin, but you could also bypass this feature by wiring EI directly to ground. A small &#8216;a&#8217; in the Bus Pirate terminal takes the AUX/EI pin connection low, enabling the LED output.</p>
<p><img class="alignnone size-full wp-image-11998" title="A6281-IO.470" src="http://hackadaycom.files.wordpress.com/2009/06/a6281-io-470.png?w=470&#038;h=95" alt="A6281-IO.470" width="470" height="95" /></p>
<p>Two commands update the A6281  settings. The configuration command controls dot correction and  clock settings. The LED pulse-width modulator (PWM) command updates the  three 10bit values that set the red, green, and blue channel brightness. Both commands are  32 bits (4 bytes) long, bit 30  selects the configuration or pulse-width modulator command.  Refer to the chart above, or datasheet page 7.</p>
<p>The interface protocol is like <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">SPI</a>, but the master-input-slave-output pin is unused. Data is sent most significant bit first, starting with bit 31. Commands are sent by clocking 32 bits into the chip and then toggling the latch pin.</p>
<p>Before we can start mixing colors, we need to setup the A628a&#8217;s internal clock and write the dot correction values.</p>
<blockquote><p>RAW3WIRE&gt;0b01000111 0b11110001 0b11111100 0b01111111 ][<br />
WRITE: 0x47 <strong>&lt;--write 32bits of data</strong><br />
WRITE: 0xF1<br />
WRITE: 0xFC<br />
WRITE: 0x7F<br />
CS DISABLED <strong>&lt;--latch pin high</strong><br />
CS ENABLED <strong>&lt;--latch pin low</strong><br />
RAW3WIRE&gt;</p></blockquote>
<p>We wrote the values in binary so it's easy to follow along in the table above. Remember that bit 31 is sent first, so the order of bits shown here is opposite of what is shown in the table.</p>
<p>The complete setup command is 32 bits (4 bytes) long. Bit 30 sets this as a configuration command (1). Bit 7 and 8 configure the clock source, value 00 configures the 800KHz internal oscillator (datasheet page 7). Three 7bit 'dot correction' values fine tune the LED color channels if you want to correct a wonky pixel in a large array (see the register locations in the table above). We set all the dot correction values to full (1111111). Several bits trigger test functions or don't have a purpose, these should be entered as 0.</p>
<p>After entering 32 bits, toggle the A6281 latch pin (][) to lock the data into the register. Now that the chip is configured and the output enabled, we can finally play with the LED.</p>
<blockquote><p>RAW3WIRE&gt;0b00111111 0b11111111 0b11111111 0b11111111 ][<br />
WRITE: 0x3F<br />
WRITE: 0xFF<br />
WRITE: 0xFF<br />
WRITE: 0xFF<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>First,  turn all the colors to full. Bit 31 (0) is ignored, bit 30 (0) indicates a LED pulse-width modulator update command, and the remaining bits set all three channels to 100%.  The three PWM values control the output intensity of each color as follows: blue (bits 29:20), red (bits 19:10), and green (bits 9:0). Raise and lower the latch pin (][) to end the command.</p>
<p>Next, test each each color individually.</p>
<blockquote><p>RAW3WIRE&gt;0b00111111 0b11110000 0b00000000 0b00000000 ][<br />
WRITE: 0x3F<br />
WRITE: 0xF0<br />
WRITE: 0x00<br />
WRITE: 0x00<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>Bit 30 (0) signals an LED PWM  update command, followed by a 100% setting for the blue channel (1111111111) and 0% settings for the red and green channels. When we toggle the latch pin (][) the new values are saved and the LED color changes to blue.</p>
<blockquote><p>RAW3WIRE&gt;0b00000000 0b00001111 0b11111100 0b00000000 ][<br />
WRITE: 0x00<br />
WRITE: 0x0F<br />
WRITE: 0xFC<br />
WRITE: 0x00<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>This time we'll set the LED to 100% red. Bit 30 (0) signals an LED PWM update command, followed by a 0% setting for the blue channel, a 100% setting for the red channel (1111111111), and a 0% setting for green.  When we toggle the latch pin (][)  the LED color changes to red.</p>
<blockquote><p>RAW3WIRE&gt;0b00000000 0b00000000 0b00000011 0b11111111 ][<br />
WRITE: 0x00<br />
WRITE: 0x00<br />
WRITE: 0x03<br />
WRITE: 0xFF<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>Finally, we set the LED to 100% green. Bit 30 signals an LED PWM update, followed by 0% settings for the blue and red channels, and a 100% setting for the green channel (1111111111).  Toggle the latch pin (][)  and the LED color changes to green.</p>
<p>Like this post? Check out the <a href="http://hackaday.com/category/parts/">parts posts</a> you may have missed. Want to request a part post? Please leave your suggestions in the comments.</p>
<p><strong>Hack a Day review disclosure</strong>: Macetech gave us a couple free <a href="http://hackaday.com/2008/05/08/maker-faire-2008-shiftbright-rgb-led-module/">ShiftBrites at Maker Faire 2008</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10589/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10589&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/shiftbriteii.jpg" medium="image">
			<media:title type="html">shiftbriteii</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/shiftbrite-over.jpg" medium="image">
			<media:title type="html">shiftbrite-over</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/a6281-connect-470.png" medium="image">
			<media:title type="html">A6281-connect.470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/a6281-io-470.png" medium="image">
			<media:title type="html">A6281-IO.470</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: I2C real-time clock calendar (PCF8563)</title>
		<link>http://hackaday.com/2009/06/26/parts-i2c-real-time-clock-calendar-pcf8563/</link>
		<comments>http://hackaday.com/2009/06/26/parts-i2c-real-time-clock-calendar-pcf8563/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 19:31:29 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[pcf8563]]></category>
		<category><![CDATA[real time clock]]></category>
		<category><![CDATA[rtc]]></category>
		<category><![CDATA[rtcc]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10587</guid>
		<description><![CDATA[
The PCF8563 is a real-time clock/calendar/alarm chip with an I2C interface. This would be useful in projects  where the primary microcontroller doesn&#8217;t have enough resources for an interrupt driven clock.
We demonstrate the PCF8563 using the Bus Pirate after the break. For a limited time you can get your own Bus Pirate, fully assembled and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10587&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-11059" title="pcf8563" src="http://hackadaycom.files.wordpress.com/2009/05/pcf8563.jpg?w=450&#038;h=300" alt="pcf8563" width="450" height="300" /></p>
<p>The <a href="http://www.nxp.com/#/pip/pip=[pip=PCF8563_6]|pp=[t=pip,i=PCF8563_6]">PCF8563</a> is a <a href="http://en.wikipedia.org/wiki/Real-time_clock">real-time clock</a>/calendar/alarm chip with an <a href="http://en.wikipedia.org/wiki/I%C2%B2C">I2C interface</a>. This would be useful in projects  where the primary microcontroller doesn&#8217;t have enough resources for an interrupt driven clock.</p>
<p>We demonstrate the PCF8563 using <a href="http://www.buspirate.com">the Bus Pirate</a> after the break. For a limited time you can <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30.</p>
<p><span id="more-10587"></span><img class="alignnone size-full wp-image-10606" title="pcf8563" src="http://hackadaycom.files.wordpress.com/2009/04/pcf8563.png?w=450&#038;h=154" alt="pcf8563" width="450" height="154" /></p>
<p><strong><a href="http://www.nxp.com/#/pip/pip=[pip=PCF8563_6]|pp=[t=pip,i=PCF8563_6]">PCF8563</a> real-time clock calendar (<a href="http://octopart.com/parts/search?q=pcf8563">Octopart search</a>, $1.33). <a href="http://www.nxp.com/acrobat/datasheets/PCF8563_6.pdf">Datasheet</a> (PDF).</strong></p>
<p>The schematic above shows a bare-bones circuit for the PCF8563. It requires a simple external  oscillator circuit with a <a href="http://mouser.com/Search/ProductDetail.aspx?R=AB26T-32.768KHZvirtualkey52750000virtualkey815-AB26T-32.768KHZ">32.768khz watch crystal</a> (Q1). The oscillator input pin needs an external capacitor (C1, 12pF), but the oscillator output pin already has an internal capacitor.  C2 is a 0.1uf decoupling capacitor for the power supply pin. The power supply can be 1.5 to 5.5volts.</p>
<p>The datasheet also recommends a diode on the voltage input. We didn&#8217;t use this in our test.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Bus Pirate</strong></td>
<td><strong>PCF8563 (pin #)</strong></td>
</tr>
<tr>
<td>GND</td>
<td>GND (4)</td>
</tr>
<tr>
<td>MOSI</td>
<td>SDA (5)</td>
</tr>
<tr>
<td>CLK</td>
<td>SCL (6)</td>
</tr>
<tr>
<td>3.3volts or 5volts</td>
<td>V+ (8)</td>
</tr>
<tr>
<td>Vpullup</td>
<td>V+ (8)</td>
</tr>
</tbody>
</table>
<p>We used our <a href="http://www.buspirate.com">Bus Pirate universal serial interface</a> to demonstrate this chip, but the transaction sequence will be the same for any microcontroller implementation. We connected the Bus Pirate to the PCF8563 as shown in the table above. We setup the Bus Pirate for I2C mode (M, 4) , and enabled the on-board power supply (capital ‘W’).</p>
<p>Don&#8217;t forget that you need <a href="http://en.wikipedia.org/wiki/Pull-up_resistor">pull-up resistors</a> somewhere on the I2C bus. If you&#8217;re using a Bus Pirate, attach the Vpullup input to the circuit power supply then press p to configure the pullup resistors (or attach the pull-up jumpers for hardware v1a).</p>
<p><em>Interface</em></p>
<blockquote><p>I2C&gt;(1)<strong>&lt;&#8211;search I2C address macro</strong><br />
Searching 7bit I2C address space.<br />
Found devices at:<br />
0xA2 0xA3<br />
I2C&gt;</p></blockquote>
<p>The PCF8563 I2C  write address is 0xa2, and the read address is 0xa3. You can find this in the datasheet, or use the Bus Pirate search macro (1) to check all possible addresses.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Address | </strong></td>
<td><strong> Register name | </strong></td>
<td><strong>Bits</strong></td>
</tr>
<tr>
<td>0&#215;00</td>
<td>control_status_1</td>
<td></td>
</tr>
<tr>
<td>0&#215;01</td>
<td>control_status_2</td>
<td></td>
</tr>
<tr>
<td>0&#215;02</td>
<td>VL_seconds</td>
<td>(0:6)</td>
</tr>
<tr>
<td>0&#215;03</td>
<td>minutes</td>
<td>(0:6)</td>
</tr>
<tr>
<td>0&#215;04</td>
<td>hours</td>
<td>(0:5)</td>
</tr>
<tr>
<td>0&#215;05</td>
<td>days</td>
<td>(0:5)</td>
</tr>
<tr>
<td>0&#215;06</td>
<td>weekdays</td>
<td>(0:2)</td>
</tr>
<tr>
<td>0&#215;07</td>
<td>months</td>
<td>(0:4)</td>
</tr>
<tr>
<td>0&#215;08</td>
<td>years</td>
<td>(0:7)</td>
</tr>
<tr>
<td colspan="3"><em>(see datasheet page 6)</em></td>
</tr>
</tbody>
</table>
<p>This RTC has 16 one-byte registers that configure the clock, and set/retrieve the time. Bytes 0-8, shown in the table above, contain status and time information. The upper 7 bytes configure an alarm, timers, and other advanced features. We&#8217;re just going to focus on the clock functions.</p>
<p>The registers are accessed just like an <a href="http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/#EEPROM">I2C EEPROM</a>. Write values by sending the I2C write address (0xa2), the address to start writing (0-15), and the data bytes(s) to write.</p>
<p>Read values from the chip in two steps. First, use the write command to position the read pointer, but don&#8217;t send any data bytes. Second, use the read address (0xa3) to read bytes starting at the position set during the write command.</p>
<blockquote><p>I2C&gt;{<em>0xa2</em> <strong>2</strong> <span style="text-decoration:underline;">0 30 12 31 1 5 9</span> }<br />
I2C START CONDITION<br />
WRITE: 162 GOT ACK: YES <strong>&lt;&#8211;I2C write address (0xa2=162)</strong><br />
WRITE: 2 GOT ACK: YES <strong>&lt;&#8211;register to begin writing</strong><br />
WRITE: 0 GOT ACK: YES <strong>&lt;&#8211;seconds (0)</strong><br />
WRITE: 30 GOT ACK: YES <strong>&lt;&#8211;minutes (30)</strong><br />
WRITE: 12 GOT ACK: YES <strong>&lt;&#8211;hours (12/noon)</strong><br />
WRITE: 31 GOT ACK: YES<strong>&lt;&#8211;day of the month (31)</strong><br />
WRITE: 1 GOT ACK: YES <strong>&lt;&#8211;day of the week (1/Sunday)</strong><br />
WRITE: 5 GOT ACK: YES <strong>&lt;&#8211;month (5/May)</strong><br />
WRITE: 9 GOT ACK: YES <strong>&lt;&#8211;year (09/2009)</strong><br />
I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p>Set the time by writing to registers 0&#215;02 to 0&#215;08. The values are entered in binary coded decimal format, with all numerical date representations being fairly standard (see datasheet pages 6-9). We set the time to 12:30:00 May 31, 2009.</p>
<p>First, send an I2C start condition to tell the chip to listen for its address (Bus Pirate command {). Next, send the PFC8563 write address (<em>0xa2</em>), and set the write pointer to the seconds register (<strong>2</strong>). Finally, write 7 bytes of data to the time registers at addresses 2-8. End the transaction with an I2C stop condition (Bus Pirate command }).</p>
<blockquote><p>I2C&gt;{0xa2 2 { 0xa3 r:7}<br />
I2C START CONDITION<br />
WRITE: 162 GOT ACK: YES <strong>&lt;&#8211;send write address (0xa2=162)</strong><br />
WRITE: 2 GOT ACK: YES <strong>&lt;&#8211;set pointer to register 2, seconds</strong><br />
I2C START CONDITION <strong>&lt;&#8211;repeated start condition</strong><br />
WRITE: 163 GOT ACK: YES <strong>&lt;&#8211;send read address (0xa3=163)</strong><br />
BULK READ 7 BYTES: <strong>&lt;&#8211;read back 7 bytes</strong><br />
17 31 12 31 1 5 9 <strong>&lt;&#8211;time: 12:31:17 Sunday, May 31, 2009</strong><br />
I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p>We set the Bus Pirate&#8217;s output mode  to decimal (menu &#8216;o&#8217;) before reading the time. This displays the values in the more familiar decimal format.</p>
<p>Retrieving the time takes two steps. First, a partial write transaction sets the memory location to read. Then, instead of sending any data, send a second start condition ({) and the PCF8563 I2C read address (0xa3) to put the chip in read mode. Finally, read 7 bytes (r:7) from registers 2 to 8. The output shows that a minute has passed since we set the time.</p>
<blockquote><p>I2C&gt;{0xa2 2 { 0xa3 r:7}<br />
I2C START CONDITION<br />
WRITE: 162 GOT ACK: YES <strong>&lt;&#8211;send write address (0xa2=162)</strong><br />
WRITE: 2 GOT ACK: YES <strong>&lt;&#8211;set pointer to register 2, seconds</strong><br />
I2C START CONDITION <strong>&lt;&#8211;repeated start condition</strong><br />
WRITE: 163 GOT ACK: YES <strong>&lt;&#8211;send read address (0xa3=163)</strong><br />
BULK READ 7 BYTES: <strong>&lt;&#8211;read back 7 bytes</strong><br />
34 32 12 31 <em>33</em> <strong>37</strong> 9 <strong>&lt;&#8211;day of week (33) and month (37) appear wrong<br />
</strong>I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p>Sometimes the chip appears to return garbage results. The above output is actually a valid time reading, even though it&#8217;s obviously not the 33rd day of the week or the 37th month of the year.</p>
<p>Each register has several &#8216;do not care&#8217; bits (see datasheet page 6). In most devices  &#8216;do not care&#8217; bits are always set to 0, but the PCF8563 appears to use them in some time keeping capacity.</p>
<p>Day of week reads 33, or 0b00100001 in binary. If we ignore the upper 5 bits we get 0b001, or 1/Sunday, the proper day of the week. Similarly, ignore the upper three bits of month (37 = 0b00100101), giving 0b00101 or 5/May.</p>
<p>Like this post? Check out the <a href="http://hackaday.com/category/parts/">parts posts</a> you may have missed. Want to request a part post? Please leave your suggestions in the comments.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10587/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10587&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/26/parts-i2c-real-time-clock-calendar-pcf8563/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/pcf8563.jpg" medium="image">
			<media:title type="html">pcf8563</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/pcf8563.png" medium="image">
			<media:title type="html">pcf8563</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: The Bus Pirate V2 with USB</title>
		<link>http://hackaday.com/2009/06/25/how-to-the-bus-pirate-v2-with-usb/</link>
		<comments>http://hackaday.com/2009/06/25/how-to-the-bus-pirate-v2-with-usb/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 00:15:21 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[1-wire]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[jtag]]></category>
		<category><![CDATA[midi]]></category>
		<category><![CDATA[pc keyboard]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[the bus pirate]]></category>
		<category><![CDATA[uart]]></category>
		<category><![CDATA[universal serial interface]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10041</guid>
		<description><![CDATA[
Update, Saturday July 4th, 2009: All preorders are closed.
The Bus Pirate is a universal serial interface tool, we use it to test new chips without writing any code. It currently supports most serial protocols, including 1-Wire, I2C, SPI, JTAG, asynchronous serial, MIDI, and more. We added some other features we frequently need, like pulse-width modulation, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10041&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-10467" title="buspiratev2goii450" src="http://hackadaycom.files.wordpress.com/2009/04/buspiratev2goii450.jpg?w=450&#038;h=314" alt="buspiratev2goii450" width="450" height="314" /></p>
<p><strong>Update, Saturday July 4th, 2009: </strong>All preorders are closed.</p>
<p>The <a href="http://www.buspirate.com">Bus Pirate</a> is a universal serial interface tool, we use it to <a href="http://hackaday.com/category/parts/">test new chips</a> without writing any code. It currently supports most serial protocols, including 1-Wire, I2C, SPI, JTAG, asynchronous serial, MIDI, and more. We added some other features we frequently need, like pulse-width modulation, frequency measurement, voltage measurement, bus sniffers, pull-up resistors, and switchable 3.3volt and 5volt power supplies.</p>
<p>The new v2 family adds USB power and connectivity to the best Bus Pirate design yet.  We also reduced the part count and cost wherever possible. If you want to get your hands on some Bus Pirate USB goodness, Seeed Studio has assembled hardware for $30 (including worldwide shipping).</p>
<p>Read about the new design after the break.</p>
<p><span id="more-10041"></span></p>
<p><strong>Concept overview</strong></p>
<p><img class="alignnone size-full wp-image-10458" title="overview450" src="http://hackadaycom.files.wordpress.com/2009/04/overview450.png?w=450&#038;h=212" alt="overview450" width="450" height="212" /></p>
<p>The Bus Pirate connects to a PC USB port. The user send commands to the Bus Pirate from a serial terminal on the PC. Commands are translated to the bus protocols that control microchips. See our <a href="http://www.buspirate.com">Bus Pirate page</a> for full documentation.</p>
<p>The latest firmware supports 1-Wire, I2C, SPI, JTAG, asynchronous serial, MIDI, and PC keyboards. Bit-wise 2- and 3-wire libraries can interface most proprietary serial protocols.  More protocols are being added all the time, check out the source code on our <a href="http://code.google.com/p/the-bus-pirate/">Google Code SVN page</a>.</p>
<p><strong>Hardware</strong></p>
<p><strong><img class="alignnone size-full wp-image-10048" title="cct25450" src="http://hackadaycom.files.wordpress.com/2009/04/cct25450.jpg?w=450&#038;h=209" alt="cct25450" width="450" height="209" /></strong></p>
<p><a href="http://hackadaycom.files.wordpress.com/2009/05/cct25a.png">Click for a large image of the schematic</a> (PNG). The schematic and board layout were made with the freeware version of <a href="http://www.cadsoft.de">Cadsoft Eagle</a>. Download the latest files from our <a href="http://code.google.com/p/the-bus-pirate/downloads/list">Google Code</a> page.</p>
<p><em>PIC24F</em></p>
<p><em><img class="alignnone size-full wp-image-10480" title="pic24f-highlight" src="http://hackadaycom.files.wordpress.com/2009/04/pic24f-highlight.jpg?w=450&#038;h=329" alt="pic24f-highlight" width="450" height="329" /><br />
</em></p>
<p>A Microchip <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">PIC24F series</a> microcontroller generates the user interface and translates input into bus communications. V2 uses the same <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026374">24FJ64GA002</a> as the previous Bus Pirate versions. It&#8217;s cheap, has a ton of memory,  a couple 5volt tolerant input pins, and the peripheral pin select feature lets us assign hardware modules anywhere we want.</p>
<p>The PIC (IC1) is powered by a 3.3volt regulator (VR2, C23). Each PIC power pin gets a 0.1uF bypass capacitor (C1,2). The internal 2.5volt regulator requires a 10uF tantalum capacitor (C20). The programming pins are brought to a five pin header (ICSP) on the edge of the PCB.</p>
<p><em>USB interface<br />
</em></p>
<p><em><img class="alignnone size-full wp-image-10471" title="ftdi-450ii1" src="http://hackadaycom.files.wordpress.com/2009/04/ftdi-450ii1.jpg?w=450&#038;h=229" alt="ftdi-450ii1" width="450" height="229" /></em></p>
<p>The Bus Pirate is powered from the USB 5volt supply, which is first filtered with a ferrite bead (L1) and 10uF tantalum capacitor (C21). We used the small, still-not-quite-common, <a href="http://en.wikipedia.org/wiki/USB#Types_of_USB_connector">USB mini-b</a> connector (J2).</p>
<p>Choosing a ferrite bead is a common hangup. Its purpose is to filter small power fluctuations, all the current for the circuit will go through it. We can guestimate that the Bus Pirate&#8217;s worst case current consumption is 525ma (3 power supplies @ 150ma, the FTDI chip @ 25ma, 2 LEDs @ 50ma max). Use a ferrite bead rated for at least 1000ma to be safe. We used <a href="http://www.mouser.com/Search/ProductDetail.aspx?R=BLM21PG331SN1Dvirtualkey64800000virtualkey81-BLM21P331SG">this one</a>, which is rated for 1500ma and costs 10 cents.</p>
<p>An FTDI <a href="http://www.ftdichip.com/Products/FT232BM.htm">FT232BL</a> USB-&gt;serial chip (IC2) handles the USB connection. You might be familiar with this chip from various <a href="http://hackaday.com/category/arduino-hacks/">Arduino</a> boards. FTDI has <a href="http://www.ftdichip.com/Drivers/VCP.htm">extensive driver support</a> for most platforms, we used the virtual com port drivers.  This is the latest generation chip, and it&#8217;s only available in small SSOP and QFN packages. We had no problem hand-soldering it to a professional PCB, but it&#8217;s not for everyone.</p>
<p>The FT232BL is powered directly from the filtered, unregulated USB supply. C4 is a  decoupling capacitor for the FTDI232BL supply pin. A single LED (LED4/USB) indicates USB status and activity. The FT232BL RXLED pin sinks current, so we powered the LED from the 5volt USB supply through a 1.1K resistor (R3).</p>
<p>While the FT232BL runs at 5volts from the USB supply, its serial IO pins have an independent supply input &#8211; they can operate at another voltage. Since the microcontroller is 3.3volts, we just feed the FT232BL IO pins a 3.3volt supply and eliminate any funky translation circuitry. We used the chip&#8217;s internal 3.3volt regulator to supply the IO pins because it was the easiest trace to route. The IO pins get their own 0.1uF bypass capacitor (C5).</p>
<p><em>Switchable power supplies</em></p>
<p><em><img class="alignnone size-full wp-image-10475" title="vreg-450ii" src="http://hackadaycom.files.wordpress.com/2009/04/vreg-450ii.jpg?w=449&#038;h=297" alt="vreg-450ii" width="449" height="297" /><br />
</em></p>
<p>The Bus Pirate has on-board 3.3volt and 5volt supplies (VR3, VR4) that can power a test circuit. The  supplies are switchable, so we can reset the circuit from software when something goes wrong. To be extra safe, the supplies are held off until activated in the terminal.</p>
<p>[<a href="http://www.sparkfun.com/commerce/account.php?id=7185">Nathan Seidle</a>] at <a href="http://www.sparkfun.com">SparkFun</a> recommended that we replace the  <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMsGz1a6aV8DcPXeWoVS0Fnzr3zi8%252bAr99Q%3d">TPS796xx</a> ($2.50) we used in <a href="http://hackaday.com/2009/01/22/how-to-bus-pirate-v1-improved-universal-serial-interface">The Bus Pirate v1a</a> with a <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=576-1259-1-ND">MIC5205-xxYM5</a> ($0.90). They supply just 150ma maximum current, compared to 800ma from the TPS796xx, but the cost savings and reduced part-count are worth it.</p>
<p>The regulators are fed from the 5volt USB supply. The 5volt regulator drops a few millivolts below optimal because there&#8217;s no headroom, but it&#8217;s within the minimum level specified by  most 5volt parts.</p>
<p>The MIC5205 requires a large output filter capacitor (C22-24, 10uF), but no input capacitor. An optional small-value capacitor on the BP pin can decrease power supply noise, but we left this off because it didn&#8217;t make much difference in practice.</p>
<p>A small voltage on the <em>EN</em> pin enables the supply, we used a 10K pull-down resistor (R18, not shown) to ensure that the supplies stay off while the PIC initializes. LED3/VREG, with current limiting resistor R32, lights when the power supplies are active.</p>
<p><em>On-board pull-up resistors</em></p>
<p><em><img class="alignnone size-full wp-image-10469" title="resis" src="http://hackadaycom.files.wordpress.com/2009/04/resis.jpg?w=450&#038;h=298" alt="resis" width="450" height="298" /><br />
</em></p>
<p>Bus Pirate V2 has multi-voltage, software controlled pull-up resistors via the <a href="http://www.fairchildsemi.com/ds/CD%2FCD4066BC.pdf">4066</a> (PDF) quad bilateral switch (IC3). When enabled, the 4066 connects the four on-board bus pull-up resistors (R20-23, 10K) to any external signal on the Vpullup pin (0 to 5volts). When disabled, the outputs are high-impedance and have no effect on the bus lines.</p>
<p>The 4066 can&#8217;t switch an input voltage greater than the supply voltage. To give it the widest possible range, we powered it from the USB supply (5volts).</p>
<p>When operated at 5volts, it takes 4volts+ to enable the 4066. The PIC pins have a maximum output of 3.3volts, so we have a problem. We  solve it with a 5volt tolerant PIC pin and a pull-up resistor.  We turn on the 4066 with a pull-up resistor to 5volts (R19, 10K), and then disable it by switching the connected PIC pin to ground.</p>
<p>For a brief instant at power-on, the PIC pin is high-impedance and the 4066 outputs are active because the pull-up resistor holds the control pins at 5volts. This is a concern if the Vpullup input is connected to an external 5volt supply while the bus is connected to a 3.3volt device &#8211; the brief exposure to 5volts might harm the device. If you&#8217;re worried about this, make sure there&#8217;s no active power supply connected to the Vpullup input before powering the Bus Pirate. This isn&#8217;t a concern if you use one of the on-board power supplies for the pull-up voltage because they&#8217;re disabled at startup.</p>
<p><em>Voltage monitoring</em></p>
<p><em><img class="alignnone size-full wp-image-10474" title="cct-adcin" src="http://hackadaycom.files.wordpress.com/2009/04/cct-adcin.jpg?w=450&#038;h=309" alt="cct-adcin" width="450" height="309" /><br />
</em></p>
<p>Four <a href="http://en.wikipedia.org/wiki/Voltage_divider">voltage dividers</a> (R10-17, 10K), attached to <a href="http://en.wikipedia.org/wiki/Analog-to-digital_converter">analog to digital converters</a>, allow the 3.3volt PIC to safely measure up to 6volts DC.</p>
<p>Two voltage monitors measure the switchable power supply output. One measures the Vpullup input voltage, and another connects to the external voltage measurement probe.</p>
<p><em>Indicator LEDs</em></p>
<p><em><img class="alignnone size-full wp-image-10463" title="front-back2450" src="http://hackadaycom.files.wordpress.com/2009/04/front-back2450.jpg?w=450&#038;h=191" alt="front-back2450" width="450" height="191" /><br />
</em></p>
<p>Three LEDs indicate power, mode, and voltage regulator status (LED1-3). LED4/USB displays USB activity.</p>
<p>There are pads for resistors R30-32 and LEDs 1-3 on the front and back of the PCB. Only one set should be populated. We put pads on both sides so the board could be mounted with the indicator LEDs abutting the top of an enclosure.</p>
<p><em>V2a vs V2go</em></p>
<p><em><img class="alignnone size-full wp-image-10441" title="bpv2450" src="http://hackadaycom.files.wordpress.com/2009/04/bpv2450.jpg?w=450&#038;h=354" alt="bpv2450" width="450" height="354" /><br />
</em></p>
<p>Click for large <a href="http://hackadaycom.files.wordpress.com/2009/04/cct1.png">schematic</a> (PNG) and <a href="http://hackadaycom.files.wordpress.com/2009/04/brd.png">layout</a> (PNG) images of the version 2a hardware. The Eagle layout files are available in our <a href="http://code.google.com/p/the-bus-pirate/downloads/list">Google Code SVN</a>.</p>
<p>Bus Pirate V2a is a developer&#8217;s board. In addition to all the features of V2go, it includes a jack (J1) for an external power supply and an additional 5volt regulator (VR1).  A switch (S1) selects between USB power and the external supply.</p>
<p>The FT232BL chip on V2a is powered directly from the USB supply, and is not connected to the external supply. This is useful if you want to disable USB and use the Bus Pirate with a serial port on a PC or PDA.</p>
<p>The V2a 4066 enable pull-up resistor is powered by the switchable 5volt regulator. The 5volt regulator must be enabled for the 4066 to be active. Don&#8217;t forget to install the 4066 pull-up resistor (R19), located on the back of the v2a PCB.</p>
<p><strong>PCB</strong></p>
<p><img class="alignnone size-full wp-image-10047" title="brd25450" src="http://hackadaycom.files.wordpress.com/2009/04/brd25450.png?w=437&#038;h=354" alt="brd25450" width="437" height="354" /></p>
<p>The PCB is a compact, 2-layer design. We <a href="http://hackaday.com/2009/01/15/how-to-prepare-your-eagle-designs-for-manufacture/">prepared gerbers</a> and had PCBs made by our usual service, <a href="https://www.batchpcb.com/">BatchPCB</a> ($21, shipped to EU), and tried a new service offered by <a href="http://www.seeedstudio.com/wiki/index.php?title=Main_Page">Seeed Studio</a> ($32, shipped worldwide).</p>
<p>Seeed has a PCB service specifically for open source hardware projects. For $32 (including worldwide shipping) we got 5 small PCBs, and Seeed made a few extra to sell in their shop. We liked the idea that there would be extra PCBs available.</p>
<p>You might know Seeed Studio from their cheap, improved <a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MKSEEED2">Seeeduino</a> Arduino clone. They&#8217;re located in Shenzhen, a Chinese electronics manufacturing hot-spot. A bunch of notable bloggers recently <a href="http://www.sparkfun.com/commerce/news.php?id=236">visited the region</a> and wrote about the <a href="http://www.sparkfun.com/commerce/news.php?id=237">huge electronic component markets</a>.</p>
<p><img class="alignnone size-full wp-image-10461" title="seeed-batchpcb4501" src="http://hackadaycom.files.wordpress.com/2009/04/seeed-batchpcb4501.jpg?w=450&#038;h=232" alt="seeed-batchpcb4501" width="450" height="232" /></p>
<p>The Seed order arrived in 14 days (left), the BatchPCB order arrived in 30 days (right).  Seeed and BatchPCB both make beautiful PCBs. Seeed has a much faster turn-around, and has better minimum trace widths and separation (8mil vs 6mil). BatchPCB has standard green PCBs, Seeed gives you the choice of green, black, or white; red, blue and yellow are $7.50 extra.</p>
<p>We really like the Seeed PCB service, extra Bus Pirate <a href="http://www.seeedstudio.com/depot/the-bus-pirate-v2-go-pcb-p-331.htmlhttp://www.seeedstudio.com/depot/the-bus-pirate-v2-go-pcb-p-331.html">v2go</a> and <a href="http://www.seeedstudio.com/depot/the-bus-pirate-v2-pcb-p-330.html">v2a</a> PCBs from our order are available in the Seeed shop. BatchPCB remains the cheapest prototyping option if you want a single board, closed source work, or don&#8217;t mind the extra wait.</p>
<p><em>Parts list</em></p>
<table border="0">
<tbody>
<tr>
<td><strong>Part</strong></td>
<td><strong>Value (package)</strong></td>
</tr>
<tr>
<td>IC1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=V/yyTCAHA4D/h5r3CRQDtA==">PIC24J64GA002</a> (SOIC)</td>
</tr>
<tr>
<td>IC2</td>
<td><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=650">FT232RL</a> (SSOP)</td>
</tr>
<tr>
<td>IC3</td>
<td><a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=CD4066BCM-ND">CD4066D</a> (SOIC-N)</td>
</tr>
<tr>
<td>VR2,3</td>
<td><a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=576-1259-1-ND">MIC5205-3.3YM5 3.3volt regulator</a> (SOT23-5)</td>
</tr>
<tr>
<td>VR4</td>
<td><a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=576-1261-1-ND">MIC5205-5.0YM5 5volt regulator</a> (SOT23-5)</td>
</tr>
<tr>
<td>C1-5</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=C0805C104M5RACTUvirtualkey64600000virtualkey80-C0805C104M5R">0.1uF capacitor</a> (0805)</td>
</tr>
<tr>
<td>C20-24</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=293D106X96R3A2TE3virtualkey61320000virtualkey74-293D106X96R3A2TE3">10uF tantalum capacitor</a> (SMC-A)</td>
</tr>
<tr>
<td>L1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=BLM21PG331SN1Dvirtualkey64800000virtualkey81-BLM21P331SG">1000ma+ Ferrite bead</a> (0805)</td>
</tr>
<tr>
<td>R1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=jBethxrBxZb5NLDetw123g==">2000 ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>R3,30</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=DZvKvnD5UYWyFJjgnPvJ4g%3d%3d">1100 ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>R10-23</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtlubZbdhIBIADEshVnklemK%252bhrLNEuMe8%3d">10,000 ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>R31,32</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=2BMLUTrrT4P7Xm58YbKmPg==">390 ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>LED1-4</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=7JStj%2fjQ2SElGv%2fp7IzKlg%3d%3d">LED</a> (0805)</td>
</tr>
<tr>
<td>J2</td>
<td><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=587">USB MINI-B</a> (SMD)</td>
</tr>
<tr>
<td>I/O</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=9-146278-0virtualkey57100000virtualkey571-9-146278-0">0.1&#8243; pin header</a> (2&#215;05)</td>
</tr>
<tr>
<td>ICSP</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=9-146278-0virtualkey57100000virtualkey571-9-146278-0">0.1&#8243; pin header</a> (1&#215;05)</td>
</tr>
<tr>
<td>ST</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=9-146278-0virtualkey57100000virtualkey571-9-146278-0">0.1&#8243; pin header</a> (1&#215;03) <em>*unpopulated, optional*</em></td>
</tr>
<tr>
<td><strong><br />
</strong></td>
<td></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td><em><strong>Optional</strong></em></td>
<td><em><strong>Parts for V2a</strong></em></td>
</tr>
<tr>
<td>C6-10</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=C0805C104M5RACTUvirtualkey64600000virtualkey80-C0805C104M5R">0.1uF capacitor</a> (0805)</td>
</tr>
<tr>
<td>J1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=b2tC%2fwvzm2TxaPjSsb%252bCzQ%3d%3d">2.1mm power jack</a> (SMD)</td>
</tr>
<tr>
<td>LED5,6</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=7JStj%2fjQ2SElGv%2fp7IzKlg%3d%3d">LED</a> (0805)</td>
</tr>
<tr>
<td>R33,34,40</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=DZvKvnD5UYWyFJjgnPvJ4g%3d%3d">1100 ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>S1</td>
<td><a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=679-1849-ND">Slide switch, SPDT, rt angle</a></td>
</tr>
<tr>
<td>VR1</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=LD1117S50TRvirtualkey51120000virtualkey511-LD1117S50">LD1117s50 5volt regulator</a> (SOT223)</td>
</tr>
</tbody>
</table>
<p><strong>Firmware</strong></p>
<p>The latest Bus Pirate firmware for all hardware version is always available on our <a href="http://code.google.com/p/the-bus-pirate/">Google Code page</a>. The code is written in C, and is compiled with the <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en534868&amp;redirects=c30">Microchip C30 demonstration compiler</a>.</p>
<p><em>Bootloader</em></p>
<p>The biggest change in the latest firmware is the addition of a <a href="http://en.wikipedia.org/wiki/Boot_loader#Boot_loader">bootloader</a>. Now the firmware can be updated through the USB or serial connection.</p>
<p>A bootloader is small program that sits at the beginning of the PIC program memory. It accepts updated firmware through the USB or serial port and saves it to the chip.</p>
<p><img class="alignnone size-full wp-image-10449" title="bootload-jumper4501" src="http://hackadaycom.files.wordpress.com/2009/04/bootload-jumper4501.jpg?w=450&#038;h=112" alt="bootload-jumper4501" width="450" height="112" /></p>
<p>The bootloader comes from Microchip application note <a href="http://en.wikipedia.org/wiki/Boot_loader#Boot_loader">AN1157</a>. We modified the bootloader to check for a jumper between the programming clock (PGC) and data (PGD) pins at power-up (update, above left). If there&#8217;s a connection, the bootloader takes over and waits for new code. Without a connection, the bootloader exits and runs the main program.</p>
<p>There&#8217;s a very minor chance of accidentally entering the bootloader with no jumper installed. This won&#8217;t damage the Bus Pirate, but you will need to connect it again.  You can prevent it by moving the jumper over one position,  between the ground pin and the inner programming pin (normal, above right).</p>
<p><em>Upgrading the firmware with the bootloader</em></p>
<p><em><img class="alignnone size-full wp-image-10443" title="pic24fqp" src="http://hackadaycom.files.wordpress.com/2009/04/pic24fqp.png?w=450&#038;h=141" alt="pic24fqp" width="450" height="141" /><br />
</em></p>
<p>If you&#8217;re using a fresh chip, first program it with the bootloader firmware (vxx-PIC Bootloader.hex) through the ICSP header using a &#8216;real&#8217; programmer like an <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en010046">ICD2</a> or <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en010046">PicKit</a>.</p>
<p>If you&#8217;re upgrading, follow this procedure or refer to the instructions in the firmware download.</p>
<ul>
<li>Disconnect the Bus Pirate from any power supply such as the USB cable.</li>
<li>Place a jumper between the programming data and clock pins of the ICSP header. This will trigger the bootloader mode.</li>
<li>Connect the Bus Pirate to a USB port (or, if applicable, power and serial cable).</li>
<li>Start the MS Windows P24QP.exe programmer utility. You may need to modify the COM port (portindex=) in P24qp.ini to match your system.  Programmer source is available, and the simple bootloader protocol is documented in AN1157 if you want to write an app for a non-Windows system.</li>
<li>Click the connect to device icon (#1). The program will connect to the PIC.</li>
<li>Click the folder icon (#2) and open the firmware update file (vxx-Firmware for BL.hex).</li>
<li> Click the erase device icon (#3) to erase the chip. DO NOT SKIP THIS STEP. Programming may not be successful if you forget to erase the chip.</li>
<li> Click the write device icon (#4) to program the new firmware. Ignore any verify errors between 0&#215;400 and 0xBFF, the bootloader lives in this region and doesn&#8217;t get updated.</li>
<li> Click the green arrow icon (#5) to exit the bootloader and start the program.  Click OK at the warning, we use the jumper to re-enter the bootloader.</li>
<li> Remove the jumper from the programming pins, or move it over one position to connect the inner PGx pin to ground (GND).</li>
<li>***IMPORTANT*** Now restart the Bus Pirate by disconnecting and reconnecting the USB cable (or power cable). Some features won&#8217;t work until after a complete hardware reset.</li>
</ul>
<p><strong>Using it</strong></p>
<p><em>USB device driver<br />
</em></p>
<p>You may need to install an <a href="http://www.ftdichip.com/Drivers/VCP.htm">FTDI virtual serial port driver</a> for your platform.</p>
<p>On Windows, go to the Device Manager to configure the FTDI driver or check the COM port number.</p>
<p><em>Menus and Syntax</em></p>
<p><em><img class="alignnone size-full wp-image-10444" title="term450" src="http://hackadaycom.files.wordpress.com/2009/04/term450.png?w=420&#038;h=195" alt="term450" width="420" height="195" /><br />
</em></p>
<p>Use a serial terminal to communicate with the Bus Pirate. We like <a href="http://www.ayera.com/teraterm/">Tera Term</a>.</p>
<p>The Bus Pirate works best with the terminal set to 115200bps, 8 databits, no parity, 1stopbit. Disable local echo in the terminal, and use CR for line breaks. Some modes also require Xon/Xoff software flow control.</p>
<p>In the serial terminal, press ? for the help menu. Read more about the Bus Pirate&#8217;s menu and syntax on the <a href="http://www.buspirate.com">Bus Pirate page</a>. There&#8217;s lots of demonstrations in our recent <a href="http://hackaday.com/category/parts/">parts posts</a>.</p>
<p><em>LED indicators</em></p>
<p><em><img class="alignnone size-full wp-image-10476" title="leds-450" src="http://hackadaycom.files.wordpress.com/2009/04/leds-450.jpg?w=450&#038;h=81" alt="leds-450" width="450" height="81" /><br />
</em></p>
<ul>
<li><strong>PWR</strong> indicates power to the Bus Pirate.</li>
<li><strong>MODE</strong> is off when the I/O pins are in a safe, high-impedance state. MODE is lit when a bus mode is engaged, the pins may be active.</li>
<li><strong>VREG</strong> indicates that the on-board switchable power supplies are active.</li>
<li><strong>UR</strong> is a single USB activity indicator LED. It displays data coming <em>from</em> the PC <em>to</em> the Bus Pirate. You can probably change what this LED displays with the <a href="http://www.ftdichip.com/Resources/Utilities.htm">FTDI configuration utility</a>.</li>
</ul>
<p><em>Connections</em></p>
<p>Pin location diagrams: <a href="http://hackadaycom.files.wordpress.com/2009/01/brd3.png">v2a</a>, <a href="http://hackadaycom.files.wordpress.com/2009/01/brd251.png">v2g0</a>.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Pin name |<br />
</strong></td>
<td><strong>Description (Bus Pirate is the master)</strong></td>
</tr>
<tr>
<td>MOSI</td>
<td>Master data out, slave in (SPI, JTAG), Serial data (1-Wire, I2C, KB), TX* (UART)</td>
</tr>
<tr>
<td>CLK</td>
<td>Clock signal (I2C, SPI, JTAG, KB)</td>
</tr>
<tr>
<td>MISO</td>
<td>Master data in, slave out (SPI, JTAG) RX (UART)</td>
</tr>
<tr>
<td>CS*</td>
<td>Chip select (SPI), TMS (JTAG)</td>
</tr>
<tr>
<td>AUX</td>
<td>Auxiliary IO, frequency probe</td>
</tr>
<tr>
<td>ADC</td>
<td>Voltage measurement probe (max 6volts)</td>
</tr>
<tr>
<td>Vpu</td>
<td>Voltage input for on-board pull-up resistors (0-5volts).</td>
</tr>
<tr>
<td>+3.3v</td>
<td>+3.3volt switchable power supply, max 150ma</td>
</tr>
<tr>
<td>+5.0v</td>
<td>+5volt switchable power supply, max 150ma</td>
</tr>
<tr>
<td>GND</td>
<td>Ground, connect to ground of test circuit</td>
</tr>
</tbody>
</table>
<p>Notes: * TX moved from CS to MOSI in firmware v0g.</p>
<p>The 10 pin I/O block contains the data signals and power supplies that connect to a test circuit. Each pin is labeled on the back of the PCB, refer to the table above for a detailed description.</p>
<p>The pinout on V2 is similar to V1, but we moved the power supply output and Vpullup input  to the cable bundle. We also eliminated the second, unused auxiliary pin.</p>
<p><strong>Conclusion</strong></p>
<p>If you want a complete Bus Pirate or a kit, here&#8217;s a couple options:</p>
<ul>
<li> Seeed Studio is accepting pre-orders for assembled Bus Pirate v2go hardware until the end of Friday, July 3.  An assembled Bus Pirate v2go is $30, including worldwide shipping.</li>
<li>Seeed Studio also has the extra <a href="http://www.seeedstudio.com/depot/the-bus-pirate-v2-go-pcb-p-331.html">v2g0</a> ($5.90) and <a href="http://www.seeedstudio.com/depot/the-bus-pirate-v2-pcb-p-330.html">v2a</a> ($6.50) PCBs from our order.</li>
<li>Fundamental Logic sells a <a href="http://spiffie.org/kits/buspirate/">through-hole kit</a> version of the Bus Pirate V1a ($29.50). <strong>***v1a is serial port only***</strong></li>
</ul>
<p>Thanks to everyone who contributed to this project. The Bus Pirate wouldn&#8217;t be possible without a ton of great feedback from the comments. If you&#8217;d like to get involved, join the <a href="http://code.google.com/p/the-bus-pirate/">Bus Pirate project</a> at Google Code.</p>
<p><strong>Hack a Day review disclosure</strong>: We asked Seeed Studio to make our first order of PCBs for free. Since then, we&#8217;ve made several paid orders.</p>
<p><img class="alignnone size-full wp-image-12042" title="bpv2goiii" src="http://hackadaycom.files.wordpress.com/2009/06/bpv2goiii.jpg?w=450&#038;h=330" alt="bpv2goiii" width="450" height="330" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10041/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10041/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10041/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10041/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10041/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10041/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10041/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10041/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10041/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10041/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10041&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/25/how-to-the-bus-pirate-v2-with-usb/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/buspiratev2goii450.jpg" medium="image">
			<media:title type="html">buspiratev2goii450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/overview450.png" medium="image">
			<media:title type="html">overview450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/cct25450.jpg" medium="image">
			<media:title type="html">cct25450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/pic24f-highlight.jpg" medium="image">
			<media:title type="html">pic24f-highlight</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/ftdi-450ii1.jpg" medium="image">
			<media:title type="html">ftdi-450ii1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/vreg-450ii.jpg" medium="image">
			<media:title type="html">vreg-450ii</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/resis.jpg" medium="image">
			<media:title type="html">resis</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/cct-adcin.jpg" medium="image">
			<media:title type="html">cct-adcin</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/front-back2450.jpg" medium="image">
			<media:title type="html">front-back2450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/bpv2450.jpg" medium="image">
			<media:title type="html">bpv2450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/brd25450.png" medium="image">
			<media:title type="html">brd25450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/seeed-batchpcb4501.jpg" medium="image">
			<media:title type="html">seeed-batchpcb4501</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/bootload-jumper4501.jpg" medium="image">
			<media:title type="html">bootload-jumper4501</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/pic24fqp.png" medium="image">
			<media:title type="html">pic24fqp</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/term450.png" medium="image">
			<media:title type="html">term450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/04/leds-450.jpg" medium="image">
			<media:title type="html">leds-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/bpv2goiii.jpg" medium="image">
			<media:title type="html">bpv2goiii</media:title>
		</media:content>
	</item>
		<item>
		<title>Bus Pirate firmware update v0g</title>
		<link>http://hackaday.com/2009/06/25/bus-pirate-firmware-update-v0g/</link>
		<comments>http://hackaday.com/2009/06/25/bus-pirate-firmware-update-v0g/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 17:30:39 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software updates]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10590</guid>
		<description><![CDATA[
Firmware v0g for all Bus Pirate revisions is now available. Updates in this release include a bootloader, frequency generator/pulse-width modulator, SPI bus sniffer, MIDI library, configuration reports, improved user interface, and bug fixes. v0g is also the first firmware to fully support the v2 hardware branch.
We&#8217;re really proud of this release as it brings a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10590&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-11069" title="buspiratefirmwarev0g" src="http://hackadaycom.files.wordpress.com/2009/05/buspiratefirmwarev0g.png?w=450&#038;h=256" alt="buspiratefirmwarev0g" width="450" height="256" /></p>
<p><a href="http://code.google.com/p/the-bus-pirate/downloads/list">Firmware v0g</a> for all <a href="http://www.buspirate.com">Bus Pirate</a> revisions is now available. Updates in this release include a bootloader, frequency generator/pulse-width modulator, SPI bus sniffer, MIDI library, configuration reports, improved user interface, and bug fixes. v0g is also the first firmware to fully support the v2 hardware branch.</p>
<p>We&#8217;re really proud of this release as it brings a much more consistent structure to the internal operation of the Bus Pirate. It lays the foundation for future CAN, LIN, and OBDII libraries, and  it supports localization and translations.  Install and upgrade instructions are included with the firmware. Report bugs on the project <a href="http://code.google.com/p/the-bus-pirate/issues/list">issue tracker</a>.</p>
<p>We document the new features after the break.</p>
<p><span id="more-10590"></span></p>
<p><strong>Bootloader</strong></p>
<p>Firmware v0g includes a <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/bootloader">bootloader</a>. After the bootloader is installed,  firmware updates can be done over the serial or USB connection, instead of using a proper ICSP programmer. <a href="http://code.google.com/p/the-bus-pirate/source/browse/v0g/firmware/v0g/README.TXT">Install and update instructions</a> are included in the firmware archive.</p>
<p><strong>Frequency generator/pulse-width modulator<br />
</strong></p>
<blockquote><p>1-WIRE&gt;g <strong>&lt;&#8211;frequency generator/PWM setup command</strong><br />
1KHz-4,000KHz frequency generator/PWM (beta)<br />
FREQUENCY in KHz (50) &gt;50 <strong>&lt;&#8211;enter frequency in KHz</strong><br />
PRESCALE:8 <strong>&lt;&#8211;calculated prescaler</strong><br />
PR2:39 <strong>&lt;&#8211;calculated PR2 value</strong><br />
DUTY CYCLE in % (50) &gt;50 <strong>&lt;&#8211;enter percent duty cycle</strong><br />
PWM ACTIVE<br />
1-WIRE&gt;f <strong>&lt;&#8211;frequency measurement command</strong><br />
PWM ACTIVE: DISABLE PWM <strong>&lt;&#8211;not available when PWM is active</strong><br />
1-WIRE&gt;g <strong>&lt;&#8211;g again to disable PWM</strong><br />
PWM DISABLED<br />
1-WIRE&gt;</p></blockquote>
<p>A 1Hz-4MHz <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/AUXpin.c#34">frequency generator</a>/pulse-width modulator function is available on the auxiliary pin using menu option &#8216;g&#8217;. This feature is still in development, but v0g has the essential functionality.  The frequency generator and frequency measurement features can not be used at the same time. We also squashed a small bug in the <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/AUXpin.c#113">frequency measurement</a> code for hardware v1+.</p>
<p><strong>SPI bus sniffer</strong></p>
<blockquote><p>SPI&gt;(1) <strong>&lt;&#8211;sniffer macro</strong><br />
Sniff when:<br />
1. CS low<br />
2. CS high<br />
3. All traffic<br />
(1) &gt;3 <strong>&lt;&#8211;when to sniff bus</strong><br />
SPI BUS SNIFFER, PRESS ANY KEY TO EXIT<br />
0&#215;10(0&#215;00) 0xC6(0&#215;00) <strong>&lt;&#8211;displays data as MOSI(MISO)</strong><br />
SPI&gt;</p></blockquote>
<p>The PIC24F&#8217;s SPI  slave mode  made it easy to add an <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/SPI.c#167">SPI bus sniffer</a>. It works fine on slow or intermittent data transmissions, but it needs additional output buffering for better performance at high speeds. For the best performance, change the Bus Pirate display mode to &#8216;raw output&#8217;.</p>
<p><strong>MIDI library</strong></p>
<p>MIDI, a popular interface for musical instruments, is simply a 33.2K baud/8/N/1 UART. The <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/midi.c">MIDI</a> library has the same functions as the asynchronous serial port library, with the settings fixed for MIDI communications. MIDI devices require an isolated transceiver, we&#8217;re<a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/hardware/adapters/MIDI"> working on one</a> but need a <a href="http://code.google.com/p/the-bus-pirate/issues/detail?id=21">MIDI connector footprint and part number</a>.</p>
<p><strong>Bus Pirate status report</strong></p>
<blockquote><p>RAW3WIRE&gt;i <strong>&lt;&#8211; status report command</strong><br />
Hack a Day Bus Pirate v2g0<br />
http://www.buspirate.com<br />
Firmware v0g<br />
*&#8212;&#8212;&#8212;-*<br />
POWER SUPPLIES ON<br />
VOLTAGE MONITOR: 5V: 5.0 | 3.3V: 3.3 | VPULLUP: 5.0 |<br />
AUX: DEFAULT SETTING (AUX PIN)<br />
High-Z outputs (H=input, L=GND)<br />
PULLUP RESISTORS OFF<br />
MSB SET: MOST SIG BIT FIRST<br />
*&#8212;&#8212;&#8212;-*<br />
RAW3WIRE&gt;</p></blockquote>
<p>A new <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/procMenu.c#120">in-terminal status report</a> lists the features available in the active protocol library, and the current settings.</p>
<p><strong>User prompts with defaults</strong></p>
<blockquote><p>HiZ&gt;m<br />
1. HiZ<br />
2. 1-WIRE<br />
3. UART<br />
4. I2C<br />
5. SPI<br />
6. JTAG<br />
7. RAW2WIRE<br />
8. RAW3WIRE<br />
9. PC KEYBOARD<br />
10. MIDI<br />
(1) &gt; <strong>&lt;&#8211;press enter for default option (1/HiZ)</strong><br />
MODE SET<br />
HiZ&gt;</p></blockquote>
<p>The <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/baseIO.c#20">user prompt</a> has been updated to accept multiple-digit values. Enter without any input selects the default value shown in parentheses before the prompt. All user input is now handled by this single user prompt function.</p>
<p><strong>User value input format</strong></p>
<blockquote><p>SPI&gt;r:0&#215;02 <strong>&lt;&#8211;repeat in hex format</strong><br />
BULK READ 0&#215;02 BYTES:<br />
0&#215;00 0&#215;00<br />
SPI&gt;(0b0) <strong>&lt;&#8211;macro command in binary format</strong><br />
0.Macro menu<br />
1.SPI bus sniffer<br />
SPI&gt;</p></blockquote>
<p>All user prompts now <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/baseIO.c#81">support input values</a> in binary, hexadecimal, or decimal. Previously, menu and macro prompts only supported decimal formatted input.</p>
<p><strong>Localization, translations</strong></p>
<p>A lot of the text used in the program has been moved to a <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/source/translations">translation file</a>, which is defined in <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/base.h#54">base.h</a>.</p>
<p>If you make a translation, please share it with us. We&#8217;ll host the translation in SVN and compile a localized firmware for anyone that might be interested.</p>
<p><strong>Test the v0h beta</strong></p>
<p>If you like to live on the edge, try the <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/firmware">v0h nightlies</a>. These features are already implemented in v0h nightlies:</p>
<ul>
<li><a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/I2C.c#139">I2C sniffer</a>,</li>
<li>HD44780 character LCD <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/HD44780.c">test library</a>.</li>
<li><a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/pc_at_keyboard.c#316">Keyboard library I/O timeout</a>.</li>
<li>Improved <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/procSyntax.c#44">syntax parser</a>.</li>
<li>Software <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/procMenu.c#93">reset command</a>.</li>
</ul>
<p>Check the <a href="http://code.google.com/p/the-bus-pirate/issues/list">issue tracker</a> for future features, or to make feature requests.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10590/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=10590&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/25/bus-pirate-firmware-update-v0g/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/buspiratefirmwarev0g.png" medium="image">
			<media:title type="html">buspiratefirmwarev0g</media:title>
		</media:content>
	</item>
		<item>
		<title>Through-hole Bus Pirate kit from Fundamental Logic</title>
		<link>http://hackaday.com/2009/03/31/through-hole-bus-pirate-kit-from-fundamental-logic/</link>
		<comments>http://hackaday.com/2009/03/31/through-hole-bus-pirate-kit-from-fundamental-logic/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 18:00:26 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[ftdi]]></category>
		<category><![CDATA[fundamental logic]]></category>
		<category><![CDATA[kit]]></category>
		<category><![CDATA[through hole]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=9952</guid>
		<description><![CDATA[
Fundamental Logic is selling a Bus Pirate kit and bare PCB based on our universal serial interface tool. They started with our serial port-based v1a hardware, and modified it to use all through-hole parts.  8pin DIP LP2951ACN/-3.3 switchable voltage regulators replace the surface mount TPS79650/33 that we used. The PIC is pre-programmed with our latest [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=9952&subd=hackadaycom&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-9953" title="bpv1ath" src="http://hackadaycom.files.wordpress.com/2009/03/bpv1ath.jpg?w=450&#038;h=239" alt="bpv1ath" width="450" height="239" /></p>
<p>Fundamental Logic is selling a <a href="http://store.fundamentallogic.com/ecom/index.php?main_page=product_info&amp;cPath=26&amp;products_id=474">Bus Pirate kit</a> and <a href="http://store.fundamentallogic.com/ecom/index.php?main_page=product_info&amp;cPath=26&amp;products_id=475">bare PCB</a> based on our universal serial interface tool. They started with our serial port-based <a href="http://www.buspirate.com">v1a hardware</a>, and modified it to use all through-hole parts.  8pin DIP <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=LP2951CN-ND">LP2951ACN</a>/<a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;name=LP2951CN-3.3-ND">-3.3</a> switchable voltage regulators replace the surface mount <a href="http://www.mouser.com/Search/ProductDetail.aspx?R=TPS79650DCQRvirtualkey59500000virtualkey595-TPS79650DCQR">TPS79650</a>/<a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMsGz1a6aV8DcPXeWoVS0Fnzr3zi8%252bAr99Q%3d">33</a> that we used. The PIC is pre-programmed with our latest <a href="http://code.google.com/p/the-bus-pirate/">firmware</a>, version 0f, which includes a bootloader for easy firmware updates through the serial port. Documentation includes illustrated <a href="http://spiffie.org/kits/buspirate/assemble.shtml">assembly instructions</a>.</p>
<p>Speaking of Bus Pirate goodness, we&#8217;re busy working on <a href="http://hackaday.com/2009/03/25/bounty-on-bus-pirate-features-get-a-free-v2-pcb/">hardware V2</a>. As astute readers may have <a href="http://hackaday.com/2009/03/25/bounty-on-bus-pirate-features-get-a-free-v2-pcb/#comment-68626">already noticed</a>, the final version of the Bus Pirate incorporates an FTDI USB-&gt;serial chip, and draws its power from the USB port. We also tackled the software-controlled pull-up resistor feature, and reduced the overall part count and cost. Best of all, we&#8217;re working to make assembled PCBs available with world-wide shipping. The how-to should be ready in a few weeks.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/9952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/9952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/9952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/9952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/9952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/9952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/9952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/9952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/9952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/9952/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&blog=4779443&post=9952&subd=hackadaycom&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/03/31/through-hole-bus-pirate-kit-from-fundamental-logic/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/bpv1ath.jpg" medium="image">
			<media:title type="html">bpv1ath</media:title>
		</media:content>
	</item>
	</channel>
</rss>