<?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; terminal</title>
	<atom:link href="http://hackaday.com/tag/terminal/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Sun, 12 Feb 2012 06:24:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hackaday.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Hack a Day &#187; terminal</title>
		<link>http://hackaday.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hackaday.com/osd.xml" title="Hack a Day" />
	<atom:link rel='hub' href='http://hackaday.com/?pushpress=hub'/>
		<item>
		<title>Android phone serves as Arduino terminal</title>
		<link>http://hackaday.com/2011/09/13/android-phone-serves-as-arduino-terminal/</link>
		<comments>http://hackaday.com/2011/09/13/android-phone-serves-as-arduino-terminal/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 20:01:30 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[android hacks]]></category>
		<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[adk]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[usb host shield]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=55602</guid>
		<description><![CDATA[Looking to use his Arduino when on-the-go, [Oleg] has been working on a way to use the Android ADK terminal emulator with the Arduino. The Android side uses ADK features along with a custom application. [Oleg] received help from his friend [Victor] when developing the program for Android (you can check out our own Android [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=55602&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-55603" title="use-android-device-as-arduino-terminal" src="http://hackadaycom.files.wordpress.com/2011/09/use-android-device-as-arduino-terminal-e1315923621735.jpg" alt="" width="470" height="353" /></p>
<p>Looking to use his Arduino when on-the-go, [Oleg] has been working on a way to <a href="http://www.circuitsathome.com/mcu/programming/android-adk-terminal-emulator-for-arduino">use the Android ADK terminal emulator with the Arduino</a>. The Android side uses ADK features along with a custom application. [Oleg] received help from his friend [Victor] when developing the program for Android (you can check out our own <a href="http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/">Android Development tutorials</a> if you&#8217;re interested in learning how this is done). The .apk file is available for download, but they&#8217;re waiting to release the source code until they can clean it up and get some of the gnarly bugs out of the beta version.</p>
<p>A USB host shield for the Arduino is needed to connect to an Android hand set. You&#8217;ll be able to send and receive strings via the terminal, with support for carriage return and life feed characters. Unfortunately this doesn&#8217;t allow you to change, compile, or write sketches to the Arduino. But it might come in very handy when trouble shooting a project when a computer is not around, or just for using an Android phone as an output.</p>
<br />Filed under: <a href='http://hackaday.com/category/android-hacks/'>android hacks</a>, <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/55602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/55602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/55602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/55602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/55602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/55602/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/55602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/55602/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=55602&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/09/13/android-phone-serves-as-arduino-terminal/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/09/use-android-device-as-arduino-terminal-e1315923621735.jpg" medium="image">
			<media:title type="html">use-android-device-as-arduino-terminal</media:title>
		</media:content>
	</item>
		<item>
		<title>Add a real life hardware terminal to that newfangled computer of yours</title>
		<link>http://hackaday.com/2011/08/11/add-a-real-life-hardware-terminal-to-that-newfangled-computer-of-yours/</link>
		<comments>http://hackaday.com/2011/08/11/add-a-real-life-hardware-terminal-to-that-newfangled-computer-of-yours/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 11:05:19 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[macs hacks]]></category>
		<category><![CDATA[getty]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[vt200]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=52140</guid>
		<description><![CDATA[If you find a crusty old IT guy and give him half a chance, he’ll probably regale you with stories of how things were done “in the old days” where no one had their own computer and everyone worked on mainframe-connected dumb terminals. [JSTN] yearned for a true to life terminal display that he could [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=52140&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-52141" title="vt200_serial_hardware_terminal_over_usb" src="http://hackadaycom.files.wordpress.com/2011/08/vt200_serial_hardware_terminal_over_usb.jpg" alt="vt200_serial_hardware_terminal_over_usb" width="470" height="313" /></p>
<p>If you find a crusty old IT guy and give him half a chance, he’ll probably regale you with stories of how things were done “in the old days” where no one had their own computer and everyone worked on mainframe-connected dumb terminals. <a href="http://jstn.cc/post/8692501831" target="_blank">[JSTN] yearned for a true to life terminal display</a> that he could attach to his 2010 Mac Pro, and since there’s no chance anybody is bringing one to market any time soon, he pieced one together on his own.</p>
<p>He dug up a digital VT220 terminal, and got to work trying to interface this office relic with his shiny new Mac. He found a few helpful tips from someone <a href="http://pdw.weinstein.org/2007/06/apple-hacking-for-fun-and-profit.html" target="_blank">who did the same thing with an Apple ][c</a>, though that solution relied on emulating a terminal - something he did not want to do.</p>
<p>He connected the VT220 to his computer using an off the shelf USB to serial adapter, but the software side of things still needed attention. A quick gettytab tweak later, he had his hardware terminal up and running without much trouble.</p>
<p>He says that he is more than happy to help anyone do the same, so let the mad eBay scramble for old terminals begin!</p>
<p>[via <a href="http://www.adafruit.com/blog/2011/08/10/vt220-serial-console-circa-1983-set-up-as-a-terminal-for-mac-pro-2010/" target="_blank">Adafruit blog</a>]</p>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>, <a href='http://hackaday.com/category/macs-hacks/'>macs hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/52140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/52140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/52140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/52140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/52140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/52140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/52140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/52140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=52140&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/08/11/add-a-real-life-hardware-terminal-to-that-newfangled-computer-of-yours/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mikenathanathackaday</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/08/vt200_serial_hardware_terminal_over_usb.jpg" medium="image">
			<media:title type="html">vt200_serial_hardware_terminal_over_usb</media:title>
		</media:content>
	</item>
		<item>
		<title>I am root! &#8211; IP camera shell access</title>
		<link>http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/</link>
		<comments>http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 12:07:00 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[linux hacks]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[ip camera]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[rosewill]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=44435</guid>
		<description><![CDATA[[Shawn] emailed us some pictures and a description of his latest hack. He cracked open a Rosewill RXS-3211 IP Camera because the output of the web interface made him certain that it was running Linux and he wanted to unlock some more potential from the device. These cameras are used for security, and offer a browser-based [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=44435&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-44437" title="ip-camera-shell-access" src="http://hackadaycom.files.wordpress.com/2011/06/ip-camera-shell-access.jpg" alt="" width="470" height="330" /></p>
<p>[Shawn] emailed us some pictures and a description of his latest hack. He cracked open a <a href="http://www.rosewill.com/products/1728/productDetail.htm">Rosewill RXS-3211 IP Camera</a> because the output of the web interface made him certain that it was running Linux and he wanted to unlock some more potential from the device. These cameras are used for security, and offer a browser-based interface via a WiFi connection. After studying the circuit board he started poking around an unpopulated set of four pads and managed to get a serial connection up and running. The device&#8217;s serial terminal operates at 115200 baud using eight data bits, one stop bit, and even parity.</p>
<p>He wonder where to go from here and we have a few ideas. You can see in the terminal readout above that it announces when motion is detected. We think this motion detection would be quite useful with a small rover while adding live video broadcasting at the same time. An embedded Linux system should be able to interface with the device and we think that a bit of creative coding would open up the WiFi connection for other use as well. Not bad for a module that can be had for as little as $29. We&#8217;ve included all the images [Shawn] sent us after the break and we&#8217;d love to hear your thoughts on what you&#8217;d use this for in the comments.</p>
<p><span id="more-44435"></span></p>

<a href='http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/ip-camera-shell-access/' title='ip-camera-shell-access'><img data-attachment-id='44437' data-orig-size='470,330' data-liked='0'width="128" height="89" src="http://hackadaycom.files.wordpress.com/2011/06/ip-camera-shell-access.jpg?w=128&#038;h=89" class="attachment-thumbnail" alt="ip-camera-shell-access" title="ip-camera-shell-access" /></a>
<a href='http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/242866_2116324354159_1427220026_32574683_8174018_o/' title='242866_2116324354159_1427220026_32574683_8174018_o'><img data-attachment-id='44438' data-orig-size='816,488' data-liked='0'width="128" height="76" src="http://hackadaycom.files.wordpress.com/2011/06/242866_2116324354159_1427220026_32574683_8174018_o.jpg?w=128&#038;h=76" class="attachment-thumbnail" alt="242866_2116324354159_1427220026_32574683_8174018_o" title="242866_2116324354159_1427220026_32574683_8174018_o" /></a>
<a href='http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/257437_2116325194180_1427220026_32574690_6546964_o/' title='257437_2116325194180_1427220026_32574690_6546964_o'><img data-attachment-id='44439' data-orig-size='816,488' data-liked='0'width="128" height="76" src="http://hackadaycom.files.wordpress.com/2011/06/257437_2116325194180_1427220026_32574690_6546964_o.jpg?w=128&#038;h=76" class="attachment-thumbnail" alt="257437_2116325194180_1427220026_32574690_6546964_o" title="257437_2116325194180_1427220026_32574690_6546964_o" /></a>
<a href='http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/259296_2116323914148_1427220026_32574682_5545474_o/' title='259296_2116323914148_1427220026_32574682_5545474_o'><img data-attachment-id='44440' data-orig-size='488,816' data-liked='0'width="57" height="96" src="http://hackadaycom.files.wordpress.com/2011/06/259296_2116323914148_1427220026_32574682_5545474_o.jpg?w=57&#038;h=96" class="attachment-thumbnail" alt="259296_2116323914148_1427220026_32574682_5545474_o" title="259296_2116323914148_1427220026_32574682_5545474_o" /></a>
<a href='http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/259549_2116324834171_1427220026_32574686_1097861_o/' title='259549_2116324834171_1427220026_32574686_1097861_o'><img data-attachment-id='44441' data-orig-size='816,488' data-liked='0'width="128" height="76" src="http://hackadaycom.files.wordpress.com/2011/06/259549_2116324834171_1427220026_32574686_1097861_o.jpg?w=128&#038;h=76" class="attachment-thumbnail" alt="259549_2116324834171_1427220026_32574686_1097861_o" title="259549_2116324834171_1427220026_32574686_1097861_o" /></a>

<br />Filed under: <a href='http://hackaday.com/category/linux-hacks/'>linux hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/44435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/44435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/44435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/44435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/44435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/44435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/44435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/44435/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=44435&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/06/03/i-am-root-ip-camera-shell-access/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/ip-camera-shell-access.jpg" medium="image">
			<media:title type="html">ip-camera-shell-access</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/ip-camera-shell-access.jpg?w=128" medium="image">
			<media:title type="html">ip-camera-shell-access</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/242866_2116324354159_1427220026_32574683_8174018_o.jpg?w=128" medium="image">
			<media:title type="html">242866_2116324354159_1427220026_32574683_8174018_o</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/257437_2116325194180_1427220026_32574690_6546964_o.jpg?w=128" medium="image">
			<media:title type="html">257437_2116325194180_1427220026_32574690_6546964_o</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/259296_2116323914148_1427220026_32574682_5545474_o.jpg?w=57" medium="image">
			<media:title type="html">259296_2116323914148_1427220026_32574682_5545474_o</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/259549_2116324834171_1427220026_32574686_1097861_o.jpg?w=128" medium="image">
			<media:title type="html">259549_2116324834171_1427220026_32574686_1097861_o</media:title>
		</media:content>
	</item>
		<item>
		<title>Kindle terminal with secret key-press activation</title>
		<link>http://hackaday.com/2010/12/10/kindle-terminal-with-secret-key-press-activation/</link>
		<comments>http://hackaday.com/2010/12/10/kindle-terminal-with-secret-key-press-activation/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 21:00:50 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[handhelds hacks]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=31583</guid>
		<description><![CDATA[[Luigi Rizzo] has been working on some hacks for his 3rd generation Kindle. There is already a Python based terminal emulator called AjaxTerm but he wanted a lightweight standalone so he reimplemented the program in C. The 100k binary monitors the keyboard, launching the terminal emulator when it detects a Shift-T sequence. It also uses [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=31583&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-31584" title="kindle-3-terminal" src="http://hackadaycom.files.wordpress.com/2010/12/kindle-3-terminal.jpg" alt="" width="470" height="353" /></p>
<p>[Luigi Rizzo] has been working on some hacks for his 3rd generation Kindle. There is already a Python based terminal emulator called AjaxTerm but he wanted a lightweight standalone so <a href="http://info.iet.unipi.it/~luigi/kindle/">he reimplemented the program in C</a>. The 100k binary monitors the keyboard, launching the terminal emulator when it detects a Shift-T sequence. It also uses alternative key mapping to fill in for some of the keys the Kindle&#8217;s keyboard is missing.</p>
<p>We haven&#8217;t seen a whole lot of Kindle hacking since it was <a href="http://hackaday.com/2009/09/03/ubuntu-9-04-on-kindle-2/">hacked to run Ubuntu</a>. Seems like this terminal emulator is a useful and unobtrusive hack to try out on the beloved reader.</p>
<br />Filed under: <a href='http://hackaday.com/category/handhelds-hacks/'>handhelds hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/31583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/31583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/31583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/31583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/31583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/31583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/31583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/31583/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=31583&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/12/10/kindle-terminal-with-secret-key-press-activation/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/12/kindle-3-terminal.jpg" medium="image">
			<media:title type="html">kindle-3-terminal</media:title>
		</media:content>
	</item>
		<item>
		<title>Communicating with an LED matrix</title>
		<link>http://hackaday.com/2010/11/19/communicating-with-an-led-matrix/</link>
		<comments>http://hackaday.com/2010/11/19/communicating-with-an-led-matrix/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 20:00:37 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[led hacks]]></category>
		<category><![CDATA[conways game of life]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[sure electronics]]></category>
		<category><![CDATA[Teensy]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=30940</guid>
		<description><![CDATA[Most of the LED matrix posts we run delve into the hardware design. This time around [J Bremnant] used prefab modules and focused on writing code to address the display. The hardware combines two 24&#215;16 LED boards from Sure Electronics with a Teensy 2.0 to drive the display and provide a USB connection. The firmware [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30940&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-30941" title="led-matrix-addressing-protocol" src="http://hackadaycom.files.wordpress.com/2010/11/led-matrix-addressing-protocol-e1290187800541.jpg" alt="" width="470" height="263" /></p>
<p>Most of the LED matrix posts we run delve into the hardware design. This time around [J Bremnant] used prefab modules and <a href="http://jbremnant.wordpress.com/2010/11/19/led-matrix-canvas/">focused on writing code to address the display</a>. The hardware combines two 24&#215;16 LED boards from Sure Electronics with a Teensy 2.0 to drive the display and provide a USB connection. The firmware comes in just under 8k, leaving graphic manipulation up to a PC.</p>
<p>[J Bremnant's] Python script offers a lot of flexibility when working with the display. There are three modes selectable through a terminal interface. One just tests the display and then drops into <a href="http://hackaday.com/2010/08/18/needs-more-leds-emsl-biggified-conways-game-of-life/">Conway&#8217;s Game of Life</a>. The second mode lets you send commands via serial interface so it can be used as a message ticker. The final feature is frame addressing that allows graphics to be dropped into the display. See each of these featured in the video after the break.</p>
<p><span id="more-30940"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2010/11/19/communicating-with-an-led-matrix/"><img src="http://img.youtube.com/vi/Yuv5SUVp5ik/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/led-hacks/'>led hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/30940/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/30940/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/30940/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/30940/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/30940/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/30940/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/30940/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/30940/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30940&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/11/19/communicating-with-an-led-matrix/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/11/led-matrix-addressing-protocol-e1290187800541.jpg" medium="image">
			<media:title type="html">led-matrix-addressing-protocol</media:title>
		</media:content>
	</item>
		<item>
		<title>Playing hacker with a toy vault</title>
		<link>http://hackaday.com/2010/11/15/playing-hacker-with-a-toy-vault/</link>
		<comments>http://hackaday.com/2010/11/15/playing-hacker-with-a-toy-vault/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 22:00:37 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[toy hacks]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[atmega328]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[keypad]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[toy]]></category>
		<category><![CDATA[vault]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=30768</guid>
		<description><![CDATA[[Thomas Cannon] created his own hacking game by adding some circuitry to this toy vault. The original toy uses the keypad to control a solenoid keeping the door shut. He kept the mechanical setup, but replaced the original circuit board with his own ATmega328 based internals. He also added a USB port to the front. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30768&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-30769" title="playing-hacker-with-toy-vault" src="http://hackadaycom.files.wordpress.com/2010/11/playing-hacker-with-toy-vault.jpg" alt="" width="468" height="307" /></p>
<p>[Thomas Cannon] <a href="http://thomascannon.net/projects/hacking-challenge/">created his own hacking game</a> by adding some circuitry to this toy vault. The original toy uses the keypad to control a solenoid keeping the door shut. He kept the mechanical setup, but replaced the original circuit board with his own ATmega328 based internals. He also added a USB port to the front. The gist of the game is that you plug-in through USB to gain access to the vault&#8217;s terminal software. If you can make your way through the various levels of admin access the loot inside will be yours.</p>
<br />Filed under: <a href='http://hackaday.com/category/toy-hacks/'>toy hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/30768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/30768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/30768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/30768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/30768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/30768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/30768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/30768/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30768&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/11/15/playing-hacker-with-a-toy-vault/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/11/playing-hacker-with-toy-vault.jpg" medium="image">
			<media:title type="html">playing-hacker-with-toy-vault</media:title>
		</media:content>
	</item>
		<item>
		<title>Reuse that PDA as a WRT terminal</title>
		<link>http://hackaday.com/2010/05/07/reuse-that-pda-as-a-wrt-terminal/</link>
		<comments>http://hackaday.com/2010/05/07/reuse-that-pda-as-a-wrt-terminal/#comments</comments>
		<pubDate>Fri, 07 May 2010 19:56:29 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[iiic]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=23877</guid>
		<description><![CDATA[[Michu] used his old Palm IIIc to make a serial interface for his OpenWRT router. It&#8217;s a matter of cracking open both the router and the Palm device, then connecting the TTL lines from the router to the MAX 3386e level converter chip inside the Palm. From there, Pocketterm can connect to the router&#8217;s serial [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=23877&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-23878" title="palm-serial-console" src="http://hackadaycom.files.wordpress.com/2010/05/palm-serial-console-e1273260175120.jpg" alt="" width="470" height="342" /></p>
<p>[Michu] used his old <a href="http://www.neophob.com/serendipity/index.php?url=archives/121-Reuse-your-old-Palm-as-Serial-Console.html">Palm IIIc to make a serial interface</a> for his OpenWRT router. It&#8217;s a matter of cracking open both the router and the Palm device, then connecting the TTL lines from the router to the MAX 3386e level converter chip inside the Palm. From there, Pocketterm can connect to the router&#8217;s serial terminal.</p>
<p><a href="http://answers.hackaday.com/cellphone-hacks/what-would-you-do-with-a-fully-functional-ppc-6700-http-wwwmobiletechreviewcom-sprint-ppc-6700htm">A lot of us have old electronics lying around</a> that work perfectly well. It&#8217;s nice to find hacks that make them useful again.</p>
<p>[Thanks Isama]</p>
<br />Filed under: <a href='http://hackaday.com/category/peripherals-hacks/'>peripherals hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/23877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/23877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/23877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/23877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/23877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/23877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/23877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/23877/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=23877&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/05/07/reuse-that-pda-as-a-wrt-terminal/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/05/palm-serial-console-e1273260175120.jpg" medium="image">
			<media:title type="html">palm-serial-console</media:title>
		</media:content>
	</item>
		<item>
		<title>Update: 50MHz to 100Mhz scope conversion</title>
		<link>http://hackaday.com/2010/03/31/update-50mhz-to-100mhz-scope-conversion/</link>
		<comments>http://hackaday.com/2010/03/31/update-50mhz-to-100mhz-scope-conversion/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 19:12:28 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[oscilloscope]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=22872</guid>
		<description><![CDATA[Changing this 50MHz Rigol oscilloscope into its larger, more expensive brother just became quite a bit easier. When we originally looked at this hack it required pulling some capacitors off of the board. Now all it takes is three commands over a serial terminal connection. Take a look at the walk through video after the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=22872&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-22873" title="rigol-oscilloscope-hack-part-2" src="http://hackadaycom.files.wordpress.com/2010/03/rigol-oscilloscope-hack-part-2.jpg" alt="" width="470" height="262" /></p>
<p>Changing this 50MHz Rigol oscilloscope into its larger, more expensive brother <a href="http://www.eevblog.com/2010/03/31/eevblog-70-turn-your-rigol-ds1052e-oscilloscope-into-a-100mhz-ds1102e/">just became quite a bit easier</a>. When <a href="http://hackaday.com/2010/03/10/50mhz-to-100mhz-scope-conversion/">we originally looked at this hack</a> it required pulling some capacitors off of the board. Now all it takes is three commands over a serial terminal connection.</p>
<p>Take a look at the walk through video after the break. You&#8217;ll see that there&#8217;s one chip that needs to be setup differently to change the functionality. Removing capacitors was actually changing the commands sent to initialize that chip at power-up. Now you can just change the model number and one letter of the serial number via a terminal and the firmware will recognize this as the more expensive DS1102E.</p>
<p><span id="more-22872"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2010/03/31/update-50mhz-to-100mhz-scope-conversion/"><img src="http://img.youtube.com/vi/LnhXfVYWYXE/2.jpg" alt="" /></a></span></p>
<p>[Thanks Nullkraft]</p>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>, <a href='http://hackaday.com/category/tool-hacks/'>tool hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/22872/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/22872/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/22872/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/22872/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/22872/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/22872/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/22872/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/22872/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=22872&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/03/31/update-50mhz-to-100mhz-scope-conversion/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/03/rigol-oscilloscope-hack-part-2.jpg" medium="image">
			<media:title type="html">rigol-oscilloscope-hack-part-2</media:title>
		</media:content>
	</item>
		<item>
		<title>Oscilloscope doubles as a serial terminal</title>
		<link>http://hackaday.com/2010/02/24/oscilloscope-doubles-as-a-serial-terminal/</link>
		<comments>http://hackaday.com/2010/02/24/oscilloscope-doubles-as-a-serial-terminal/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 12:10:54 +0000</pubDate>
		<dc:creator>Phil Burgess</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[atmega]]></category>
		<category><![CDATA[attiny]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[oscilloscope]]></category>
		<category><![CDATA[oscope]]></category>
		<category><![CDATA[raster]]></category>
		<category><![CDATA[scope]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[vector]]></category>
		<category><![CDATA[vt-100]]></category>
		<category><![CDATA[vt100]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=21946</guid>
		<description><![CDATA[PC-based USB oscilloscopes are fast becoming all the rage. [Matt Sarnoff’s] Terminalscope takes the reverse approach, adapting an oscilloscope into a full serial terminal. You may have seen something similar before in the Dutchtronix/SparkFun O-Clock, but [Matt’s] project goes one further by adding a PS/2 keyboard port for full bidirectional serial communication, and with much sharper display resolution to boot. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=21946&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-21948" title="Terminalscope" src="http://hackadaycom.files.wordpress.com/2010/02/terminalscope.jpg" alt="" width="470" height="340" /></p>
<p>PC-based USB oscilloscopes are fast becoming all the rage. [Matt Sarnoff’s] <em>Terminalscope</em> takes the reverse approach, <a href="http://www.msarnoff.org/projects/terminalscope/">adapting an oscilloscope into a full serial terminal</a>. You may have seen something similar before in the Dutchtronix/SparkFun <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9306">O-Clock</a>, but [Matt’s] project goes one further by adding a <a href="http://hackaday.com/2009/09/29/connect-a-ps2-keyboard-to-a-microcontroller/">PS/2 keyboard</a> port for full bidirectional <a href="http://hackaday.com/2010/02/23/serial-communication-with-cell-phones/">serial</a> communication, and with much sharper display resolution to boot.</p>
<p>The mostly VT-100 compatible Terminalscope is built around two <a href="http://hackaday.com/2010/02/10/the-day-after-arduino/">AVR</a> microcontrollers: an <a href="http://hackaday.com/2010/02/16/the-mini-markade/">ATmega328P</a> runs full-tilt to generate the video signal and handle serial I/O, while an <a href="http://hackaday.com/2008/04/01/random-usb-caps-locker/">ATtiny45</a> handles keyboard input to avoid interrupting the ’328’s duties. Rather than vector trace each character, a raster-scanning approach is used: the beam follows a fixed X/Y path (like a television), while modulating the Z input (beam intensity) to form an image. The device can be connected to a PC via serial port or <a href="http://hackaday.com/2009/09/22/introduction-to-ftdi-bitbang-mode/">USB-to-TTY adapter</a>, or directly to another microcontroller to debug serial output.</p>
<p>We recently showed an oscilloscope being used as a <a href="http://hackaday.com/2010/02/11/use-an-analog-oscilloscope-to-display-digital-logic/">multichannel digital logic display</a>. The Terminalscope provides <a href="http://hackaday.com/2008/07/16/tennis-for-two-resurrected/">yet another use</a> for this essential bench tool and could nicely round out a “poor man’s” testing setup. The schematic and full source code are available for download.</p>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>, <a href='http://hackaday.com/category/hardware/'>hardware</a>, <a href='http://hackaday.com/category/peripherals-hacks/'>peripherals hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/21946/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/21946/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/21946/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/21946/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/21946/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/21946/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/21946/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/21946/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=21946&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/02/24/oscilloscope-doubles-as-a-serial-terminal/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">philburgess</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/02/terminalscope.jpg" medium="image">
			<media:title type="html">Terminalscope</media:title>
		</media:content>
	</item>
		<item>
		<title>Update: more pink wireless-terminal hacking</title>
		<link>http://hackaday.com/2010/01/06/update-more-pink-wireless-terminal-hacking/</link>
		<comments>http://hackaday.com/2010/01/06/update-more-pink-wireless-terminal-hacking/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 16:00:27 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[handhelds hacks]]></category>
		<category><![CDATA[wireless hacks]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[im-me]]></category>
		<category><![CDATA[pink]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=20306</guid>
		<description><![CDATA[[Dave] poked around inside of an IM-ME wireless toy and compiled his findings. He read about the device when we covered it in November and picked up a couple to see what he could do. He patched into the debug port in the CC1110 processor and enabled it by performing a chip erase. He then [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=20306&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-20307" title="pink-wireless-update" src="http://hackadaycom.files.wordpress.com/2010/01/pink-wireless-update.jpg" alt="" width="470" height="353" /></p>
<p>[Dave] poked around inside of an IM-ME wireless toy and <a href="http://daveshacks.blogspot.com/2010/01/im-me-hacking.html">compiled his findings</a>. He read about the device when <a href="http://hackaday.com/2009/11/30/pink-wireless-terminal-of-wonder/">we covered it in November</a> and picked up a couple to see what he could do. He patched into the debug port in the CC1110 processor and enabled it by performing a chip erase. He then began mapping out how the processor connects and communicates with the qwerty keyboard, the wireless radio, and the LCD screen. The board is full of test points which make the hardware easy to access. [Dave's] experiments show that this hackable device is full of potential so let&#8217;s see what you can do!</p>
<br />Posted in handhelds hacks, wireless hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/20306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/20306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/20306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/20306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/20306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/20306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/20306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/20306/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=20306&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/01/06/update-more-pink-wireless-terminal-hacking/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/01/pink-wireless-update.jpg" medium="image">
			<media:title type="html">pink-wireless-update</media:title>
		</media:content>
	</item>
		<item>
		<title>Pink wireless-terminal of wonder</title>
		<link>http://hackaday.com/2009/11/30/pink-wireless-terminal-of-wonder/</link>
		<comments>http://hackaday.com/2009/11/30/pink-wireless-terminal-of-wonder/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 20:27:59 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[handhelds hacks]]></category>
		<category><![CDATA[wireless hacks]]></category>
		<category><![CDATA[hunter davis]]></category>
		<category><![CDATA[im-me]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=18867</guid>
		<description><![CDATA[[Hunter Davis] is at it again, this time hacking the pink IM-ME to use as a wireless terminal. It sells for between $12-16 and he ordered it to get free shipping with another purchase. The wireless antenna registered as an HID device when he plugged it into his Linux box. He then sat down for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=18867&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-18868" title="pink-wireless-terminal" src="http://hackadaycom.files.wordpress.com/2009/11/pink-wireless-terminal.jpg" alt="" width="470" height="338" /></p>
<p>[Hunter Davis] is at it again, this time hacking the pink <a href="http://hunterdavis.com/archives/333">IM-ME to use as a wireless terminal</a>. It sells for between $12-16 and he ordered it to get free shipping with another purchase. The wireless antenna registered as an HID device when he plugged it into his Linux box. He then sat down for a long USB sniffing session only to be surprised by the lack of any type of security. Everything transferred to the device is just plain text in hexidecimal. Because of possible DMCA issues he hasn&#8217;t posted a driver but does explain most of the process to write your own.</p>
<p>[Hunter] has given us a lot of <a href="http://hackaday.com/2009/09/25/with-zipit-who-needs-a-netbook/">handheld hacks</a>. This device is meant as a remote terminal for instant messaging. We&#8217;re sure you can think up a lot better uses so let us know in the comments and don&#8217;t forget to <a href="http://hackaday.com/contact-hack-a-day/">send in</a> any projects you come up with.</p>
<p>[Thanks Paul]</p>
<br />Posted in handhelds hacks, wireless hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/18867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/18867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/18867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/18867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/18867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/18867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/18867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/18867/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=18867&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/11/30/pink-wireless-terminal-of-wonder/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/11/pink-wireless-terminal.jpg" medium="image">
			<media:title type="html">pink-wireless-terminal</media:title>
		</media:content>
	</item>
		<item>
		<title>Propeller-based Terminal</title>
		<link>http://hackaday.com/2009/07/25/propeller-based-terminal/</link>
		<comments>http://hackaday.com/2009/07/25/propeller-based-terminal/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 22:00:30 +0000</pubDate>
		<dc:creator>Zach Banks</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[briel]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[kits]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[parallax]]></category>
		<category><![CDATA[propeller]]></category>
		<category><![CDATA[ps2]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[term]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[vga]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12961</guid>
		<description><![CDATA[[Vince Briel] has created an embedded device based on the Parallax Propeller chip that acts as a serial terminal. It takes input from a standard PS/2 keyboard and outputs color VGA. It also has a second serial port to connect to a PC for debugging or programming. He is selling kits and has the schematics [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=12961&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-12962" title="pocketerm" src="http://hackadaycom.files.wordpress.com/2009/07/pocketerm.png" alt="pocketerm" /></p>
<p>[Vince Briel] has created an embedded device based on the <a href="http://www.parallax.com/tabid/407/Default.aspx">Parallax Propeller chip</a> that acts as a serial terminal. It takes input from a standard PS/2 keyboard and outputs color VGA. It also has a second serial port to connect to a PC for debugging or programming. He is selling kits and has the schematics available. The board has a lot of hacking potential and it could easily be made into a video game or a <a href="http://hackaday.com/2009/05/02/wikibrowser/">Wikipedia browser</a>.</p>
<p>[via <a href="http://www.retrothing.com/2009/07/the-briel-pocketerm.html">RetroThing</a>]</p>
<br />Posted in misc hacks, peripherals hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/12961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/12961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12961/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=12961&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/25/propeller-based-terminal/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">zbanks</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/pocketerm.png" medium="image">
			<media:title type="html">pocketerm</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: The Bus Pirate, universal serial interface</title>
		<link>http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/</link>
		<comments>http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 22:17:57 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugging tools]]></category>
		<category><![CDATA[eeprom reader]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[hacking tools]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[ic interface]]></category>
		<category><![CDATA[serial port]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[uart]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=5882</guid>
		<description><![CDATA[UPDATE: New firmware with JTAG and more We&#8217;re always excited to get a new chip or SIM card to interface, but our enthusiasm is often dampened by the prototyping process. Interfacing any chip usually means breadboarding a circuit, writing code, and hauling out the programmer; maybe even a prototyping PCB. A few years ago we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=5882&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-5904" title="i2ceeprom" src="http://hackadaycom.files.wordpress.com/2008/11/i2ceeprom.jpg" alt="i2ceeprom" width="450" height="308" /></p>
<p><strong>UPDATE:</strong> <a href="http://hackaday.com/2008/12/01/bus-pirate-firmware-update-v0c-jtag-and-more/">New firmware with JTAG and more</a></p>
<p>We&#8217;re always excited to get a new chip or SIM card to interface, but our enthusiasm is often dampened by the prototyping process. Interfacing any chip usually means breadboarding a circuit, writing code, and hauling out the programmer; maybe even a prototyping PCB.</p>
<p>A few years ago we built the first &#8216;Bus Pirate&#8217;, a universal bus interface that talks to most chips from a PC serial terminal. Several standard serial protocols are supported at 3.3-5volts, including <a href="http://en.wikipedia.org/wiki/I%C2%B2C">I2C</a>, <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">SPI</a>, and <a href="http://en.wikipedia.org/wiki/Asynchronous_start-stop">asynchronous serial</a>. Additional &#8216;raw&#8217; 2- and 3- wire libraries can interface almost any proprietary serial protocols. Since this has been such a useful tool for us, we cleaned up the code, documented the design, and released it here with specs, schematic, and source code.</p>
<p><span id="more-5882"></span></p>
<p><strong>Concept Overview</strong></p>
<p><strong><img class="alignnone size-full wp-image-6028" title="overview-diagram-new" src="http://hackadaycom.files.wordpress.com/2008/11/overview-diagram-new.png" alt="overview-diagram-new" width="450" height="161" /><br />
</strong></p>
<p><strong><br />
</strong></p>
<p>The Bus Pirate is a serial terminal bridge to multiple IC interface protocols. We type commands into a serial terminal on the computer. The commands go to the Bus Pirate through the PC serial port. The Bus Pirate talks to a microchip in the proper protocol, and returns the results to the PC.</p>
<p>All pins output 3.3volts, but are 5volt tolerant. On-board 3.3volt and 5volt power supplies are available to power the connected chip. Software configurable I2C <a href="http://en.wikipedia.org/wiki/Pull-up_resistor">pull-up resistors</a> complete the package.</p>
<p><img class="alignnone size-full wp-image-5893" title="terminal-450" src="http://hackadaycom.files.wordpress.com/2008/11/terminal-450.png" alt="terminal-450" width="401" height="251" /></p>
<p>The serial terminal interface works with any system: PC, Mac, Linux, Palm Pilots, WinCE devices, etc; no crapware required. We considered a USB device, but USB isn&#8217;t compatible with the huge number of hand-held devices that have a serial port. We also wanted a 3.3volt device with 5volt tolerant inputs, but most popular through-hole USB microcontollers were 5volt parts (e.g. the <a href="http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=111&amp;mid=10&amp;lang=en&amp;pageId=74">PIC18Fx550</a>).</p>
<p>The Bus Pirate currently &#8216;speaks&#8217; three hardware protocols for high-speed interfacing, and has two software protocol libraries for easy bus manipulation. The theory and specification of each protocol is beyond what we can cover here, but check out some of these tutorials:</p>
<p><em>I2C</em></p>
<p>A slow 2 wire bus. Wikipedia is a great place to start for <a href="http://en.wikipedia.org/wiki/I%C2%B2C">I2C background</a>. <a href="http://www.i2c-bus.org/">I2C-Bus.org</a>, <a href="http://www.robot-electronics.co.uk/htm/using_the_i2c_bus.htm">Robot Electronics</a>, <a href="http://www.esacademy.com/faq/i2c/">Embedded Systems Academy</a>, and <a href="http://www.embedded.com/story/OEG20010718S0073">Embedded.com</a> have decent I2C tutorials.</p>
<p><em>SPI</em></p>
<p>A simple 3 wire bus. Wikipedia has <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">background</a>; Embedded.com has a great <a href="http://www.embedded.com/columns/beginerscorner/9900483">tutorial and comparison to I2C</a>.</p>
<p><em>Universal Asynchronous Receiver Transmitter (UART or serial)</em></p>
<p>A clock and timing dependent serial protocol best known for its appearance as the PC serial port protocol. Wikipedia has background on <a href="http://en.wikipedia.org/wiki/Asynchronous_start-stop">asynchronous serial protocols</a>.</p>
<p><em>Raw 2 wire</em></p>
<p>This is a generic 2 wire protocol library, similar to I2C but without an ACK bit. I2C and many proprietary 2 wire protocols can be formed using the bus manipulations available in this mode. Use this library to work with non-I2C 2 wire devices, like <a href="http://www.smartcardsupply.com/Content/Cards/SLE4442.htm">smartcards</a> or <a href="http://www.sensirion.com/en/01_humidity_sensors/02_humidity_sensor_sht11.htm">Sensirion SHT11</a> temperature/humidity sensors.</p>
<p><em>Raw 3 wire</em></p>
<p>This is a generic 3 wire protocol library, similar to SPI but without the constraints of a hardware module. Use this library to work with devices that use non-8bit compatible 3-wire protocols, like the <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=569">Sparkfun Nokia 6100 LCD knock-off</a>. Many 3 wire protocols can be formed using the bus manipulations available in this mode.</p>
<p><strong>Hardware</strong></p>
<p><img class="alignnone size-full wp-image-5897" title="brd-450" src="http://hackadaycom.files.wordpress.com/2008/11/brd-450.png" alt="brd-450" width="451" height="325" /></p>
<p><a href="http://hackadaycom.files.wordpress.com/2008/11/brd.png">Click for a full size PCB placement image</a> (PNG). Screw terminals connect to the power supplies. A row of seven pin headers connect to the IO pins. Despite the label, only 7volts DC is required.</p>
<table style="text-align:left;" border="0">
<tbody>
<tr>
<td>
<div><strong>PIN</strong></div>
</td>
<td>
<div><strong>SPI</strong></div>
</td>
<td>
<div><strong>I2C</strong></div>
</td>
<td>
<div><strong>RS232</strong></div>
</td>
</tr>
<tr>
<td>
<div><strong>B9</strong></div>
</td>
<td>
<div>MOSI</div>
</td>
<td>
<div>SDA</div>
</td>
<td>
<div>-</div>
</td>
</tr>
<tr>
<td>
<div><strong>B8</strong></div>
</td>
<td>
<div>CLK</div>
</td>
<td>
<div>SCL</div>
</td>
<td>
<div>-</div>
</td>
</tr>
<tr>
<td>
<div><strong>B7</strong></div>
</td>
<td>
<div>MISO</div>
</td>
<td>
<div>-</div>
</td>
<td>
<div>RX</div>
</td>
</tr>
<tr>
<td>
<div><strong>B6</strong></div>
</td>
<td>
<div>CS</div>
</td>
<td>
<div>-</div>
</td>
<td>
<div>TX</div>
</td>
</tr>
<tr>
<td>
<div><strong>B5</strong></div>
</td>
<td>
<div>AUX</div>
</td>
<td>
<div>AUX</div>
</td>
<td>
<div>AUX</div>
</td>
</tr>
<tr>
<td>
<div><strong>Ground</strong></div>
</td>
<td>
<div>GND</div>
</td>
<td>
<div>GND</div>
</td>
<td>
<div>GND</div>
</td>
</tr>
</tbody>
</table>
<p>This table shows the pin connections for each bus mode. Raw 2 wire mode uses the same pin configuration as I2C. Raw 3 wire mode uses the same pin configuration as SPI.</p>
<p><img class="alignnone size-full wp-image-5899" title="cct-450" src="http://hackadaycom.files.wordpress.com/2008/11/cct-450.png" alt="cct-450" width="450" height="191" /></p>
<p><a href="http://hackadaycom.files.wordpress.com/2008/11/cct.png">Click for a full size circuit image</a> (PNG). The circuit and PCB are designed using the freeware version of <a href="http://www.cadsoft.de">Cadsoft Eagle</a>. Download the <a href="http://blog.mahalo.com/hackaday/howto/buspirate.v0b.zip">project archive</a> (ZIP).</p>
<p><em>PIC 24FJ64GA002</em></p>
<p>We used a <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026374">PIC24FJ64GA002</a> microcontroller in the Bus Pirate; this is the same chip we used in our <a href="http://hackaday.com/2008/09/25/web-server-on-a-business-card-part-2/">mini-server project</a>. It&#8217;s fast enough to do everything we want (16MIPS), and the peripheral pin select feature allows the hardware SPI, UART, and I2C modules to share output pins. Each power pin needs a decoupling capacitor(C12,13), and the MCLR function requires a resistor (R7) between pin 1 and 3.3volts. The PIC has an internal voltage regulator that requires a 10uF tantalum capacitor (C3), though we used a plain electrolytic capacitor without issue. Read about programming and working with this chip in our <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">PIC24F tutorial</a>. If you don&#8217;t have a PIC debugger, several readers recommend the under-$40 ICD2 clones on eBay.</p>
<p>The PIC runs at 3.3volts, but the digital-only pins are 5volt tolerant for interfacing 5volt logic. Pins 14,15,16,17,18,21, and 22, are digital only, which we determined by looking through the datasheet and eliminating any pins with an analog connection type (table 1-2, pages 11-16). According to the datasheet, I2C pins are also 5volt tolerant. There&#8217;s a bunch of conflicting information on the web, but datasheet page 230, parameter DI28, clearly states that the max input for a 24FJ64GA002 I2C pin without analog circuitry is 5.5volts.</p>
<p>Pins 21 and 22 (RB10/11) can pull-up SDA/SCL through resistors R4 and R5.</p>
<p><em>MAX3223CPP</em></p>
<p>This chip converts 3.3volt serial output to +/-10volt RS232 signals compatible with a PC serial port. The MAX3223CPP is a 3-5volt version of the MAX202, with extra power saving features. MAX RS232 transceivers require four 0.1uF capacitors for a charge pump (C4,5,7,8), and one decoupling capacitor (C17). We used the same capacitors for everything.</p>
<p>We used a MAX3223CPP, which doesn&#8217;t seem to be available anymore. <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=MAX3223EEPP%2B-ND">MAX3223EEPP+</a> is a pin-compatible newer version, available at Digikey for $7. Ouch! None of the 3223&#8242;s power saving features are used, so a cheaper, simpler 3.3volt RS232 transceiver should be substituted if at all possible.</p>
<p><em>Power supplies</em></p>
<p>Most chips can be powered from the Bus Pirate&#8217;s on-board 3.3volt and 5volt supplies. 5volts is supplied by a common 7805 regulator (VR2) and two decoupling capacitors (C9,10). An LM317 adjustable regulator (VR1) is set to 3.3volts using two resistors (R2,3), and requires two decoupling capacitors (C6,7). The circuit requires a 7-10volt DC supply (J1).</p>
<p><em>Part list</em></p>
<table style="text-align:left;" border="0">
<tbody>
<tr>
<td><strong>Part </strong></td>
<td><strong>Value</strong></td>
</tr>
<tr>
<td>IC1</td>
<td><a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=PIC24FJ64GA002-I/SP-ND">PIC24FJ64GA002-DIP</a></td>
</tr>
<tr>
<td>IC2</td>
<td>MAX3223CPP (try <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=MAX3223EEPP%2B-ND">MAX3223EEPP+</a>)</td>
</tr>
<tr>
<td>C3</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=M%252b5JCWh%252b1ty3RFguvdcdsg%3d%3d">10uF capacitor</a> (preferably tantalum)</td>
</tr>
<tr>
<td>C4-13,17</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=9AX3phJxokWIpR5WRGtIJw%3d%3d">0.1uF capacitors</a></td>
</tr>
<tr>
<td>R1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=ULgY8XwKjTmmv2gtdH4CoQ%3d%3d">330 ohm resistor</a></td>
</tr>
<tr>
<td>R2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=4eNa8160l8VHA9lUHkRdvw%3d%3d">240 ohm resistor</a></td>
</tr>
<tr>
<td>R3</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=X3IDIfI%252bJAVuAq1Yim8fmg%3d%3d">390 ohm resistor</a></td>
</tr>
<tr>
<td>R4,5,7</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=8tsW7z%2fc78pkoLNVKn1xoQ%3d%3d">2K2  ohm resistor</a></td>
</tr>
<tr>
<td>VR1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=swDD%252bF%252bps7c8uLyY%252b3mJJw%3d%3d">LM317</a></td>
</tr>
<tr>
<td>VR2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=cnIeywgme7bzmZ37%2fiFT9w%3d%3d">LM7805</a></td>
</tr>
<tr>
<td>X1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=wjes1ZhMGKfGv3iS94oZ%252bQ%3d%3d">Screw clamp (3 terminals)</a> *untested</td>
</tr>
<tr>
<td>X2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=nAEW9fCjKd%2fyLNwP2ItddQ%3d%3d">DB9 Female connector (serial port)</a> *untested</td>
</tr>
<tr>
<td>ICSP,SV3</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=4-103329-0virtualkey57100000virtualkey571-41033290">.1&#8243; pin header, right angle</a></td>
</tr>
<tr>
<td>J1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=8xMK%252bwDsXhcfMNb%2fYnnwLQ%3d%3d">Power jack, 2.1mm pin</a></td>
</tr>
<tr>
<td>LED1</td>
<td>3mm LED (optional)</td>
</tr>
</tbody>
</table>
<p><strong>Firmware</strong></p>
<p>The firmware is written in C using the free demonstration version of the <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en010065">PIC C30 compiler</a>. Learn all about working with this PIC in our <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">introduction to the PIC 24F series</a>. Download the <a href="http://blog.mahalo.com/hackaday/howto/buspirate.v0b.zip">project archive</a> (ZIP).</p>
<p>main.c &#8211; Handles the user terminal interface.</p>
<p>busPirate.c &#8211; Abstraction routines that convert syntax to actions on the proper bus.</p>
<p>uartIO.c &#8211; IO routines for both hardware UARTs.</p>
<p>m_i2c_1.c &#8211; Software I2C routines by [<a href="http://www.microchipc.com/sourcecode/#i2c">Michael Pearce</a>]. We couldn&#8217;t get the PIC hardware I2C to work, so we used this helpful library. The software doesn&#8217;t take into account the I2C speed setting, and seems to work at about 5KHz.</p>
<p>SPI.c &#8211; Routines that drive the hardware SPI module.</p>
<p>raw2wire.c &#8211; Software 2-wire interface library.</p>
<p>raw3wire.c &#8211; Software 3-wire (SPI) interface library.</p>
<p>User input is held in a 4000 byte buffer until a newline character (enter) is detected. If the first character of the input is a menu option (see below), the menu dialog is shown, otherwise the string is parsed for data to send over the bus (see syntax). The code consists of an embarrassing number of switch statements and spaghetti code.</p>
<p><strong>Terminal interface</strong></p>
<p>Rather than write a junk piece of software to control the device, we gave it a serial command line interface that will work with any ASCII terminal.  The bus pirate responds to commands with three digit result codes and a short message. The codes are designed with PC automation in mind. We&#8217;ve included a table of result codes in the <a href="http://blog.mahalo.com/hackaday/howto/buspirate.v0b.zip">project archive</a> (zip).</p>
<p><em>Menu options</em></p>
<p>Menu options are single character commands that don&#8217;t involve data transfers. Enter the character, followed by &lt;enter&gt;, to access the menu.</p>
<p><strong>?</strong> &#8211; Show a help menu with commands and syntax.</p>
<p><strong>M</strong> &#8211; Set the bus mode (SPI, I2C, UART, raw 2 wire, raw 3 wire). Followed immediately by a prompt for speed, polarity, and output state (mode dependent).</p>
<ul>
<li>Bus speeds: SPI:30, 125, 250, 1000KHz. I2C:100, 400, 1000KHz. UART: 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200bps. Raw modes: 1, 10, 50KHz.</li>
<li>Inverse clock setting sets the idle state opposite of normal (normal SPI:idle low; normal UART:idle high): SPI:idle high; UART:idle low.</li>
<li>Some modes have optional high-z output modes for use with pull-up resistors (Low=ground, High=input).</li>
</ul>
<p><strong>L &#8211; </strong>Toggle bit transmit/receive order: most/least significant bit first.</p>
<p><strong>P</strong> &#8211; SDA/SCL pin pull-up resistor toggle (3.3volts). Only valid in I2C and raw 2 wire modes.</p>
<p><strong>O</strong> &#8211; Set number output display format. The terminal can display numbers as decimal, hexadecimal, and binary ASCII values. A fourth format sends the raw, unprocessed byte for reading ASCII formatted text.</p>
<p><em>Syntax</em></p>
<p>A simple syntax is used to communicate with chips over a bus.  Syntax commands have generic functions that generally apply to all bus types.</p>
<p><strong>A/a/@ </strong> &#8211; Toggle auxiliary pin. Capital &#8220;A&#8221; sets AUX high, small &#8220;a&#8221; sets to ground. @ sets aux to input (high impedance mode) and reads the pin value.</p>
<p><strong>[ </strong> - Start data write. SPI/raw 3 wire: chip select enabled. I2C/raw 2 wire: start condition. RS232: open UART, discard received bytes.</p>
<p><strong>{ </strong> - Start data write with reads. Same as [, except: SPI/raw 3 wire: show the read byte for each write. RS232: display data as it arrives asynchronously.</p>
<p><strong>] or }</strong> &#8211; End data write. SPI/raw 3 wire: chip select disabled. I2C/raw 2 wire: stop condition. RS232: close UART.</p>
<p><strong>R/r</strong> &#8211; Read byte. SPI/raw 3 wire: send dummy byte, return read. I2C: read byte with ACK. Raw 2 wire: read 8 bits. RS232: check UART for byte and return, or fail if empty. Use 0r1&#8230;255 for bulk reads up to 255 bytes.</p>
<p><strong>0b</strong> &#8211; Write this binary value. Format is 0b00000000 for a byte, but partial bytes are also fine: 0b1001.</p>
<p><strong>0h or 0x</strong> &#8211; Write this HEX value. Format is 0h01 or 0&#215;01. Partial bytes are fine: 0xA. A-F can be lower-case or capital letters.</p>
<p><strong>0-255</strong> &#8211; Write this decimal value. Any number not preceded by 0x, 0h, or 0b is interpreted as a decimal value.</p>
<p><strong>, or space</strong> -	Value delimiter. Use a coma or space to separate numbers. Any combination is fine, no delimiter is required between non-number values: {0xa6,0, 0 16 5 0b111 0haF}.</p>
<p><em>Direct bus manipulation commands for raw 2 wire mode and raw 3 wire mode.</em><br />
<strong>^</strong> &#8211; Send one clock tick. Use 0^1&#8230;255 for multiple clock ticks.</p>
<p><strong>/ and \</strong> &#8211; Toggle clock level high (/) and low (\). Includes clock delay (100uS).</p>
<p><strong>-/_</strong> &#8211; Toggle data state high (-) and low (_). Includes data setup delay (20uS).</p>
<p><strong>! </strong>- Read one bit with clock.</p>
<p><strong>. </strong>- Read data pin state (no clock).</p>
<p><strong>&amp;</strong> &#8211; Delay 1uS. Use 0&amp;1&#8230;255 for multiple delays.</p>
<p><strong>Using it</strong></p>
<p><strong><img class="alignnone size-full wp-image-5902" title="buspirate-24fv0a" src="http://hackadaycom.files.wordpress.com/2008/11/buspirate-24fv0a.jpg" alt="buspirate-24fv0a" width="450" height="330" /><br />
</strong></p>
<p>Here are two examples that show the Bus Pirate in action. Terminals should be set to ASCII mode with local echo, we used the Windows serial terminal. The PC-side serial connection is 115200bps, 8N1. The Bus Pirate should respond to any single line feed type (0x0a, 0x0d), or both (Windows style).</p>
<p><em><a name="EEPROM">.</a>I2C/SPI &#8211; Flash 24LC1025 EEPROM</em></p>
<p><a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=80">Microchip&#8217;s EEPROMS</a> are popular permanent-storage memory chips, the <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024636">24LC1025</a> has 128Kbytes of storage with an I2C interface.  We can test this chip without bread-boarding a big circuit or writing code.</p>
<p><img class="alignnone size-full wp-image-5904" title="i2ceeprom" src="http://hackadaycom.files.wordpress.com/2008/11/i2ceeprom.jpg" alt="i2ceeprom" width="450" height="308" /></p>
<p>The picture shows an 24LC1025 connected to the Bus Pirate. The EEPROM works from 2.7 to 5volts, so we used the 3.3volt supply from the Bus Pirate to power the circuit. The on-board SDA/SCL pull-up resistors hold the I2C bus high, and eliminate the need for external resistors. A single 0.1uF capacitor decouples the EEPROM from the power supply.</p>
<p><span style="text-decoration:underline;">Setup I2C mode</span></p>
<p>First, we setup the Bus Pirate for I2C mode and enable the pull-up resistors. Since the Bus Pirate currently uses a software I2C library, the speed setting doesn&#8217;t really have an effect.</p>
<blockquote><p>SPI&gt;m  <strong>&lt;&#8211;enter m for mode select</strong><br />
1. SPI<br />
2. I2C<br />
3. UART<br />
4. RAW 2 WIRE<br />
5. RAW 3 WIRE<br />
MODE&gt;2  <strong>&lt;&#8211;enter 2 for I2C</strong><br />
900 MODE SET<br />
Set speed:<br />
1. 100KHz (Standard)<br />
2. 400KHz (Fast Mode)<br />
3. 1MHz (High Speed)<br />
SPEED&gt;1 <strong>&lt;&#8211;speed doesn&#8217;t really do anything&#8230;</strong><br />
901 SPEED SET<br />
202 I2C READY, P/p FOR PULLUPS<br />
I2C&gt;P   <strong>&lt;&#8211;enable the I2C pull-up resistors</strong><br />
205 I2C PULLUP ON<br />
I2C&gt;</p></blockquote>
<p><span style="text-decoration:underline;">Write to EEPROM (I2C)</span></p>
<p>All I2C operations begin with a start condition { or [, and end with a stop condition } or ]. A write begins by addressing the device (1 byte) and looking for an acknowledgment bit (ACK). If the EEPROM responds, we can send the data location to write (2 bytes) and data payload (n bytes). The Bus Pirate automatically checks for an ACK at the end of each write, and ACKs each read.</p>
<p>The 24LC1025 base address is 1010xxy, where xx is determined by the state of pins 2 and 3, and y is read (1) or write (0) mode. We tied pins 2 and 3 high, making the full write address <strong>1010110</strong>.  We&#8217;ll start writing to the device at the first data location (<em>0 0</em>), and write one to thirteen using a mix of data input formats (<span style="text-decoration:underline;">1&#8230;13</span>).</p>
<blockquote><p>I2C&gt;{<strong>0b10100110 </strong><em>0 0 </em><span style="text-decoration:underline;">1 2 3 4 5 6 7 8 9 10 0xb 0xc 13</span>} <strong>&lt;&#8211;I2C command </strong><br />
210 I2C START CONDITION <strong>&lt;&#8211;bus start</strong><br />
220 I2C WRITE: 0xA6 GOT ACK: YES <strong>&lt;&#8211;address sent and ACK received</strong><br />
220 I2C WRITE: 0&#215;00 GOT ACK: YES <strong>&lt;&#8211;write address</strong><br />
220 I2C WRITE: 0&#215;00 GOT ACK: YES <strong>&lt;&#8211;write address</strong><br />
220 I2C WRITE: 0&#215;01 GOT ACK: YES <strong>&lt;&#8211;data</strong><br />
&#8230;<br />
220 I2C WRITE: 0x0D GOT ACK: YES<br />
240 I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p><span style="text-decoration:underline;">Read from EEPROM (I2C)</span></p>
<p>Reading the 24LC1025 takes two steps. First, a write command with no data sets the address pointer. Second, a read command outputs data starting at the location set in step 1.</p>
<p>The first command is a write command, we use the hexadecimal equivalent of the write address (0b10100110 = 0xa6) to save a bit of typing. The address pointer is set to the location where we wrote our data (0 0).</p>
<blockquote><p>I2C&gt;{0xa6 0 0} <strong>&lt;&#8211;set write pointer command</strong><br />
210 I2C START CONDITION<br />
220 I2C WRITE: 0xA6 GOT ACK: YES<br />
220 I2C WRITE: 0&#215;00 GOT ACK: YES<br />
220 I2C WRITE: 0&#215;00 GOT ACK: YES<br />
240 I2C STOP CONDITION</p></blockquote>
<p>With the pointer set, we can start reading data. The read address is the device address, with the last bit set to 1 ( 0b10100111 or 0xa7). We used thirteen r commands to read the data, but we could have used the shorthand version: 0r13.</p>
<blockquote><p>I2C&gt;{0b10100111 rrrrrrrrrrrrr}<strong> &lt;&#8211;read command</strong><br />
210 I2C START CONDITION<br />
220 I2C WRITE: 0xA7 GOT ACK: YES <strong>&lt;&#8211;chip ACKed the read address</strong><br />
230 I2C READ: 0&#215;01 <strong>&lt;&#8211;data byte 1</strong><br />
230 I2C READ: 0&#215;02 <strong>&lt;&#8211;data byte 2</strong><br />
&#8230;<br />
230 I2C READ: 0x0D <strong>&lt;&#8211;data byte 13</strong><br />
240 I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p>We know the operation was a success because the output matches the data we wrote earlier.</p>
<p><em>UART &#8211; EM406 SurfIII GPS</em></p>
<p><img class="alignnone size-full wp-image-5905" title="gps" src="http://hackadaycom.files.wordpress.com/2008/11/gps.jpg" alt="gps" width="450" height="338" /></p>
<p>The <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=465">EM406</a> is a tiny 5volt GPS module that tracks up to 20 satellites. By default, it outputs NMEA formatted data from a serial port at 4800bps, 8N1. The output format is standard serial, but at 2.8volts it&#8217;s incompatible with PC serial ports. The Bus Pirate can interface this GPS without the need for a separate RS232 transceiver or 5volt power supply.</p>
<p><span style="text-decoration:underline;">Setup the UART</span></p>
<p>First, we setup the Bus Pirate UART to receive serial data at 4800bps.</p>
<blockquote><p>I2C&gt;m <strong>&lt;&#8211;setup mode</strong><br />
1. SPI<br />
2. I2C<br />
3. UART<br />
4. RAW 2 WIRE<br />
5. RAW 3 WIRE<br />
MODE&gt;3 <strong>&lt;&#8211;UART</strong><br />
900 MODE SET<br />
Set speed:<br />
(bps)<br />
1. 300<br />
2. 1200<br />
3. 2400<br />
4. 4800<br />
&#8230;<br />
9. 115200<br />
SPEED&gt;4  <strong>&lt;&#8211;4800bps</strong><br />
901 SPEED SET<br />
302 UART READY<br />
UART&gt;</p></blockquote>
<p><span style="text-decoration:underline;">Enable UART and data reads</span></p>
<p>An important thing to remember about UARTs is that the data arrives asynchronously. Unlike SPI and I2C, where data transfer is controlled by the master, serial data can arrive at the UART at any time. The GPS is a great example of this because it spits out location data continuously, without user intervention.</p>
<p>We developed two read modes to cope with asynchronous data .  { echos all incoming data as it arrives.  New data will displace and garble data entry, but all input is still accepted normally.  [ opens the UART in a send only mode that discards incoming bytes. } or ] closes the UART, regardless of the mode.</p>
<blockquote><p>UART&gt;{ <strong>&lt;&#8211;open UART with async reads</strong><br />
310 UART OPEN, } TO CLOSE<br />
330 UART READ: 0&#215;80 <strong>&lt;&#8211;GPS data</strong><br />
330 UART READ: 0&#215;78</p></blockquote>
<p><span style="text-decoration:underline;">Write to the UART</span></p>
<p>Type in values to send out the UART. Even if the input is broken up by incoming data, it will be processed on &lt;enter&gt;.  We sent <em>0&#215;40</em> as an example, but this has no particular meaning to the GPS module.</p>
<blockquote><p>330 UART READ: 0&#215;80 <em>0&#215;40</em><strong>&lt;&#8211;random byte to write</strong><br />
320 UART WRITE: 0&#215;40 <strong>&lt;&#8211;byte written</strong></p></blockquote>
<p><span style="text-decoration:underline;">Close the UART</span></p>
<p>&#8220;}&#8221; followed by &lt;enter&gt; closes the UART.</p>
<blockquote><p>330 UART READ: 0&#215;78<br />
303 UART READ: 0&#215;60 <em>} </em><strong>&lt;&#8211;close UART command</strong><br />
330 UART READ: 0xE6<br />
340 UART CLOSED<br />
UART&gt;</p></blockquote>
<p>Don&#8217;t think you can use this GPS data to track us, we don&#8217;t actually get satellite reception down here in mom&#8217;s basement.</p>
<p><strong>Taking it further</strong></p>
<p>The Bus Pirate is an important development tool in our lab. We keep updating it as we use it, and we&#8217;ll release new firmware as we add protocols and features. Expect to see the Bus Pirate in future articles.</p>
<p>These improvements are at the top of our list. Do you have any suggestions?</p>
<ul>
<li>New protocols: One Wire, CAN, ???</li>
<li>Controls for polarity and other settings</li>
<li>Adjustable instruction delay</li>
<li>Get hardware I2C module working.</li>
<li>Enable protocol speed settings.</li>
<li>Cheaper, easier to get RS232 transceiver</li>
</ul>
<p>The <a href="http://blog.mahalo.com/hackaday/howto/buspirate.v0b.zip">project archive</a> (ZIP) has everything you need to build your own Bus Pirate.</p>
<br />Posted in hardware, how-to, tool hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/5882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/5882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/5882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/5882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/5882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/5882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/5882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/5882/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=5882&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/i2ceeprom.jpg" medium="image">
			<media:title type="html">i2ceeprom</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/overview-diagram-new.png" medium="image">
			<media:title type="html">overview-diagram-new</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/terminal-450.png" medium="image">
			<media:title type="html">terminal-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/brd-450.png" medium="image">
			<media:title type="html">brd-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/cct-450.png" medium="image">
			<media:title type="html">cct-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/buspirate-24fv0a.jpg" medium="image">
			<media:title type="html">buspirate-24fv0a</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/i2ceeprom.jpg" medium="image">
			<media:title type="html">i2ceeprom</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/gps.jpg" medium="image">
			<media:title type="html">gps</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting root on the G1</title>
		<link>http://hackaday.com/2008/11/05/getting-root-on-the-g1/</link>
		<comments>http://hackaday.com/2008/11/05/getting-root-on-the-g1/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 01:29:35 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[android hacks]]></category>
		<category><![CDATA[cellphones hacks]]></category>
		<category><![CDATA[g1 hacks]]></category>
		<category><![CDATA[security hacks]]></category>
		<category><![CDATA[wireless hacks]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[telnetd]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tmobile]]></category>
		<category><![CDATA[tmobile g1]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=5562</guid>
		<description><![CDATA[If you&#8217;ve been holding off on a T-Mobile G1 purchase because you didn&#8217;t like the apparent user restrictions, there&#8217;s some good news. The Android powered phone comes with an easy button for getting root. Install a terminal app and you can manually start the telnetd service. All that&#8217;s left is telenetting into the device and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=5562&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="trinity" src="http://hackadaycom.files.wordpress.com/2008/06/had_trinity.jpg?w=450&#038;h=110" alt="" width="450" height="110" /></p>
<p>If you&#8217;ve been holding off on a <a title="T-Mobile G1 - Mahalo" href="http://www.mahalo.com/G1_Hacks">T-Mobile G1</a> purchase because you didn&#8217;t like the apparent user restrictions, there&#8217;s some good news. The <a title="Android - Mahalo" href="http://www.mahalo.com/Android">Android</a> powered phone comes with an easy button for getting root. Install a terminal app and you can <a href="http://blog.wired.com/gadgets/2008/11/googlephone-jai.html">manually start the telnetd service</a>. All that&#8217;s left is telenetting into the device and it&#8217;ll give you root level access.</p>
<br />Posted in android hacks, cellphones hacks, g1 hacks, security hacks, wireless hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/5562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/5562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/5562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/5562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/5562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/5562/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/5562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/5562/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=5562&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/11/05/getting-root-on-the-g1/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/had_trinity.jpg" medium="image">
			<media:title type="html">trinity</media:title>
		</media:content>
	</item>
		<item>
		<title>Securing DNS on OSX</title>
		<link>http://hackaday.com/2008/07/31/securing-dns-on-osx/</link>
		<comments>http://hackaday.com/2008/07/31/securing-dns-on-osx/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 03:50:00 +0000</pubDate>
		<dc:creator>rossfairgrieve</dc:creator>
				<category><![CDATA[security hacks]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dankaminsky]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[dnsattack]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OsX]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/07/31/securing-dns-on-osx/</guid>
		<description><![CDATA[It&#8217;s been a few weeks since [Dan Kaminsky] announced the nature of the DNS vulnerability and allowed 30 days of non-disclosure for patches to be applied before details of the exploit went public. Unfortunately, the details were leaked early and it didn&#8217;t take long for a functional exploit to be released into the wild. Since [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2371&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img width="450" vspace="4" hspace="4" height="255" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/osxterm.jpg?w=450&#038;h=255" /><br />It&#8217;s been a few weeks since [Dan Kaminsky] announced the nature of the <a href="http://www.hackaday.com/2008/07/08/major-dns-issue-causes-multivendor-patch-day/">DNS vulnerability</a> and allowed 30 days of non-disclosure for patches to be applied before details of the exploit went public. Unfortunately, the details were <a href="http://www.linuxjournal.com/content/understanding-kaminskys-dns-bug">leaked early</a> and it didn&#8217;t take long for a functional exploit to be <a href="http://www.hackaday.com/2008/07/23/dns-exploit-in-the-wild/">released into the wild</a>. Since then, many ISPs have taken steps to prevent their users from falling victim to the attack, and BIND, the widely-used DNS protocol implementation, was updated to minimize the threat. Even then, there were reports of a version of the attack being <a href="http://computerworld.com/action/article.do?command=viewArticleBasic&amp;taxonomyName=cybercrime_and_hacking&amp;articleId=9111098&amp;taxonomyId=82&amp;intsrc=kc_top">actively used on AT&amp;T&#8217;s DNS servers</a>.</p>
<p>Mac OSX uses a BIND implementation but as of yet, Apple has not released a patch updating the system (Microsoft, on the other hand, <a href="http://support.microsoft.com/kb/951748">patched this up on July 8</a>). As a result, machines running OSX are at risk of being exploited. Individual users are <a href="http://db.tidbits.com/article/9706">less likely to be targeted</a>, since the attacks are directed towards servers, but it&#8217;s not a smart idea to leave this vulnerability open. [Glenn Fleishman] has <a href="http://db.tidbits.com/article/9714">published a way to update BIND on OSX manually</a>, rather than waiting on Apple to patch it themselves. It requires Xcode and a bit of terminal work, but it&#8217;s a relatively painless update. When we tried it, the &#8220;make test&#8221; step skipped a few tests and told us to run &#8220;bin/tests/system/ifconfig.sh up&#8221;. That allowed us to re-run the tests and continue the update without further interruption. [Fleischman] warns that people who manually update BIND may break the official update, but he will update his instructions when it happens with any possible workarounds. Unfortunately, this fix only works for 10.5 but <a href="http://chuqui.typepad.com/chuqui_30/2008/07/secure-your-dns.html">alternative, yet less effective methods</a> may work for 10.4 and earlier.</p>
<p>If you&#8217;d like to know if your preferred DNS servers are vulnerable or not, you can use the <a href="http://www.doxpara.com/">DNS checker tool</a> from Doxpara. As an alternative to your ISP&#8217;s DNS servers, you can use <a href="http://www.opendns.com/">OpenDNS</a>, which many prefer for its security features and configuration options.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2371/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2371/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2371/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2371&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/07/31/securing-dns-on-osx/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">rossfairgrieve</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/osxterm.jpg" medium="image" />
	</item>
	</channel>
</rss>
