<?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; Adam Harris</title>
	<atom:link href="http://hackaday.com/author/adamharris/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:27:06 +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; Adam Harris</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>Autonomous ATV</title>
		<link>http://hackaday.com/2009/03/23/autonomous-atv/</link>
		<comments>http://hackaday.com/2009/03/23/autonomous-atv/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 00:14:39 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[gps hacks]]></category>
		<category><![CDATA[robots hacks]]></category>
		<category><![CDATA[transportation hacks]]></category>
		<category><![CDATA[atv]]></category>
		<category><![CDATA[autonomous]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[lidar]]></category>
		<category><![CDATA[path planning]]></category>
		<category><![CDATA[radio controlled]]></category>
		<category><![CDATA[rc]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=9858</guid>
		<description><![CDATA[A team at UNC Charlotte has been working on an autonomous vehicle to drag a cart that has sensing equipment. Starting with a stock Honda ATV, different systems were added to give a Renesas processor control of the ATV.  A model airplane receiver was attached to the Renesas to give remote control for Phase 1 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=9858&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><span style="text-align:center; display: block;"><a href="http://hackaday.com/2009/03/23/autonomous-atv/"><img src="http://img.youtube.com/vi/Ja3ND8Pk_0M/2.jpg" alt="" /></a></span></p>
<p>A team at UNC Charlotte has been <a title="UNC Charlotte Zapatabot" href="http://www.coe.uncc.edu/~jmconrad/zapatabot.html" target="_self">working on an autonomous vehicle</a> to drag a cart that has sensing equipment. Starting with a stock Honda ATV, different systems were added to give a <a title="Renesas 62P processor" href="http://www.renesas.com/fmwk.jsp?cnt=m16c62p_root.jsp&amp;fp=/products/mpumcu/m16c_family/m16c60_series/m16c62p_group/" target="_self">Renesas processor</a> control of the ATV.  A model airplane receiver was attached to the Renesas to give remote control for Phase 1 of the project. Basically they&#8217;ve turned the ATV into a giant remote controlled car.</p>
<p>Later revisions will incorporate LIDAR, cameras, and multiple GPS units so the ATV can autonomously traverse most terrain with a high level of accuracy. Path planning will become a large part of the project at that point.</p>
<p><span id="more-9858"></span></p>
<p style="text-align:center;"><span style="text-align:center; display: block;"><a href="http://hackaday.com/2009/03/23/autonomous-atv/"><img src="http://img.youtube.com/vi/Ql91f_JgjDs/2.jpg" alt="" /></a></span></p>
<br />Posted in gps hacks, robots hacks, transportation hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/9858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/9858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/9858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/9858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/9858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/9858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/9858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/9858/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=9858&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/03/23/autonomous-atv/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>
	</item>
		<item>
		<title>Turn your Playstation 3 into Linux-based Lab Equipment</title>
		<link>http://hackaday.com/2008/09/11/turn-your-playstation-3-into-linux-based-lab-equipment/</link>
		<comments>http://hackaday.com/2008/09/11/turn-your-playstation-3-into-linux-based-lab-equipment/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 04:00:33 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[home entertainment hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[equipment]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[lab]]></category>
		<category><![CDATA[logic analyzer]]></category>
		<category><![CDATA[logicanalyzer]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[spectrum]]></category>
		<category><![CDATA[spectrum analyzer]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=2825</guid>
		<description><![CDATA[In a two-part series called &#8220;PS3 Fab-to-lab&#8221; on IBM&#8217;s awesome developerWorks website, [Lewin] explains how to use the Cell Broadband Engine in a PS3 to create an audio-bandwidth spectrum analyzer and function generator. The set up consists of Yellow Dog Linux, an NTSC television, and an external USB sound card to provide the inputs of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2825&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class="alignnone size-full wp-image-2826" title="ps3_logic" src="http://hackadaycom.files.wordpress.com/2008/09/ps3_logic.jpg" alt="" width="425" height="282" /></p>
<p style="text-align:left;">In a two-part series called &#8220;PS3 Fab-to-lab&#8221; on <a href="http://www.ibm.com/developerworks/" target="_blank">IBM&#8217;s awesome developerWorks website</a>, [Lewin] explains how to use the Cell Broadband Engine in a <a title="PS3 Hacks - Mahalo" href="http://www.mahalo.com/Playstation_3_hacks">PS3</a> to create an audio-bandwidth spectrum analyzer and function generator. The set up consists of <a href="http://www.terrasoftsolutions.com/products/ydl/">Yellow Dog Linux</a>, an NTSC television, and an external USB sound card to provide the inputs of the spectrum analyzer and the outputs of the function generator. The <a href="http://www.ibm.com/developerworks/library/pa-ps3lab2/" target="_blank">sound card driver</a> is written to simply capture or send the info in question (audio range only) and the <a href="http://www.ibm.com/developerworks/power/library/pa-ps3lab1" target="_blank">NTSC television</a> as the graphical interface. This hack involves a lot of coding with hardly any example code provided. The article is more of a guide than anything. If anyone gets this working, <a href="http://www.hackaday.com/contact-hack-a-day/" target="_blank">let us know</a>!</p>
<p>[via <a href="http://digg.com/linux_unix/Build_Linux_Lab_Equipment_From_A_Sony_PLAYSTATION_3" target="_blank">Digg</a>]</p>
<p>[photo: <a href="http://flickr.com/photos/malcolmtredinnick/361457640/">Malcom Tredinnick</a>]</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2825/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2825/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2825/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2825&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/09/11/turn-your-playstation-3-into-linux-based-lab-equipment/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/09/ps3_logic.jpg" medium="image">
			<media:title type="html">ps3_logic</media:title>
		</media:content>
	</item>
		<item>
		<title>MioPocket 2.0 Release 27</title>
		<link>http://hackaday.com/2008/09/05/miopocket-20-release-27/</link>
		<comments>http://hackaday.com/2008/09/05/miopocket-20-release-27/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 20:30:42 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[gps hacks]]></category>
		<category><![CDATA[handhelds hacks]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[CE]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[mio]]></category>
		<category><![CDATA[miopocket]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[navigon]]></category>
		<category><![CDATA[sd card]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[unlock]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.hackaday.com/?p=7630</guid>
		<description><![CDATA[GpsPasSion forum member [Ospray] has released a new version of MioPocket. For those of you that don&#8217;t know, MioPocket is a great unlock kit for GPS units. It basically unlocks the hidden potential of your GPS so you can access the built-in functionality of a PDA as well as retaining the GPS software. This means [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2681&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class="size-full wp-image-7631 aligncenter" src="http://hackadaycom.files.wordpress.com/2008/09/miopocket1.jpg" alt="Miopocket Screenshot" width="320" height="240" /></p>
<p><a href="http://www.gpspassion.com/FORUMSEN/" target="_blank">GpsPasSion forum</a> member [Ospray] has released a new version of <a href="http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=109690" target="_blank">MioPocket</a>. For those of you that don&#8217;t know, MioPocket is a great unlock kit for GPS units. It basically unlocks the hidden potential of your <a title="GPS - Mahalo" href="http://www.mahalo.com/GPS">GPS</a> so you can access the built-in functionality of a <a title="PDA - Mahalo" href="http://www.mahalo.com/PDA">PDA</a> as well as retaining the GPS software. This means you can play music, watch video, play games, read and write office documents, and many other things with the once single-purpose device.</p>
<p>Originally written for <a href="http://www.gpspassion.com/upload/MioPocket%20Readme.html#1.3" target="_blank">Mio brand devices</a>, it has been successfully used on a couple other brands. We&#8217;ve seen it on a Navigon 2100 using a <a href="http://www.gpspassion.com/FORUMSEN/topic.asp?TOPIC_ID=101685&amp;whichpage=5" target="_blank">modified install</a>. This software can run directly off the SD card, so it can easily be updated or removed.</p>
<p>The fun part is fiddling with the scripts to get the newest releases to work on the Navigon and Magellan devices.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2681/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2681/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2681/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2681&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/09/05/miopocket-20-release-27/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/09/miopocket1.jpg" medium="image">
			<media:title type="html">Miopocket Screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>DIY kidney machine saves girl</title>
		<link>http://hackaday.com/2008/08/05/diy-kidney-machine-saves-girl/</link>
		<comments>http://hackaday.com/2008/08/05/diy-kidney-machine-saves-girl/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 03:30:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[doctor]]></category>
		<category><![CDATA[health]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[heroes]]></category>
		<category><![CDATA[heroic]]></category>
		<category><![CDATA[kidney]]></category>
		<category><![CDATA[kidney failure]]></category>
		<category><![CDATA[KidneyFailure]]></category>
		<category><![CDATA[medical]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/08/05/diy-kidney-machine-saves-girl/</guid>
		<description><![CDATA[When the tool you need doesn&#8217;t exist, you must make one. That&#8217;s exactly what [Dr. Malcolm Coulthard] and kidney nurse [Jean Crosier] from Newcastle&#8217;s Royal Victoria Infirmary did two years ago. When a baby too small for the regular dialysis machine (similar to the one pictured above) needed help after her kidneys failed, the kind [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2397&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="220" border="0" src="http://hackadaycom.files.wordpress.com/2008/08/kidney-machine2.jpg?w=450&#038;h=220" alt="" /><br />When the tool you need doesn&#8217;t exist, you must make one. That&#8217;s exactly what [Dr. Malcolm Coulthard] and kidney nurse [Jean Crosier] from Newcastle&#8217;s Royal Victoria Infirmary did two years ago.</p>
<p>When a baby too small for the regular dialysis machine (similar to the one pictured above) needed help after her kidneys failed, the kind doctor designed and built a <a href="http://news.bbc.co.uk/2/hi/health/7542404.stm">smaller version of the machine</a> in his garage, then used it to save six-pound baby Millie Kelly&#8217;s life. Since then the machine has continued to be used in similar emergency situations. </p>
<p><span>[Photo: <a href="http://flickr.com/photos/nomadicentrepreneur/2369307700/">NomadicEntrepreneur</a>]</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2397/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2397/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2397/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2397&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/08/05/diy-kidney-machine-saves-girl/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/08/kidney-machine2.jpg" medium="image" />
	</item>
		<item>
		<title>How-To: The Hacker&#8217;s Soldering Station</title>
		<link>http://hackaday.com/2008/08/05/how-to-the-hackers-soldering-station/</link>
		<comments>http://hackaday.com/2008/08/05/how-to-the-hackers-soldering-station/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 12:20:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[extractor]]></category>
		<category><![CDATA[fume extractor]]></category>
		<category><![CDATA[fumes]]></category>
		<category><![CDATA[hackaday]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[soldering]]></category>
		<category><![CDATA[soldering iron]]></category>
		<category><![CDATA[solderingiron]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/08/05/how-to-the-hackers-soldering-station/</guid>
		<description><![CDATA[A good soldering station and fume extractor is a must for anyone interested in hacking and modding, but not everyone can afford the expensive professional models on the market. This How-To and the tips within it will guide you through the process of building an inexpensive homebrew fume hood complete with built-in time and temperature [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2393&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="338" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/window.jpg?w=450&#038;h=338" /><br />A good soldering station and fume extractor is a must for anyone interested in hacking and modding, but not everyone can afford the <a href="http://www.wassco.com/Products/Fume-Extractor--MG100S--Filtronic__WAS-06-641007.aspx">expensive</a> <a href="http://www.howardelectronics.com/Quatro/solderpure.html">professional</a> <a href="http://www.sentryair.com/winged-sentry.htm">models</a> on the market. This How-To and the tips within it will guide you through the process of building an inexpensive homebrew fume hood complete with built-in time and temperature controlled soldering station and all the soldering tools you need.</p>
<p><span id="more-2393"></span></p>
<p>We&#8217;ll begin by building the solder fume hood. Yes, we said &#8220;hood&#8221;, not just &#8220;extractor&#8221;. While there have been some <a href="http://www.instructables.com/id/Window-mounted-solder-fume-extractor-not-just-for/">nice</a> <a href="http://www.raphnet.net/divers/fume_extractor/index_en.php">fume</a> <a href="http://lab.melodolic.com/index_FumeExtractor.php">extractors</a> hacked together, this system integrates all of your soldering tools into and around the fume hood. </p>
<p>The purpose of a fume hood is to draw solder fumes away from the person soldering. Besides the health risks, these fumes are really annoying as they follow that pesky law of the universe: &#8220;No matter where you happen to be sitting, solder fumes will float directly towards your face.&#8221;</p>
<p>To start, let&#8217;s gather materials:</p>
<table style="text-align: left; margin-left: 0px; margin-right: auto;">
<tbody>
<tr>
<th>Part</th>
<th>Supplier </th>
<th>Cost</th>
</tr>
<tr>
<td>18 Gallon clear Rubbermaid Container (about 18&#8243;x18&#8243;x16&#8243;)</td>
<td>Super Store </td>
<td> $7.00 </td>
</tr>
<tr>
<td>4&#8243; Metal Fan </td>
<td> Super Store</td>
<td>$5.00</td>
</tr>
<tr>
<td>12&#8243; Fluorescent Under-Cabinet Lamp</td>
<td> Super Store</td>
<td>$9.00</td>
</tr>
<tr>
<td>Surge Protector</td>
<td> Super Store</td>
<td>$3.00</td>
</tr>
<tr>
<td>Activated Carbon Filter</td>
<td> Super store or Online Electronics Boutique</td>
<td>$3.00</td>
</tr>
<tr>
<td>Small Sheet of Acrylic (7&#8243;x15&#8243;) (optional)</td>
<td> Scrap</td>
<td>Free</td>
</tr>
</tbody>
</table>
<p>Once all the materials are gathered, we can begin cutting the plastic of the Rubbermaid container. To cut this material, use a plastic scoring tool. When you make your cuts, make sure to repeatedly score the line you want to cut until the blade goes all the way through the plastic. Do not try to score it and snap it like acrylic. This material has a bad tendency to crack in places you didn&#8217;t intend. If your plastic cracks, all is not lost. Since the plastic is soft, you can weld the cracks back together by touching it with the tip of a high temperature hot glue gun.</p>
<p><img width="450" vspace="4" hspace="4" height="293" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/fan_hole.png?w=450&#038;h=293" /><br />First, we need to cut a hole for the fan in the top of the hood. Take off the cover of the fan and use it to make a hole slightly smaller than the inside diameter of the fan cover in the top center of the hood. The fan is actually going to hang from the top of the hood and pull the fumes out of the hood when turned on.</p>
<p> <img width="450" vspace="4" hspace="4" height="303" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/fan.png?w=450&#038;h=303" /><br />Once the big hole is made, drill smaller holes for the screws used to hold the fan together. With the nuts on the outside, screw the fan assembly to the top of the hood.</p>
<p> <img width="450" vspace="4" hspace="4" height="364" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/twist-tie.png?w=450&#038;h=364" /><br />To reattach the top cover of the fan, use some scrap solid core wire or twist-ties to connect the spars on the top cover to the spars on the bottom fan assembly. We used only three twist ties as this is plenty to keep the fan cover in place.</p>
<p> <img width="450" vspace="4" hspace="4" height="447" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/lamp_shim.png?w=450&#038;h=447" /><br />Now we are ready to mount the light. Mark a good place to attach the light in the back top of the hood. It is likely that the mounting screws that came with the lamp are too long. Additionally, the lamp might get too hot. To prevent the lamp from melting the plastic, we cut about five half-inch spacers out of some of the plastic cut off earlier. To make life easier, pre-drill holes in the center of each of the spacers. Use a couple of the spacers on the inside to lower the lamp away from the top of the hood, and then use a few on the outside to cover the sharp points of the protruding screws. Alternatively, encapsulating the screw points on the outside of the hood with hot glue works just as well.</p>
<p> <img width="450" vspace="4" hspace="4" height="260" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/first_window.png?w=450&#038;h=260" /><br />Next, cut the main window of the fume hood. Ours goes all the way across the front and is about 7 inches high. It&#8217;s a good idea to start with a smaller hole and expand it to see what feel comfortable for you to use. Make sure it is easy to reach the top back wall of the hood. This is where the controls will go later.</p>
<p><img width="450" vspace="4" hspace="4" height="382" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/filter.png?w=450&#038;h=382" /><br />At this point, you can use zip ties to attach the active carbon filter to the top of the fan.</p>
<p><img width="450" vspace="4" hspace="4" height="338" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/stock.jpg?w=450&#038;h=338" /><br />Plug the fan and the light into a powerstrip. Make sure the fan and the light are turned on so you can turn the entire hood on and off from the strip. Plug in the soldering iron and you are ready to go. The adjustable base of the fan is used here to hold the excess wire from the soldering iron; keeping it out of the way.</p>
<p><img width="450" vspace="4" hspace="4" height="338" border="0" src="http://hackadaycom.files.wordpress.com/2008/07/window.jpg?w=450&#038;h=338" id="img1" alt="" /><br />A slightly more advanced option for the front is to cut another smaller window (about 6.5 by 13.5 inches) just above the first one and add a piece of acrylic. This greatly improves visibility. Make sure to cut the acrylic about a half inch larger than the window to give yourself a surface to glue. Attach the acrylic on the inside of the fume hood with hot glue. </p>
<p> To improve your soldering iron set-up, you can get a professional soldering station. But why spend $50 on a <a href="http://www.afrotechmods.com/cheap/iron/iron.htm">temperature controlled soldering station</a> when you can build your own for cheaper! Afrotechmods has a rough guide to <a href="http://www.afrotechmods.com/cheap/iron/iron.htm">building a great adjustable temperature soldering station</a>.</p>
<p><img width="450" vspace="4" hspace="4" height="184" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/socket_face.png?w=450&#038;h=184" /><br />To install this soldering station into the fume hood, simply cut a hole in the back of the hood large enough to stuff the dimmer and the socket through it from the front side and small enough to make sure the mounting holes still have some plastic to mount to. The box will be attached to the back of the hood, but the faceplate needs to be on the inside.</p>
<p>You&#8217;ll notice that there is a different knob on the dimmer switch. We used a scrap knob with a flat bottom (comes complete with cool numbers) on the dimmer switch instead of the stock knob.</p>
<p>Regardless of what soldering station you use, if it doesn&#8217;t have auto turn off (which is good for fire prevention), put a grounded AC appliance timer inline with the iron. These timers allow you to automatically turn on or off any AC appliance at any time you want within a 24 hour period, but don&#8217;t rely on it to keep your iron turned off, as it will turn it back one every 24 hours. It&#8217;s better than nothing and is a cheap option, as they run between 5 and 10 bucks at local hardware and super stores. The one we use has increments of about 15 minutes. Setting it for 30-45 minutes works well.</p>
<p><img width="450" vspace="4" hspace="4" height="478" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/timer.png?w=450&#038;h=478" /><br />For some reason, the designers of these timers want to take up all the plug space they can by placing the plug practically in the center on the back of the timer. Luckily, the scrap dimmer knob we found has a low profile, and allows the timer to plug in with little interference to the dimmer. A better option is to get an <a href="http://www.petco.com/product/100385/Marineland-Aquarium-Light-Timer.aspx">aquarium timer</a>. These are designed with a better form factor and generally only cover one socket.</p>
<p>Many cheap soldering irons come with a sponge to clean the tip. If you think about it, it&#8217;s not really the best idea to use a sponge to clean your soldering iron; it works, but it also cools down the tip of the iron every time you clean it. If you are doing delicate work and clean your tip once every couple of soldering points, this can lead to cold solder joints and bad connections.</p>
<p>Professionals use a <a href="http://www.itcelectronics.com/product_info.php?products_id=6146">flux covered wire mesh</a> to clean the tip. This method draws off the solder and uses flux to clean the tip. Every now and then, you just kind of stab the mesh with your iron a couple of times to clean it off. The problem is that this method costs around $10.</p>
<p><img width="450" vspace="4" hspace="4" height="506" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/scourer.png?w=450&#038;h=506" /><br />Instead of buying some job specific wire mesh, just use a copper coated scourer to clean your soldering iron tip. Usually used for cleaning pots and pans, these little guys can be picked up at your local grocery store for $1 or so a pack. The copper mesh isn&#8217;t coated with flux, but the copper itself will draw the excess solder from the tip of the iron. Do not get the steel scourers, as they are only good for cleaning dishes.</p>
<p><img width="450" vspace="4" hspace="4" height="167" border="<br />
0&#8243; alt=&#8221;" src=&#8221;http://hackadaycom.files.wordpress.com/2008/07/holder.png&#8221; /><br />A great addition to our ti<br />
p cleaner is the use of a simple $1 &#8220;locker organizer&#8221; picked up from the dollar aisle of the local super store. Just shove the scourer into the organizer to keep it from sticking to the iron. The magnet on the bottom will also weigh it down enough to keep it on the table when you make spastic stabs at the scourer in frenzied hacking sessions.</p>
<p>Surface mount soldering is becoming more common amongstl hackers and hobbyists. This work is notorious for being one of the most tedious and annoying practices known to man. Of course, having the right tools for the job helps. The cheapest surface mount rework stations cost upwards of $100. In the past, our own [Will O'Brien] showed how to make your own <a href="http://www.engadget.com/2006/03/07/how-to-make-a-surface-mount-soldering-iron/ ">surface mount reflow iron</a>.</p>
<p>A reflow iron or pen isn&#8217;t the only tool you need for surface mount soldering. Sometimes you&#8217;ll need a <a href="http://www.synopticlabs.com/blog/index.php/2008/04/18/my-breakfast-with-reflow/">hot plate</a> or <a href="http://www.ustr.net/smt/oven.htm">oven</a>.</p>
<p><img width="450" vspace="4" hspace="4" height="369" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/07/warmer.png?w=450&#038;h=369" /><br />For smaller jobs we&#8217;ve found that using a <a href="http://www.thewicklesscandle.com/prodWarmer01.htm">candle warmer</a> can be useful. We got ours for $5 from a super store. The plate might not get completely hot enough to melt the solder by itself, but it does help a lot when you use a soldering iron or a reflow iron by decreasing the time and effort it takes to warm the joints. The sweet spot on these warmers is usually directly in the middle of the black steel plate.</p>
<p>Simply place a PCB in the center of the candle warmer and allow it to raise the temp of the solder joints. Use a reflow pen or soldering iron to heat the particular joint you want the rest of the way. It will take a lot less time to melt the solder this way. This is especially useful when placing surface mount parts, but can also be useful when taking them off of a PCB.</p>
<p>Placing all of these components together inside the fume hood, the Hacker&#8217;s Soldering Station is complete. With this project we set out to make a simple, cheap solder fume hood complete with a time and temperature soldering station. We ended up with a great soldering station and fume extractor set up. In fact, this has now replaced one of the <a href="http://www.hmcelectronics.com/cgi-bin/scripts/query.cgi?query=wlc100&amp;gclid=CLmkh8Od6JQCFQKcFQod_XiGRw">WLC100 soldering stations</a> we usually use.</p>
<p><script type="text/javascript"> digg_url = 'http://digg.com/mods/Build_a_soldering_station'; </script> <script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2393/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2393/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2393/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2393&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/08/05/how-to-the-hackers-soldering-station/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/fan_hole.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/fan.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/twist-tie.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/lamp_shim.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/first_window.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/filter.png" medium="image" />

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

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/socket_face.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/timer.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/scourer.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/07/warmer.png" medium="image" />
	</item>
		<item>
		<title>Magnetic stripe card spoofer</title>
		<link>http://hackaday.com/2008/08/04/magnetic-stripe-card-spoofer/</link>
		<comments>http://hackaday.com/2008/08/04/magnetic-stripe-card-spoofer/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 06:30:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[security hacks]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[card reader]]></category>
		<category><![CDATA[CardReader]]></category>
		<category><![CDATA[magnetic]]></category>
		<category><![CDATA[magnetic card]]></category>
		<category><![CDATA[magnetic strip]]></category>
		<category><![CDATA[MagneticCard]]></category>
		<category><![CDATA[MagneticStrip]]></category>
		<category><![CDATA[reader]]></category>
		<category><![CDATA[spoof]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/08/04/magnetic-stripe-card-spoofer/</guid>
		<description><![CDATA[After building a USB magnetic stripe reader, [David Cranor] has found a way to fool a magnetic stripe reader using a hand-wound electromagnet and an iPod. The data on a card is read and stored on a computer, then encoded as a WAV file using a C++ program. The iPod plays the WAV file with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2392&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="200" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/08/fp1gdvgfjbyz4n5.medium.jpg?w=450&#038;h=200" /><br />After building a <a href="http://www.instructables.com/id/Arduino-magnetic-stripe-decoder/">USB magnetic stripe reader</a>, [David Cranor] has found a way to fool a magnetic stripe reader using a hand-wound electromagnet and an iPod. The data on a card is read and stored on a computer, then encoded as a WAV file using a C++ program. The iPod plays the WAV file with the data through a single-stage opamp amplifier connected to the headphone jack. The amplifier is used to drive the electromagnet. Video embedded after the jump.</p>
<p>By no means is this a <a href="http://www.valhallalegends.com/docs/magcards.htm">new idea</a>. There have been a lot of <a href="http://www.camelspit.org/handyswipe/">magnetic stripe</a> <a href="http://deepquest.code511.com/blog/more.php?id=263_0_1_0_M">projects</a> and <a href="http://stripesnoop.sourceforge.net/hardware/reader.html">software</a>. This project in particular references the 1992 Phrack article &#8220;<a href="http://www.phrack.org/issues.html?issue=37&amp;id=6#article">A Day in the Life of a Flux reversal</a>&#8221; by [Count Zero].</p>
<div align="left"> Don&#8217;t get your hopes up just yet on strolling through high security installations using this little device. It can only replay the data from a card that has been recorded. If you don&#8217;t have a known working card, it won&#8217;t get you very far. </div>
<p><span id="more-2392"></span></p>
<p><object width="450" height="364"><param name="movie" value="http://www.youtube.com/v/w4uhn5_0RkU&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/w4uhn5_0RkU&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="450" height="364"></embed></object><br />[via <a href="http://www.hackszine.com/blog/archive/2008/08/magnetic_stripe_card_spoofer.html">Hackszine</a>]</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2392/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2392/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2392/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2392&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/08/04/magnetic-stripe-card-spoofer/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/08/fp1gdvgfjbyz4n5.medium.jpg" medium="image" />
	</item>
		<item>
		<title>Make: television</title>
		<link>http://hackaday.com/2008/08/04/make-television/</link>
		<comments>http://hackaday.com/2008/08/04/make-television/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 01:50:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[magazine]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[make magazine]]></category>
		<category><![CDATA[MakeMagazine]]></category>
		<category><![CDATA[makezine]]></category>
		<category><![CDATA[public television]]></category>
		<category><![CDATA[PublicTelevision]]></category>
		<category><![CDATA[submissions]]></category>
		<category><![CDATA[television]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/08/04/make-television/</guid>
		<description><![CDATA[Make Magazine, famous for the Maker Faire, among other things, has announced a new project called Make: television. The show will be coming to public television stations throughout the USA starting early 2009. The big news is that you can submit 2 minute long videos of your projects to be included in the show&#8217;s Maker [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2390&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"> <object width="450" height="254"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1465573&amp;server=www.vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=23C50B&amp;fullscreen=1" /><embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1465573&amp;server=www.vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=23C50B&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="450" height="254"></embed></object></p>
<div style="text-align: left;">
<div align="center"> </div>
<div align="center"></div>
<p><a href="http://www.makezine.com">Make Magazine</a>, famous for the <a href="http://www.hackaday.com/tag/makerfaire">Maker Faire</a>, among other things, has announced a new project called <a href="http://www.makezine.com/tv/">Make: television</a>. The show will be coming to public television stations throughout the USA starting early 2009. The big news is that you can submit 2 minute long videos of your projects to be included in the show&#8217;s <a href="http://www.makerchannel.org/">Maker Channel</a> segment. The bigger news is that if your video is selected, they&#8217;ll send you a $50 gift certificate from the Maker Shed and a free year of Make Magazine.</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2390/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2390/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2390&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/08/04/make-television/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>
	</item>
		<item>
		<title>How-To: Make an RGB combination door lock (Part 1)</title>
		<link>http://hackaday.com/2008/06/12/how-to-make-an-rgb-combination-door-lock-part-1/</link>
		<comments>http://hackaday.com/2008/06/12/how-to-make-an-rgb-combination-door-lock-part-1/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 18:30:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[home hacks]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[led hacks]]></category>
		<category><![CDATA[door]]></category>
		<category><![CDATA[entry]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[keypad]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/06/12/how-to-make-an-rgb-combination-door-lock-part-1/</guid>
		<description><![CDATA[Part 2 can be found here Putting a custom designed electronic lock on your space seems like a geek right of passage. For our latest workspace, we decided to skip the boring numbered keypad and build a custom RGB backlit keypad powered by an Arduino. Instead of typing in numbers, your password is a unique [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1975&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://hackadaycom.files.wordpress.com/2008/06/final-button-code-entry.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
<a href="http://hackaday.com/2008/06/20/how-to-make-an-rgb-combination-door-lock-part-2/"><em>Part 2 can be found here<br />
</em></a><br />
Putting a custom designed electronic lock on your space seems like a geek right of passage. For our latest workspace, we decided to skip the boring numbered keypad and build a custom RGB backlit keypad powered by an Arduino. Instead of typing in numbers, your password is a unique set of colors. In today&#8217;s How-To, we&#8217;ll show you how to build your own and give you the code to make it all work.</p>
<p><span id="more-1975"></span></p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/jmg-octinct.jpg?w=450&#038;h=231" border="0" alt="" hspace="4" vspace="4" width="450" height="231" /><br />
The basic design for the RGB keypad came from [JMG]&#8216;s <a href="http://www.upwardnotnorthward.com/2008/01/my-first-project-full-colour-rgb-monome.html">Arduino based Monome clone</a>. He used an Arduino, and multiplexed RGB LEDs with some digital potentiometers to create a color mixing keypad. Since we couldn&#8217;t fit the complete 4&#215;4 keypad into a standard 2 gang wall box, we chopped the design down to a 2&#215;4 matrix. This cuts down significantly on the cost to build the keypad and makes the code that much easier to digest.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-keypad-diag.jpg?w=450&#038;h=320" border="0" alt="" hspace="4" vspace="4" width="450" height="320" /></p>
<p>To build your own RGB keypad, you&#8217;ll need the following:</p>
<ul>
<li>An electric door strike (<a href="http://www.smarthome.com/519012.html">Smarthome.com</a>)</li>
<li>A locking door handle (Any hardware store)</li>
<li>An Arduino or compatible clone (<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=666">Sparkfun</a>, <a href="http://www.adafruit.com/index.php?main_page=product_info&amp;cPath=17&amp;products_id=50&amp;zenid=d0a2bb958e7ceaf5afaf51f33dab3a1d">adafruit</a> and others)</li>
<li>1 TIP120 transistor</li>
<li>1 1N4001 diode</li>
<li>10 1N4148 diodes</li>
<li>4 2n2222 transistors</li>
<li>1 Monome style keypad (<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=7835">Sparkfun Electronics</a>)</li>
<li>1 Keypad PC board (<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8033">Sparkfun Electronics</a>)</li>
<li>8 RGB LEDs (<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=105">Sparkfun Electronics</a>)</li>
<li>1 7805 voltage regulator</li>
<li> 4 100 ohm resistors</li>
<li>2 150 ohm resistors</li>
<li>8 1 kohm resistors</li>
</ul>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/new-strike-lock-mechanism.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
To reliably lock and unlock the door, we ordered an electric door strike. We scored this one as an open box item from <a href="http://www.smarthome.com/">Smarthome.com</a>. It&#8217;s a 12 Volt DC unit designed just for Schlage commercial door locks. The edge of the strike is slightly recessed from the mounting plate, so it might not work with certain locks. It features a thinner body than the non-recessed version, which will allow us to cut a smaller but deeper hole in the door frame. Without power, the strike stays locked, keeping the locking door shut. When 12 volts is applied to the coil, the strike releases, allowing the door to be pulled open. For the prototype build, you don&#8217;t have to purchase a strike just yet; you can use a LED and a resistor to indicate the door lock state for testing your code.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-key-matrix-rgbhowto.jpg?w=450&#038;h=261" border="0" alt="" hspace="4" vspace="4" width="450" height="261" /><br />
The keypad is actually built from two separate circuits that physically overlap. The input circuit is a simple keypad matrix. To read each button push, the Arduino brings one keypad input line high and checks the voltage of the four output lines in order. The diodes on the PC board prevent feedback across the rows and columns.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-led-pot-diag.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
The RGB LEDs are lit via a completely separate set of circuits. Each row of like colored LEDs is brightness controlled by a digital potentiometer. The digital pot works just like a normal pot, but it&#8217;s digitally controlled by the Arduino. Meanwhile, each column of LEDs is activated by a separate transistor. By quickly changing the resistance and stepping through the columns, each LED will appear to be individually controlled.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-door-lock-diag.jpg?w=450&#038;h=272" border="0" alt="" hspace="4" vspace="4" width="450" height="272" /><br />
The door strike circuit is pretty simple. Since it contains a coil, we&#8217;ll treat it like the coil of a stepper motor and use a TIP120 transistor to supply the power. When power is removed from a coil, the collapsing magnetic field creates a current within the coil. To keep the TIP120 from burning out, we&#8217;ll add a diode to handle the surge created by the field breakdown.</p>
<p>update: [Triffid] pointed out that the diode is better placed in parallel with the coil to handle the transient surge. He&#8217;s correct, but the circuit here has operated perfectly for several months, so you&#8217;ll be fine either way.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/sparkfun-pcb-buton.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
The traces for the buttons looked a bit challenging to etch at home, so we ordered this PC board that Sparkfun produces for their keypads. Sparkfun helpfully provides the layout for these keys in their eagle library, so you can make your own PCB if you prefer. For reliability, you&#8217;ll probably want to have it commercially produced. The board wasn&#8217;t really designed to break apart, but after a review of the traces and vias we decided that we could get away with trimming a couple of rows from the board.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/cut-button-pcb.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
We carefully split the board down the middle with a band saw. If you look closely, you can see where some of the vias were actually cut in half. (A paper cutter might work in a pinch) Don&#8217;t forget to put on a mask to keep the dust out of your lungs.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/spark-fun-button-pad.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
Cutting the button pad is much easier. The pads have pre-scored lines that just need a quick swipe of a sharp knife or scissors to separate them.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/button-pcb-parts.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
The new shorter PCB only needs a few parts: some 1N4148 diodes and the RGB LEDs. The silkscreen on the board indicates the direction and position of diodes and LEDs.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/cut-diode-legs-short-rgb-howto.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
Once you solder on the 1n4148 diodes, cut them as close to the PC board as you can. Flat head cutters like these work extremely well. The keypad will sit on this side of the board and we want to make sure that it can sit as flat as possible.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/led-installation-rgb-howto.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
Install the LEDs in the orientation indicated by the silk screen. Carefully push them down into the board until they&#8217;re inserted just like this. If you let them stick up too high, they&#8217;ll interfere with the keypad buttons being pushed.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/button-pcb-wired-rgb-howto.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
Once you&#8217;ve soldered all the LEDs in place, clip them flush as well. Then you&#8217;ll need to add some cable to jumper from the keypad to the interface board we&#8217;ll build. We used some old CAT-5 wiring. Since each axis of the board has eight pins, it&#8217;s perfect for the application.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/sacrificed-led-rgb-howto.jpg?w=450&#038;h=226" border="0" alt="" hspace="4" vspace="4" width="450" height="226" /><br />
Each RGB LED has three LEDs inside the package. They share a common terminal and have a single separate lead coming out. Because they have different characteristics &#8211; that is brightness, current and voltage requirements, we spent some time testing out various combinations. We even murdered a couple of innocent $2 LEDs just for you. Hey, the other two colors are still usable&#8230;</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/color-balance-leds.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
After some experimentation, we managed to find the right combination to create some fairly white light. The requirements will vary between manufacturers, but for the Sparkfun LEDs we found that a pair of 100 ohm resistors and a single 150 ohm resistor blended the red, green and blue fairly well.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/color-balance-test-rgb-howto.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
The color combination was hard on the eyes until we put the keypad over the LED to double check our findings. In real life, you can see some blending lines from the offset of each LED, but it still looks great.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/keypad-schematic-small.jpg?w=450&#038;h=242" border="0" alt="" hspace="4" vspace="4" width="450" height="242" /><br />
The circuit has plenty of components, but it&#8217;s pretty easy to build. We&#8217;ll break everything up by section to keep things easy. You can download the all of the schematics, Eagle project files, and code for the Arduino <a href="http://biobug.org/rgb-keypad/">here</a>.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/ad5206-schematic.jpg?w=450&#038;h=234" border="0" alt="" hspace="4" vspace="4" width="450" height="234" /><br />
The digital pot has six outputs. Each of these will power a row of red, green or blue LEDs, via a color matching resistor. The digital potentiometer wiring comes directly from <a href="http://www.arduino.cc/en/Tutorial/SPIDigitalPot">this how-to</a>. You can read it if you need more information, or use our quick version:</p>
<ul>
<li> Connect AD5206 pins 3, 6, 10, 13, 16, 21 and 24 to 5v.</li>
<li> Connect pins 1, 4, 9, 12, 15, 18, 19, and 22 to ground.</li>
<li> Connect pot pin 5 to Arduino pin 10</li>
<li> Connect pot pin 7 to Arduino pin 11</li>
<li> Connect pot pin 8 to Arduino pin 13</li>
</ul>
<p>Grab four 100 ohm resistors and two 150 ohm resistors. Place them in the breadboard in a row with each end in a separate bus. (Across the center of the board is easiest) Connect the six LED leads from the keypad to one end of each resistor &#8211; reds get the 150&#8242;s and blue and green into the 100&#8242;s. Here&#8217;s the connection order we used.</p>
<ul>
<li>RED3 to a 150 ohm resistor to pot pin 14</li>
<li>GREEN3 to a 100 ohm resistor to pot pin 11</li>
<li>BLUE3 to a 100 ohm resistor to pot pin 2</li>
<li>RED4 to a 150 ohm resistor to pot pin 23</li>
<li>GREEN4 to a 100 ohm resistor to pot pin 20</li>
<li>BLUE4 to a 100 ohm resistor to pot pin 17</li>
</ul>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/transistors-schematic1.jpg?w=450&#038;h=241" border="0" alt="" hspace="4" vspace="4" width="450" height="241" /><br />
To ground the LED busses, we&#8217;ll be using four 2N2222 transistors. The Arduino will trigger each transistor individually through a 1Kohm resistor. The collector of each transistor connects to a ground line from the keypad. The emitter of each transistor is connected to the ground. The four transistor select lines connect to Arduino pins 0, 1, 2, and 3. Yes, they&#8217;re marked Analog in, but it doesn&#8217;t matter.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/switches-schematic.jpg?w=350&#038;h=423" border="0" alt="" hspace="4" vspace="4" width="350" height="423" /><br />
The keypad switch matrix is connected in four columns and two rows. Each of the four columns gets a pull-down resistor. We used 1Kohm resistors for R11, R12, R13, and R14; one lead connects to the columns and the other is grounded.</p>
<p>Arduino pins 2 and 3 should connect to the two ungrounded lines, which are marked SWITCH3 and SWITCH4 on the PC board (5 and 6 on the schematic).</p>
<p>Arduino pins 6, 7, 8, and 9 should connect to the four output lines marked SWT-GND1, SWT-GND2, SWT-GND3, and SWT-GND4 (1-4 on the schematic).</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/7805-schematic.jpg?w=365&#038;h=213" border="0" alt="" hspace="4" vspace="4" width="365" height="213" /><br />
The final version of the board takes a 12VDC input to drive the door lock. We added a 7805 to drop the 12V down to 5V for the Arduino. You don&#8217;t need it for the prototype version unless you want to test the striker. The Arduino has an on-board regulator, but 7805&#8242;s are cheap and it helps reduce the load on the Arduino&#8217;s built in regulator. For code development, we just connected an LED with a resistor to the output line that will control the door lock.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/prototyped-board-rgb-howto.jpg?w=450&#038;h=250" border="0" alt="" hspace="4" vspace="4" width="450" height="250" /><br />
With everything wired in the prototyping board, it&#8217;s time to test things out. With any luck, you&#8217;ll soon be rewarded by the pulsing, glowing sight of several RGB LEDs under your tender digits.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/arduino-rgb-code-upload.jpg?w=450&#038;h=323" border="0" alt="" hspace="4" vspace="4" width="450" height="323" /><br />
Programming the Arduino is a snap. Just download the software for your OS <a href="http://www.arduino.cc/en/Main/Software">here</a>. Now follow the <a href="http://www.arduino.cc/en/Guide/HomePage">Getting Started guide</a> to get the Arduino software talking to the Arduino board. Once you&#8217;ve enjoyed the blinking LED demo, come back here and get your keypad rolling.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/serial-console-arduino-test.jpg?w=450&#038;h=214" border="0" alt="" hspace="4" vspace="4" width="450" height="214" /><br />
Once you&#8217;ve set up and tested your Arduino, it&#8217;s time to test out your prototype. Download the button_test code from <a href="http://biobug.org/rgb-keypad/">here</a>. Paste it into a new sketch and upload it to the Arduino. Click the serial console button and you should start seeing dots accumulating in the window. If you press a button on the pad, the Arduino should print a message to the console and toggle the lock output state.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/rgb-fade-led-test.jpg?w=450&#038;h=276" border="0" alt="" hspace="4" vspace="4" width="450" height="276" /><br />
Once your buttons are tested, you&#8217;ll probably want to try out your LEDs. Grab the RGB_light_fade routine from the <a href="http://biobug.org/rgb-keypad/">same page</a> and upload it to your Arduino. You should get treated to a nice little light show. This is our favorite demo because it really shows off the color mixing capabilities of the digital potentiometer.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/final-button-green-entry.jpg?w=450&#038;h=212" border="0" alt="" hspace="4" vspace="4" width="450" height="212" /><br />
With your LEDs and buttons working, you can grab the row_entry_pad_meffect lock code from the same place and upload it. Now the keypad should start flashing blue buttons while it&#8217;s idle. On key presses, the keys will change colors. By entering the correct color code, the pad will flash green and unlock the door for 10 seconds. If you go over the limit counter, it will flash red for 30 seconds.</p>
<p><img src="http://hackadaycom.files.wordpress.com/2008/06/final-button-code-entry.jpg?w=450&#038;h=300" border="0" alt="" hspace="4" vspace="4" width="450" height="300" /><br />
Next time we&#8217;ll show you how to make the permanent version of the keypad, walk through the code for the Arduino, make the PC board, cut a custom wall plate, and install the lock strike.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1975/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1975/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1975/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1975/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1975/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1975/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1975/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1975/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1975/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1975/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1975&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/06/12/how-to-make-an-rgb-combination-door-lock-part-1/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/final-button-code-entry.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/jmg-octinct.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-keypad-diag.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/new-strike-lock-mechanism.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-key-matrix-rgbhowto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-led-pot-diag.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/whiteboard-door-lock-diag.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/sparkfun-pcb-buton.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/cut-button-pcb.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/spark-fun-button-pad.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/button-pcb-parts.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/cut-diode-legs-short-rgb-howto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/led-installation-rgb-howto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/button-pcb-wired-rgb-howto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/sacrificed-led-rgb-howto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/color-balance-leds.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/color-balance-test-rgb-howto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/keypad-schematic-small.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/ad5206-schematic.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/transistors-schematic1.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/switches-schematic.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/7805-schematic.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/prototyped-board-rgb-howto.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/arduino-rgb-code-upload.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/serial-console-arduino-test.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/rgb-fade-led-test.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/final-button-green-entry.jpg" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/final-button-code-entry.jpg" medium="image" />
	</item>
		<item>
		<title>How-To: Super simple serial terminal</title>
		<link>http://hackaday.com/2008/05/29/how-to-super-simple-serial-terminal/</link>
		<comments>http://hackaday.com/2008/05/29/how-to-super-simple-serial-terminal/#comments</comments>
		<pubDate>Fri, 30 May 2008 03:00:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[hackaday]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/05/29/how-to-super-simple-serial-terminal/</guid>
		<description><![CDATA[This hack shows how to make a dumb terminal out of a keyboard, LCD screen, and an 8-bit microcontroller. From time to time, a portable dumb terminal can be handy for when you have to rescue a headless server that&#8217;s acting up or if you are building a minicomputer out of a WRT, or if [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1895&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2008/05/root.png?w=450&#038;h=338" border="0" alt="" hspace="4" vspace="4" width="450" height="338" /></div>
<p>This hack shows how to make a dumb terminal out of a keyboard, LCD screen, and an 8-bit microcontroller. From time to time, a portable dumb terminal can be handy for when you have to rescue a headless server that&#8217;s acting up or if you are building a minicomputer out of a WRT, or if you just want to learn how to run a keyboard and LCD screen with a microcontroller. This super simple serial terminal will use RS-232 to control a headless linux system. Additionally, you might want to check into some of the <a href="http://tuxtraining.com/2008/05/15/welcome-to-the-linux-command-line-interface-desktop/">command line interface programs</a> that allow web browsing, AIM and IRC chatting and more directly from the terminal, but nothing beats being able to <a href="http://random.noflashlight.com/">track your pizzas</a> with this device.</p>
<p>The Linux system in question here will be <a href="http://www.linuxmint.com/">Linux Mint</a>. It&#8217;s a young distro based on Ubuntu that&#8217;s gaining a lot of attention lately, though the principles can be used for other Linux distros.</p>
<p><span id="more-1895"></span></p>
<p>The Hardware:<br />
For this How-To we&#8217;ll be using an ATMEGA128 running at 16MHz. Since this device will be communicating through RS-232, we&#8217;re going to need a level shifter. RS-232 uses 12 volt signals which will fry our 5V microcontroller. To fix this problem, we&#8217;re going to use a MAX233 chip.</p>
<div style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2008/05/max233%28single%29.png?w=450&#038;h=202" border="0" alt="MAX233 schematic" hspace="4" vspace="4" width="450" height="202" /></div>
<p>This is the schematic of the level shifter circuit.</p>
<div style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2008/05/max233_layout.png?w=377&#038;h=369" border="0" alt="Max233 layout" hspace="4" vspace="4" width="377" height="369" /></p>
<div style="text-align:left;">This is an example layout.</div>
</div>
<p>I&#8217;m using the <a href="http://www.futurlec.com/ET-AVR_Stamp.shtml">ET-AVR stamp module </a>with the <a href="http://www.futurlec.com/ET-AVR_Stamp_Board.shtml">stamp board </a>for this project. This dev board is cheap and has the essentials built in. I&#8217;ll be using the on board power supply and the MAX232 RS-232 level converter.</p>
<p>The LCD chosen for this project is a very common 4&#215;20 character LCD. These LCDs are really easy to control <a href="http://www.maxmon.com/lcd2.PDF">with a microcontroller</a>(PDF), and <a href="http://www.maxmon.com/lcd1.PDF">even without one</a>(PDF). The HD44780 chip allows for several bit widths for parallel programming, as well as commands, and even custom characters. This LCD has nice software library, which makes it even easier to use.</p>
<p>A more attractive choice would have been to go with a graphical LCD, which are also supported by our library, however, we only had the character LCD on hand.</p>
<p>A common AT keyboard will be used for character input, again these aren&#8217;t hard to find, you probably have an extra one laying around somewhere .</p>
<p>If you don&#8217;t want to buy the ET-AVR, you can build the circuit for this hack yourself. (Click for larger pic).</p>
<div style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2008/05/full_schematic.png"><img src="http://hackadaycom.files.wordpress.com/2008/05/full_schematic_sm.png?w=450&#038;h=386" border="0" alt="" hspace="4" vspace="4" width="450" height="386" /></a></div>
<p>A full parts list of above circuit: :</p>
<table border="0">
<tbody>
<tr>
<th>Part</th>
<th> Jameco Part #</th>
<th> Futurlec Part #</th>
</tr>
<tr>
<td>Atmega128 IC</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;productId=1406045">1406045</a></td>
<td><a href="http://www.futurlec.com/Atmel/ATMEGA128.shtml">ATMEGA128-16AC</a></td>
</tr>
<tr>
<td>16MHz Crystal</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=14453&amp;productId=14453">14453 </a></td>
<td><a href="http://www.futurlec.com/Crystals/CRY16000.shtml">CRY16.000</a></td>
</tr>
<tr>
<td>DB9 Connector (female)</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=15771&amp;productId=15771">15771 </a></td>
<td><a href="http://www.futurlec.com/Connectors/DSUBSCF9.shtml">DSUBSCF9</a></td>
</tr>
<tr>
<td>DB9 Hood</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;productId=1719922">1719922</a></td>
<td><a href="http://www.futurlec.com/Connectors/DSUBCH9.shtml">DSUBCH9</a></td>
</tr>
<tr>
<td>MAX233 Level Converter</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=106163&amp;productId=106163">106163</a></td>
<td><a href="http://www.futurlec.com/Maxim/MAX233CPP.shtml">MAX233CPP</a></td>
</tr>
<tr>
<td>22pF Capacitor (x&#8217;s2)</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;productId=332340">332340</a></td>
<td><a href="http://www.futurlec.com/Capacitors/C022PC.shtml">C022PC</a></td>
</tr>
<tr>
<td>0.1uF Ceramic Capacitor</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=151118&amp;productId=151118">151118</a></td>
<td><a href="http://www.futurlec.com/Capacitors/C100UC.shtml">C100UC</a></td>
</tr>
<tr>
<td>220 ohm Resistor</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=690700&amp;productId=690700">690700</a></td>
<td><a href="http://www.futurlec.com/Res14W.shtml">R220R14W</a></td>
</tr>
<tr>
<td>10k ohm Resistor</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=691104&amp;productId=691104">691104</a></td>
<td><a href="http://www.futurlec.com/Res14W.shtml">R010K14W</a></td>
</tr>
<tr>
<td>10k Potentiometer</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=255522&amp;productId=255522">255522</a></td>
<td><a href="http://www.futurlec.com/Potentiometers/TRIM10K.shtml">TRIM10K</a></td>
</tr>
<tr>
<td>6 Pin Minidin (optional)</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;productId=310789">310789 </a>(cut)</td>
<td><a href="http://www.futurlec.com/DIN-S-VHS.shtml">MINIDIN6PC</a></td>
</tr>
<tr>
<td>4&#215;20 Character LCD</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=658873&amp;productId=658873">658873</a></td>
<td><a href="http://www.futurlec.com/LED/BLUELCD16x2BL.shtml">BLUELCD20X4BL</a></td>
</tr>
<tr>
<td>AT Keyboard</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=319812&amp;productId=319812">319812</a></td>
</tr>
</tbody>
</table>
<p>If you would like to use the ET-AVR or some other dev board, you can use this parts list:</p>
<table border="0">
<tbody>
<tr>
<th>Part</th>
<th> Jameco Part #</th>
<th> Futurlec Part #</th>
</tr>
<tr>
<td>ET-AVR stamp module</td>
<td></td>
<td><a href="http://www.futurlec.com/ET-AVR_Stamp.shtml">ET-AVR STAMP</a></td>
</tr>
<tr>
<td>ET-AVR stamp board</td>
<td></td>
<td><a href="http://www.futurlec.com/ET-AVR_Stamp.shtml">ET-AVR STAMP </a></td>
</tr>
<tr>
<td>ET-AVR programmer</td>
<td></td>
<td><a href="http://www.futurlec.com/ET-AVR_Stamp.shtml">ET-AVR ISP</a></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>DB9 Connector (female)</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=15771&amp;productId=15771">15771 </a></td>
<td><a href="http://www.futurlec.com/Connectors/DSUBSCF9.shtml">DSUBSCF9</a></td>
</tr>
<tr>
<td>DB9 Hood</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;productId=1719922">1719922</a></td>
<td><a href="http://www.futurlec.com/Connectors/DSUBCH9.shtml">DSUBCH9</a></td>
</tr>
<tr>
<td>220 ohm Resistor</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=690700&amp;productId=690700">690700</a></td>
<td><a href="http://www.futurlec.com/Res14W.shtml">R220R14W</a></td>
</tr>
<tr>
<td>10k ohm Resistor</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=691104&amp;productId=691104">691104</a></td>
<td><a href="http://www.futurlec.com/Res14W.shtml">R010K14W</a></td>
</tr>
<tr>
<td>10k Potentiometer</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=255522&amp;productId=255522">255522</a></td>
<td><a href="http://www.futurlec.com/Potentiometers/TRIM10K.shtml">TRIM10K</a></td>
</tr>
<tr>
<td>6-Pin Minidin (optional)</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;productId=310789">310789</a> (cut)</td>
<td><a href="http://www.futurlec.com/DIN-S-VHS.shtml">MINIDIN6PC</a></td>
</tr>
<tr>
<td>4&#215;20 Character LCD</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=658873&amp;productId=658873">658873</a></td>
<td><a href="http://www.futurlec.com/LED/BLUELCD16x2BL.shtml">BLUELCD20X4BL</a></td>
</tr>
<tr>
<td>AT Keyboard</td>
<td><a href="http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&amp;storeId=10001&amp;catalogId=10001&amp;pa=319812&amp;productId=319812">319812</a></td>
</tr>
</tbody>
</table>
<p><span style="font-weight:bold;">The Software</span>:<br />
We used <a href="http://winavr.sourceforge.net/">WinAVR</a> with <a href="http://hubbard.engr.scu.edu/avr/avrlib/">AVRlib</a> installed. AVRlib is a set of libraries that can run servos, set up A/D conversions, etc. It can do pretty much anything else you need it to do. To install WinAVR, <a href="http://sourceforge.net/project/showfiles.php?group_id=68108&amp;package_id=66543&amp;release_id=598832">get the newest version here</a> and follow the directions on the installer. We generally don&#8217;t follow the directions here for installing AVRlib and place it into the include folder of WinAVR installation found at C:/WinAVR/avr/include/AVRlib. This way your included headers are easier to see and find.</p>
<p>eg. #include &lt;AVRlib/servo.h&gt;</p>
<p>Once this is done, you can open up Programmer&#8217;s Notepad and begin coding. We&#8217;ve already written <a href="http://projectbloc.com/Terminal.zip">the code for this project</a> (with room left over for some adventurous readers to modify).</p>
<p><span style="font-weight:bold;">The Keyboard Protocol:</span><br />
Keyboards use a simple serial communication setup. There are only 2 lines, the DATA and the CLOCK. Generally, nothing is happening on these lines (both the CLOCK and DATA lines are high) until you hit a key. Once a key is pressed, the DATA line goes low. Shortly thereafter, the CLOCK falls. The clock will go for a total of 11 cycles. As this happens, data must be read form the DATA line on the falling edge of the clock. The data is sent from the keyboard in reverse (least significant bit first) with a parity and a stop bit.</p>
<p>The overall data package is:</p>
<table border="1">
<tbody>
<tr>
<td style="text-align:center;">Start Bit</td>
<td style="text-align:center;">D0</td>
<td style="text-align:center;">D1</td>
<td style="text-align:center;">D2</td>
<td style="text-align:center;">D3</td>
<td style="text-align:center;">D4</td>
<td style="text-align:center;">D5</td>
<td style="text-align:center;">D6</td>
<td style="text-align:center;">D7</td>
<td style="text-align:center;">Parity</td>
<td style="text-align:center;">Stop Bit</td>
</tr>
</tbody>
</table>
<p>The Start bit, Parity bit, and Stop bits are going to be ignored in this simple hack.</p>
<p>After the keyboard sends a key&#8217;s scancode, it also sends a 0xF0 when the key has been released.</p>
<p>Looking at an example, it is easier to understand. Imagine the &#8216;m&#8217; key has been hit on the keyboard. The data line goes low to make a start bit, then the scancode is sent with the LSB first, then the parity (odd parity) and a stop bit. Since the scancode for &#8216;m&#8217; is 0x3A, we should get that value in the data portion of the package. Again, the keyboard sends data LSB first, so since we are expecting 0x3A (binary 00111010) we will actually get the reverse of that (binary 010111100). Just remember to read the data bits from right to left to make it easier to see the scancode. After the data, we&#8217;ll receive a 1 in the parity bit to make the package odd parity, then the stop bit. After the scan code has been sent, the keyboard will send another scancode when the button has been released. This release code is always 0xF0 and can be ignored, and it gets handled in the code.</p>
<p>So when &#8216;m&#8217; is hit, the keyboard sends :</p>
<table border="1">
<tbody>
<tr>
<td style="text-align:center;">0</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">= &#8216;m&#8217; or 0x3A</td>
</tr>
<tr>
<td style="text-align:center;">Start Bit</td>
<td style="text-align:center;">D0</td>
<td style="text-align:center;">D1</td>
<td style="text-align:center;">D2</td>
<td style="text-align:center;">D3</td>
<td style="text-align:center;">D4</td>
<td style="text-align:center;">D5</td>
<td style="text-align:center;">D6</td>
<td style="text-align:center;">D7</td>
<td style="text-align:center;">Parity</td>
<td style="text-align:center;">Stop bit</td>
<td style="text-align:center;"></td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td style="text-align:center;">0</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">0</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">1</td>
<td style="text-align:center;">= Release (0xF0)</td>
</tr>
<tr>
<td style="text-align:center;">Start Bit</td>
<td style="text-align:center;">D0</td>
<td style="text-align:center;">D1</td>
<td style="text-align:center;">D2</td>
<td style="text-align:center;">D3</td>
<td style="text-align:center;">D4</td>
<td style="text-align:center;">D5</td>
<td style="text-align:center;">D6</td>
<td style="text-align:center;">D7</td>
<td style="text-align:center;">Parity</td>
<td style="text-align:center;">Stop bit</td>
<td style="text-align:center;"></td>
</tr>
</tbody>
</table>
<p>A more advanced explanation on how this works can be found <a href="http://www.beyondlogic.org/keyboard/keybrd.htm">elsewhere</a>.</p>
<p>We must only read the data line as the clock falls to make sure we get good data. We attempted to do this using an external interrupt on the ATMEGA128 and AVRlib&#8217;s external interrupts routines. This proved more complicated than it needed to be. We then remembered that not too long ago Sparkfun had posted about some kind of keyboard widget on their site that used an AVR. The code for their keyboard reading routine was really simple and didn&#8217;t use external interrupts at all. We modified the &#8220;getkey&#8221; routine from the one [Nathan] at Sparkfun wrote for their <a href="http://www.sparkfun.com/commerce/present.php?p=Key-Counter">key-counter widget</a>.</p>
<p>Once the scancodes have been read, they must be converted into something useful. As far as we could tell, keyboard scancodes have no mathematical relation to ASCII code so we set up two ASCII lists. Each list is actually an array of ASCII characters. One list has all the values for shifted characters, and another list has the values for unshifted characters. We looked up the ASCII value for each scancode and placed them in the array in order. This allows for a simple way to return the ASCII value of a given scancode.</p>
<p>When you hit the &#8216;h&#8217; key for instance, the program catches the scancode 0&#215;33 and goes to the 0&#215;33 rd value in that array, which happens to be 0&#215;68, the ASCII value of &#8216;h&#8217;. The resulting ASCII character is sent to the LCD and to the UART, both being controlled by AVRlib to make them easier to deal with.</p>
<p>There are a lot of 0s used as placeholders in the arrays. This is because AVRlib automatically loads the LCD&#8217;s CG RAM address 0&#215;00 (the ASCII code for NULL) with a character. Basically, if those codes are send to the LCD, it will just look like garbled mess. We used &#8217;0&#8242; so we could tell what was going in if that were the case.</p>
<p>Extended keys are not currently supported. The Function keys (F1-F12) have been given normal functions used in Linux, but not supported by the rest of the program. For example, pressing F1 sends the same command as &#8220;Ctrl+X&#8221; in Linux. See the code for the other function keys. Not all the keys are used (purposely) so if you want to add custom functions to the terminal, there&#8217;s plenty of space to.</p>
<p><span style="font-weight:bold;">The UART:</span><br />
The ATMEGA128 has two UART ports. Using the first one (UART0) characters can be sent from the AVR to the terminal, and vice versa. The UART is initialized and set to 9600 baud, 8-bits, no parity, one stop bit. Make sure to set the terminal program to the same settings. We&#8217;ll modify Linux later to make sure the settings match.</p>
<p>With AVRlib, using the UART is a breeze. Simply initialize it, give it a baud rate, and you can start sending and receiving data.</p>
<p><span style="font-weight:bold;">Fiddling with Linux:</span><br />
You&#8217;ll either need a monitor and keyboard on the Linux machine, or SSH into the machine and set this up.</p>
<p>There are <a href="http://www.howtoforge.com/setting_up_a_serial_console">several</a> <a href="http://znark.com/tech/serialconsole.html">good</a> <a href="http://www.vanemery.com/Linux/Serial/serial-console.html">guides</a> on the internet for setting up a Linux machine to use a serial console. However, Linux Mint is based off of Ubuntu, which is a bit different than most OSs when it comes to setting up serial access at boot. <a href="http://www.debuntu.org/how-to-set-up-a-serial-console-on-ubuntu">This guide explains the basics</a>, but we&#8217;ll need to tweak that a little to make it work for us.</p>
<p>First you need to find out if you even have a serial port on your machine. Look at the back and try to find a DB9 connector.</p>
<div style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2008/05/serial_port.png?w=241&#038;h=396" border="0" alt="" hspace="4" vspace="4" width="241" height="396" /></div>
<p>Now you will need to figure out what that serial port is referenced on your machine. Open a terminal window on the machine and enter the following command:</p>
<p>======================================<br />
<code>$ dmesg | grep tty</code><br />
======================================</p>
<p>The output will be something like this:<br />
======================================<br />
<code>[ 35.742036] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A<br />
[ 35.742435] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A</code><br />
======================================<br />
This shows that we have 1 serial port on this particular machine. And it is called &#8220;ttyS0&#8243;.</p>
<p>Now we must set up a way of logging into the serial console. This is handled by the getty process. This process will open the tty port you specify and send a login prompt.</p>
<p>To set this up, we need to create a file in /etc/event.d called ttyS0. Open up your favorite text editor and type in the following:</p>
<p>======================================<br />
<code>start on runlevel 2<br />
start on runlevel 3<br />
start on runlevel 4<br />
start on runlevel 5</code></p>
<p>stop on runlevel 0<br />
stop on runlevel 1<br />
stop on runlevel 6</p>
<p>respawn<br />
exec /sbin/getty -L 115200 ttyS0 vt102<br />
======================================</p>
<p>Now save this file as /etc/event.d/ttyS0.</p>
<p>Now, that&#8217;s fine for the regular users on the machine, but to do things as root, there will have to be a pass in the /etc/securetty file. Go to /etc and use a text editor to open the securetty file. (That&#8217;s &#8220;securetty&#8221;, not &#8220;security&#8221; ).In this file, type &#8220;ttyS0&#8243;. This allows that port to have root access. Save the file and close the editor.<br />
Now the final step is to have the console available when the machine boots. To do this, we must modify the grub bootloader. You have to go to /boot/grub and edit the menu.lst file. First go there and make a clean copy of the menu.lst file:</p>
<p>======================================<br />
<code>cp /boot/grub/menu.lst /boot/grub/menu_orig.lst</code><br />
======================================</p>
<p>Now open menu.lst in a text editor and type the following</p>
<p>======================================<br />
<code>serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1<br />
terminal --timeout=10 serial console</code><br />
======================================</p>
<p>This first line tells grub that you want ttyS0 to be used (&#8211;unit=0) with a baud rate of 9600 (&#8211;speed=9600) using 8n1 (&#8211;word =8&#8211;parity=no &#8211;stop=1)</p>
<p>The second line says to display the terminal on both the serial console as well as the screen, if there is one.</p>
<p>If you want to watch the boot messages on the serial console, you can add the following line to the end of the &#8220;kernel&#8221; line in this file:</p>
<p>======================================<br />
<code>console=ttyS0,9600n8 console=tty0</code><br />
======================================</p>
<p>Save this file.</p>
<p>Now you should have access to the serial console when you boot, but the default shell is bash. This is bad because bash sends a lot of extra characters when it executes commands. On many terminals, these characters are stripped from displaying, however, it is hard to do that on an LCD, and with only 80 characters, we don&#8217;t have much room to spare on our screen. We need to use something a little simpler.</p>
<p>[Fabienne] suggested using sh as the shell to get rid of bash&#8217;s weird characters. This worked during tests, so we made it the default shell on the machine. This allows it to automatically load during the boot, making it much easier to use with the device we&#8217;ve just made.To do this, simply open a terminal window and type:</p>
<p>======================================<br />
<code>chsh</code><br />
======================================</p>
<p>This will ask you for your password. Once you enter it, you will see a screen like this:</p>
<p>======================================<br />
<code>Changing the login shell for &lt;username&gt;<br />
Enter the new value, or press ENTER for the default.<br />
Login shell [/bin/bash]</code><br />
======================================</p>
<p>At this point you need to type the following:</p>
<p>======================================<br />
<code>/bin/sh<br />
</code>======================================</p>
<p>Hitting ENTER again will save this new setting.</p>
<p>Now you are ready to connect the device and see it in action!</p>
<p><span style="font-weight:bold;">Connecting the device:</span><br />
You can play with this on a windows machine, but its real power is with a Linux machine. If you have a Windows machine, you can now communicate to the device through hyperterminal or some other <a href="http://realterm.sourceforge.net/">terminal</a> <a href="http://hp.vector.co.jp/authors/VA002416/teraterm.html">program</a>. Just plug in a serial cable to the DB9 plug and set the terminal to 8n1 as mentioned above. Typing on the keyboard will display on the terminal and on the LCD.</p>
<p>To use it with the Linux machine, plug in the DB9 to the serial port on the computer, and turn the machine on. The first that that should happen is that the system will ask you to &#8220;Press any key to continue&#8221;. Hit anything on the keyboard to begin loading the OS. After pressing the key, you should see all the boot information scrolling on the screen. Once this stops, hit &#8220;enter&#8221;. This will bring up the logon screen (remember setting up the getty?).</p>
<div style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2008/05/login.png?w=450&#038;h=338" border="0" alt="" hspace="4" vspace="4" width="450" height="338" /></div>
<p>Type your login name, and hit enter, then your password. As with most Linux systems, typing in the password field will NOT print to the screen. Go ahead and get an &#8220;ls&#8221; of your home directory. Notice that the screen isn&#8217;t large enough to show all the files and folders. We&#8217;ve written in a simple single screen buffer that will show the previous 4 lines displayed on the screen. So this kind of emulates a &#8220;Page Up&#8221; function.</p>
<p>Now you have the code, and the hardware lists, lets see what you can do with it.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1895/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1895/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1895/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1895&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/05/29/how-to-super-simple-serial-terminal/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/root.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/max233%28single%29.png" medium="image">
			<media:title type="html">MAX233 schematic</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/max233_layout.png" medium="image">
			<media:title type="html">Max233 layout</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/full_schematic_sm.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/serial_port.png" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/login.png" medium="image" />
	</item>
		<item>
		<title>iPhone eve&#8217; extra</title>
		<link>http://hackaday.com/2007/06/29/iphone-eve-extra/</link>
		<comments>http://hackaday.com/2007/06/29/iphone-eve-extra/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 03:05:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[cellphones hacks]]></category>
		<category><![CDATA[iphone hacks]]></category>
		<category><![CDATA[macs hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apple iphone]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2007/06/29/iphone-eve-extra/</guid>
		<description><![CDATA[The guys at I-hacked put up a how-to on giving your windows mobile phone some iPhone skinned powers, but later in the day they decided to make it login required. Thanks to [Katrina] for the tip. (requiring logins for contributed content just doesn&#8217;t sit well with me.) [chris] sent in his own round up of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1370&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img width="400" vspace="4" hspace="4" height="232" border="0" src="http://hackadaycom.files.wordpress.com/2007/06/iphone-eve.jpg?w=400&#038;h=232" alt="" /><br />The guys at I-hacked put up <a href="http://www.i-hacked.com/content/view/253/1/">a how-to</a> on giving your windows mobile phone some iPhone skinned powers, but later in the day they decided to make it login required. Thanks to [Katrina] for the tip. (requiring logins for contributed content just doesn&#8217;t sit well with me.)</p>
<p>[chris] sent in his <a href="http://www.geekinvasion.com/forums/index.php?showtopic=874">own</a> round up of his personal projects. </p>
<p>[Chris Coleman] let me know about hacktherazr. They&#8217;ve got some decent <a href="http://www.hacktherazr.com/guides.html">guides</a> on customizing just about everything on the things.</p>
<p>[Ben Heck] got sick of emails, so he&#8217;s offering to build one more xbox 360 laptop, if you <a href="http://benheck.com/xbox-360-laptop-terms/">give him a pile of money</a>.</p>
<p>Staring sunday, I&#8217;ll be ripping the hell out of my <a href="http://biobug.org">new house</a> (and re-doing most of the upstairs). Do me a favor and keep the <a href="http://hackaday.com/tips">tips line</a> brimming over.</p>
<p>[David] has some interesting <a href="http://www.volunteerlabrat.com/default.html?goto=keyboardhack.html">ideas</a> involving wireless AP antennas and wireless keyboards. How about a cantenna&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1370/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1370/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1370/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1370&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2007/06/29/iphone-eve-extra/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2007/06/iphone-eve.jpg" medium="image" />
	</item>
		<item>
		<title>Mobile Mac Mini</title>
		<link>http://hackaday.com/2006/09/05/mobile-mac-mini/</link>
		<comments>http://hackaday.com/2006/09/05/mobile-mac-mini/#comments</comments>
		<pubDate>Tue, 05 Sep 2006 08:44:00 +0000</pubDate>
		<dc:creator>Adam Harris</dc:creator>
				<category><![CDATA[macs hacks]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2006/09/05/mobile-mac-mini/</guid>
		<description><![CDATA[Macmod released some of the first entries for their contest. James and Mick submitted their M3 Mobile Mac Mini. That&#8217;s a touchscreen lcd mounted in the rear, Up front it&#8217;s equipped with video halogen lights and IR range sensors. The chassis is interfaced through a PIC 16F877A controller. You might want to check out the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1017&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://img.engadget.com/common/images/3060000000059416.JPG" border="0" alt="mini-rv-had" hspace="4" vspace="4" width="400" height="325" align="texttop" /></p>
<p><a href="http://www.macmod.com/">Macmod</a> released some of the first entries for their contest. James and Mick submitted their <a href="http://www.macmod.com/content/view/774/221/">M3 Mobile Mac Mini</a>. That&#8217;s a touchscreen lcd mounted in the rear, Up front it&#8217;s equipped with video halogen lights and IR range sensors. The chassis is interfaced through a PIC 16F877A controller. You might want to check out the <a href="http://www.macmod.com/index.php?option=com_content&amp;task=view&amp;id=790">rest of the mods here</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1017/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1017/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1017/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1017/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1017/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1017/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1017/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1017/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1017/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1017/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1017&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2006/09/05/mobile-mac-mini/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Adam Harris</media:title>
		</media:content>

		<media:content url="http://img.engadget.com/common/images/3060000000059416.JPG" medium="image">
			<media:title type="html">mini-rv-had</media:title>
		</media:content>
	</item>
	</channel>
</rss>
