<?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; chriskiick</title>
	<atom:link href="http://hackaday.com/author/chriskiick/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; chriskiick</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>TGIMBOEJ robot edition</title>
		<link>http://hackaday.com/2008/12/02/tgimboej-robot-edition/</link>
		<comments>http://hackaday.com/2008/12/02/tgimboej-robot-edition/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 23:54:19 +0000</pubDate>
		<dc:creator>chriskiick</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[robots hacks]]></category>
		<category><![CDATA[emsl]]></category>
		<category><![CDATA[evil mad scientist laboratories]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[robots.net]]></category>
		<category><![CDATA[team hack-a-day]]></category>
		<category><![CDATA[tgimboej]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=6561</guid>
		<description><![CDATA[Since we last reported about The Great Internet Migratory Box of Electronic Junk, several of these boxes have begun circulating in different areas of the world. Team Hack-a-Day launched three themselves. Robots.net decided that there was a need for a specialized box just for those who hack robots, and have launched their own. The box [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6561&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-6562" title="robotjunk" src="http://hackadaycom.files.wordpress.com/2008/12/robotjunk.jpg" alt="robotjunk" width="450" height="299" /></p>
<p>Since we last reported about <a href="http://hackaday.com/2008/06/27/the-great-internet-migratory-box-of-electronics-junk/">The Great Internet Migratory Box of Electronic Junk</a>, several of these boxes have begun circulating in different areas of the world. Team Hack-a-Day <a href="http://www.teamhackaday.com/forum/viewtopic.php?f=2&amp;t=3009&amp;start=0&amp;st=0&amp;sk=t&amp;sd=a">launched three</a> themselves. <a href="http://robots.net/">Robots.net</a> decided that there was a need for a specialized box just for those who hack robots, and have launched their own.</p>
<p><span id="more-6561"></span>The box contains lots of things that will appeal to roboticists, such as servos, various sized motors, RC car parts, and even a small microcontroller board. Plus hackable items like old CD drives, a trackball, and miscellaneous electronic and hardware parts. Everything fits in a standard sized shipping box, but it is <em>full</em>. A <a href="http://tgimboej.org/Box_Tracking">complete list</a> can be found on the robots.net site, and they also have <a href="http://flickr.com/photos/robotsdotnet/sets/72157609491348854/">pictures</a> of the contents.</p>
<p>Those who wish to track the box can follow it under the name <a href="http://tgimboej.org/Box_Tracking">robots.net-box1</a> on the TGIMBOEJ <a href="http://tgimboej.org/Main_Page">wiki</a>. There is also a place to get your name added to the list of potential recipients. The wiki contains information about the whole process, including how to start a new box.</p>
<br />Posted in news, robots hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/6561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/6561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/6561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/6561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/6561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/6561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/6561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/6561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6561&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/12/02/tgimboej-robot-edition/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ckiick</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/robotjunk.jpg" medium="image">
			<media:title type="html">robotjunk</media:title>
		</media:content>
	</item>
		<item>
		<title>Roborama 2008b</title>
		<link>http://hackaday.com/2008/11/30/roborama-2008b/</link>
		<comments>http://hackaday.com/2008/11/30/roborama-2008b/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 20:58:04 +0000</pubDate>
		<dc:creator>chriskiick</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[robots hacks]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[dprg]]></category>
		<category><![CDATA[maker faire]]></category>
		<category><![CDATA[maker faire austin 2008]]></category>
		<category><![CDATA[roborama]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=6246</guid>
		<description><![CDATA[The Dallas Personal Robotics Group held their semi-annual Roborama contest on Saturday November 22nd in Garland, TX. The DPRG had a table at the recent Austin Makers Faire. Each spring and fall, they hold the Roborama contests for autonomous robots. The spring event has contests for outdoor self-navigating robots. The 2008b contests were designed to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6246&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-6294" title="guys2" src="http://hackadaycom.files.wordpress.com/2008/11/guys2.jpg" alt="guys2" width="450" height="337" /></p>
<p>The <a title="Dallas Personal Robotic Group" href="http://dprg.org" target="_blank">Dallas Personal Robotics Group</a> held their semi-annual Roborama contest on Saturday November 22nd in Garland, TX. The DPRG had a table at the recent <a title="Austin Maker Faire" href="http://hackaday.com/2008/10/19/maker-faire-austin-2008-in-pictures/" target="_self">Austin Makers Faire</a>. Each spring and fall, they hold the Roborama contests for autonomous robots. The spring event has contests for outdoor self-navigating robots. The 2008b contests were designed to test the abilities of indoor robots. Normally held at the Science Place, this year they elected to have the contests at the DPRG warehouse in Garland.</p>
<p><span id="more-6246"></span>There were a wide variety of robots represented: lots of built-from-scratch projects, some lego-bots, and a few off-the-shelf models. Computing power ranged from nothing up to an on-board PC with WiFi. The <a href="http://www.pololu.com/catalog/product/975/pictures">Polulu 3pi</a>&#8216;s were heavily represented. The builders themselves were anything from high school students to veteran club members.</p>
<p><img class="alignnone size-full wp-image-6295" title="table" src="http://hackadaycom.files.wordpress.com/2008/11/table.jpg" alt="table" width="450" height="337" /></p>
<p>Winners had their choice of prizes in order of placement in each contest (first place got to pick first, etc). Prizes included a <a title="STM32 circle demo unit" href="http://www.stm32circle.com/hom/index.php" target="_blank">STM32circle</a>, a pair of servos, or gift certificates to a local <a title="electronics store" href="http://www.tannerelectronics.com/" target="_blank">electronics store</a>. Other entrants got a mini-cylon LED display to make their robot a little more menacing. You can view full <a title="contest web site" href="http://www.deltagr.com/dprg/Roborama2008B_Scores.htm" target="_blank">results here</a>.</p>
<p>The simplest event was the Quick-trip contest. This competition had the robots move from the starting area straight to a second area, and back again. The area is enclosed by walls and marked off with black tape, and the robot must completely cross the tape to be considered in an area. While it sounds very simple, not all robots were able to complete the course. The winners were determined by who successfully finished the course in the least time. This years winner of the Quick-trip contest was a lego-bot named Gort built by student Nathan Harlan.</p>
<p>The second event is a little more complex, called T-Time. This one has three areas, and tests the accuracy of turning. There are 3 areas, the robot starts in one, must visit the other two and return to the start area.  The course is a &#8216;T&#8217; shape, so the robot must make a couple of turns. It was won by David Martineau with BoxyRoxy Mk IV.</p>
<p><img class="alignnone size-full wp-image-6296" title="line-lego" src="http://hackadaycom.files.wordpress.com/2008/11/line-lego.jpg" alt="line-lego" width="450" height="337" /></p>
<p>The third event was a line-following competition. Robots must follow a white stripe on black background, with lots of sharp curves.  The course itself was only about a yard square, so smaller bots fit more easily. This year the line following was all about the Polulu 3pi&#8217;s. At least 4 entered, and all of them used the unmodified hardware: the only difference was the programming. One contestant used a genetic algorithm to evolve a neural-net. Another contestant programmed his on the day of the contest. The winner was PI R Squared, owned by Steve Rainwater.</p>
<p>The next Roborama will be sometime in the spring of 2009. DPRG holds montly club meetings. They also have the Robot Builders Night Out, which is a chance for roboticists to meet at the Garland warehouse and work on thier robots. It is open to anyone, not just club members.</p>
<br />Posted in news, robots hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/6246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/6246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/6246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/6246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/6246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/6246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/6246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/6246/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6246&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/11/30/roborama-2008b/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ckiick</media:title>
		</media:content>

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

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/11/line-lego.jpg" medium="image">
			<media:title type="html">line-lego</media:title>
		</media:content>
	</item>
		<item>
		<title>Autonomous SWARM at large</title>
		<link>http://hackaday.com/2008/08/06/autonomous-swarm-at-large/</link>
		<comments>http://hackaday.com/2008/08/06/autonomous-swarm-at-large/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 11:50:00 +0000</pubDate>
		<dc:creator>chriskiick</dc:creator>
				<category><![CDATA[robots hacks]]></category>
		<category><![CDATA[autonomous]]></category>
		<category><![CDATA[burningman]]></category>
		<category><![CDATA[burningman2008]]></category>
		<category><![CDATA[makerfaire]]></category>
		<category><![CDATA[orb]]></category>
		<category><![CDATA[sphere]]></category>
		<category><![CDATA[swarm]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/08/06/autonomous-swarm-at-large/</guid>
		<description><![CDATA[SWARM has been showing up at a number of places. Until now, the mysterious spheres have been under human control. However, the SWARM has taken the first steps to autonomous control. The SWARM is a kinetic art project consisting of several large self-propelled metallic spheres that interact with each other and their environment. Each orb [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2400&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="302" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/08/had_orb.jpg?w=450&#038;h=302" /><br /><a href="http://orbswarm.com/">SWARM</a> has been showing up at a <a href="http://www.hackaday.com/2008/05/06/maker-faire-2008-swarm/">number of places</a>. Until now, the mysterious spheres have been under human control. However, the SWARM has taken the <a href="http://www.botjunkie.com/2008/08/05/orbswarm-gets-a-brain/">first steps to autonomous control</a>. The SWARM is a kinetic art project consisting of several large self-propelled metallic spheres that interact with each other and their environment. Each orb in the swarm is fitted out with a processor, GPS, accelerometers, and Zigbee wireless communications. The entire project is open source. Slated to appear at the 2008 <a href="http://www.mahalo.com/Burning_Man">Burning Man</a> festival, the orbs will use their GPS to wander within a specified area, keeping themselves &#8220;in bounds&#8221;.</p>
<p><span id="more-2400"></span></p>
<p><img width="450" vspace="4" hspace="4" height="326" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/08/had_orb2.jpg?w=450&#038;h=326" /><br />Here&#8217;s the plot of one orb exploring a soccer field. Burning Man attendees will most likely see the whole SWARM in full autonomous operation.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2400/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2400/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2400/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2400/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2400/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2400&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/08/06/autonomous-swarm-at-large/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ckiick</media:title>
		</media:content>

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/08/had_orb2.jpg" medium="image" />
	</item>
		<item>
		<title>How-To: Binary clock using a Freeduino SB 2.1</title>
		<link>http://hackaday.com/2008/06/06/how-to-binary-clock-using-a-freeduino-sb-21/</link>
		<comments>http://hackaday.com/2008/06/06/how-to-binary-clock-using-a-freeduino-sb-21/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 02:00:00 +0000</pubDate>
		<dc:creator>chriskiick</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[Atmel]]></category>
		<category><![CDATA[atmelavr]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[boarduino]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[freeduino]]></category>
		<category><![CDATA[solarbotics]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/06/06/how-to-binary-clock-using-a-freeduino-sb-21/</guid>
		<description><![CDATA[Solarbotics recently released its own version of the Arduino microcontroller development board. They based their board on the Freeduino design. We thought this would be a good opportunity to review the new board as well as present a How-To about building a simple binary clock. Along the way we&#8217;ll cover some basics on attaching LEDs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1939&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" alt="" src="http://hackadaycom.files.wordpress.com/2008/06/had_freeduino.jpg?w=450&#038;h=220" /><br /><a href="http://www.solarbotics.com/">Solarbotics</a> recently released its own <a href="http://www.hvwtech.com/products_view.asp?ProductID=682">version of the Arduino microcontroller development board</a>. They based their board on the <a href="http://www.freeduino.org/about.html">Freeduino</a> design. We thought this would be a good opportunity to review the new board as well as present a How-To about building a simple binary clock. Along the way we&#8217;ll cover some basics on attaching LEDs and switches to a microcontroller.</p>
<p><span id="more-1939"></span></p>
<p>If you haven&#8217;t heard about <a href="http://www.arduino.cc/">Arduino</a>, you must be trying really hard to avoid it. Arduino is a package of hardware and software that allows easy programming and fast prototyping, lowering barrier to entry for microcontroller development both in terms of cost and learning curve. </p>
<p>There are two types of Arduino compatible boards. The &#8220;software&#8221; compatible boards do not have the exact same physical layout, but they can run the programs generated by the Arduino IDE. They also have a compatible bootloader on the AVR chip. Examples of this type of board are the <a href="http://ladyada.net/make/boarduino/">Boarduino</a> and the <a href="http://www.arduino.cc/en/Main/ArduinoBoardMini">Arduino Mini</a>.</p>
<p> The 100% compatible boards have the header pins in exactly the same position and order as the Arduino reference design. The reason that this is important is that there are Arduino &#8220;shields&#8221; which plug on top of an Arduino. Popular ones are the <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=7914">ProtoShield</a> and the <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8471">XBee shield</a>. The Freeduino SB is the latter type, a 100% hardware and software compatible board. </p>
<p>So if it&#8217;s 100% compatible, why is it a Freeduino and not an Arduino? It&#8217;s a matter of licensing. While the Arduino software and designs are free (as in beer), the actual Arduino name is trademarked and requires permission to use. For some people that wasn&#8217;t free enough, so they created Freeduino under the <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons</a> license, which has zero intellectual property encumbrances &#8211; no copyright, trademarks, or restrictive licenses. That allowed Solarbotics to build a Freeduino and be sure that they weren&#8217;t infringing on anything.</p>
<p><img width="450" vspace="4" hspace="4" height="269" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/05/freeduino.jpg?w=450&#038;h=269" /><br />The Freeduino comes as a &#8220;mini-kit&#8221;, which means that all the surface mount components are done, leaving just over a dozen through-hole parts to solder on. The instructions are humorous and well written, just right for someone who knows how to solder. The Freeduino was at least as easy to assemble as a Boarduino, and took less time. It&#8217;s possible to assemble the board in under an hour, even for someone out of practice with soldering skills. While the instructions and ads say that you can use either a regular USB jack or a mini-jack, the kit does not come with both. Instead there are two versions of the kit, so you have to decide before you buy which USB connector you want. Our kit came with a USB mini connector.</p>
<p><img width="450" vspace="4" hspace="4" height="93" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/06/check2.jpg?w=450&#038;h=93" /></p>
<p><img width="450" vspace="4" hspace="4" height="171" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/06/2board2.jpg?w=450&#038;h=171" /><br />Here&#8217;s the assembled Freeduino (in red on the right) next to a (slightly damaged) <a href="http://www.arduino.cc/en/Main/Boards">Arduino NG</a>. The PCBs are the same size and shape. Note the difference that the USB connector makes.</p>
<p> It turns out that the choice of USB connector can effect the compatibility of the Freeduino board. Because they shifted things around, the regular sized USB socket casing bumps into some Arduino shields, so they might not fit. As the manual says, &#8220;Our design pushes the USB-B connector up to make room for the switch, and it <span style="font-style: italic;">will</span> interfere with some Shield boards.&#8221; The USB mini connector doesn&#8217;t have this issue, so if the right cable is handy, it&#8217;s a no-brainer which one to get. Many common cellphones and digital cameras to use this kind of connector.</p>
<div style="text-align: justify;"><img width="450" vspace="4" hspace="4" height="122" border="0" alt="" id="img4" src="http://hackadaycom.files.wordpress.com/2008/05/plugs.jpg?w=450&#038;h=122" /><br />Here are three USB cables: regular, mini, and micro. The middle one fits the USB mini connector on the Freeduino.</p>
<p> A nice feature of the Freeduino is that the ATmega chip comes pre-loaded with the &#8220;blinky&#8221; program (this is the &#8220;<a href="http://en.wikipedia.org/wiki/Hello_world">hello world</a>&#8221; of the Arduino universe). Once assembled, powering up the board immediately runs the blinky program, showing right away that the board is operational.</p>
<p> While all Free/Arduino boards are compatible, it is possible to add features, as Solarbotics proves with this board. Generally, the Freeduino they put together is an improvement over the current generation Arduino <a href="http://www.arduino.cc/en/Main/ArduinoBoardDiecimila">Diecimila</a>. Most users won&#8217;t really notice the better use of capacitors for circuit protection. They will notice the better placement of the indicator LEDs, which are closer to the edge of the board. The power switch is slightly misleading. It seems to sit between the voltage regulator and the ATmega chip. Even with the switch in the &#8220;off&#8221; position, a little power is still being used.</p>
<p> Those who use the Freeduino for real-time applications will appreciate the much more accurate 16 MHz crystal, which has about 1000x less error than some other designs. The PCB also has some room for customization, which will be useful for those trying to build compact projects. There is room to add a potentiometer (trim pot) that can set the analog reference voltage for the AD converter. Note that the kit does not come with this part. When working with non-TTL sensors the trimpot could save a few external parts. Solarbotics also left room to add a second, heftier voltage regulator, if needed. However, it&#8217;s not clear what the limits of the one on the board are.<br /> The feature that they seem proudest of is the blue LED on pin 13.</p>
<p>Since the Freeduino has a more accurate crystal, we decided to see how it would perform as a clock. A binary clock is the easiest to implement because the display is just a row of identical LEDs. Each LED is wired to a pin through a resistor and hooked to common ground. The digital output of the controller can then turn the LED on and off. This calculator helps <a href="http://led.linear1.org/1led.wiz">choose just the right resistor value</a>, but there&#8217;s enough leeway for a resistor that&#8217;s pretty close. Note that the polarity of the LED is important.</p>
<p> A clock isn&#8217;t much use if you can&#8217;t set it, so this clock includes two switches. One switch selects which number to set, and the other switch is used to set the value. The switches are wired using a pull-down resistor. [Ladyada] has a <a href="http://www.ladyada.net/learn/arduino/lesson5.html">long but thorough tutorial on using switches</a>. The switches need to be debounced, but we took care of that in software. That&#8217;s about all there is to the hardware setup. Note that we used some of the analog pins as digital I/O. The chip supports this and the latest version of <a href="http://www.arduino.cc/en/Main/Software">Arduino software</a> does too. Be sure to use at least version 11 of the Arduino package or the buttons will not work.</p>
<p><img width="450" vspace="4" hspace="4" height="312" border="0" alt="" src="http://hackadaycom.files.wordpress.com/2008/06/freeclock3.jpg?w=450&#038;h=312" /><br />The Arduino software environment runs as one big loop. Each time through the loop, our program does the following:</p>
<ul>
<li>See how many milliseconds have passed since the last time, and adjust the internal time accordingly.</li>
<li>If a set of LEDs needs to be blinked, toggle their state.</li>
<li>Check the state of the buttons; adjust time accordingly.</li>
<li>Display the time in binary.</li>
</ul>
<p>The count of milliseconds is kept for us by the Arduino library using a timer interrupt. It&#8217;s not quite as simple as it seems at first, because the Arduino milliseconds counter can roll over. So there&#8217;s extra code to detect and handle that condition. Then all we have to do is break it down into hours, minutes and seconds.</p>
<p> Handling the buttons turns out to be the trickiest part. First of all, we only want to act when the button is just released; not when it is up, held down, or just pressed. Second, the buttons have to be debounced. Debouncing is a whole separate subject which deserves an article of it&#8217;s own. We used a software debouncing trick that waits for an input to stabilize. For those who want to learn more, the <a href="http://www.ganssle.com/debouncing.pdf">definitive paper on the subject is here</a>(PDF).</p>
<p> Displaying the time is actually the easiest part, since all we have to do is set the various pins according to the bits in the time variables. <a href="http://content.mahalo.com/downloads/binclock.pde">The entire program is available here</a>(PDE). The Arduino IDE compiles and downloads it to the board with just a couple of clicks.</p>
<div style="text-align: left;"> </div>
<p>After downloading program, or resetting the board, the clock starts up right away and begins counting seconds. The display is three sets of LEDs showing binary numbers. The leftmost 5 show the hours in 24-hour (military) format. The middle six display the minutes, and the last set is for seconds. The clock can be set with the two buttons. Button 1 selects which part of the time to set: hours, minutes, or seconds. Pressing button 1 rotates through each part. The set of LEDs that are being set will flash briefly. Button 2 is used to actually change the value. For hours and minutes, button 2 will increment the value each time it is pressed. That does mean that it may have to be pushed up to 59 times to set the minutes. When setting the seconds, button 2 just resets them to 0. We thought this was easier to synchronize than trying to catch a moving number.</p>
<p> In order to prevent accidentally changing the time, the software implements a &#8220;safety.&#8221; If no button is pressed for about 3 seconds, then button 2 is disabled until button 1 is pressed again. Pressing button 1 when the safety is on will flash the set of LEDs currently selected and turn button 2 on again.</p>
<p> Just to see if the more accurate crystal makes a difference, we ran the exact same program on the Freeduino SB and then a Boarduino. The boards were set and compared using a <a href="http://en.wikipedia.org/wiki/Radio_clock">radio controlled &#8220;atomic&#8221; clock</a> as the reference time. Here&#8217;s a picture of the Boarduino running the binary clock:</p>
<p><img width="450" vspace="4" hspace="4" height="167" border="0" alt="" id="img2" src="http://hackadaycom.files.wordpress.com/2008/05/boardclock.jpg?w=450&#038;h=167" /><br />The Boarduino did surprisingly poor job at keeping time. Without correction it gained over a minute per hour. The Boarduino uses a resonator that can have up to 0.5% drift. We had to apply a &#8220;fudge&#8221; factor of 0.85% to keep it from drifting noticably. Even then it tends to gain a few seconds over the course of a few hours. The Freeduino did much better; drifting only a couple of seconds during a five hour run. So the more accurate crystal does make a difference.</p>
<p>There&#8217;s lots of room for enhancements to this project. We used a prototyping breadboard with lots of jumper wires, but there are plenty of better ways to wire it up. It could even be implemented as a shield.</p>
<p> We hope that this how-to was useful as both a review of the Freeduino SB board and as an example of simple micro-controller input and output. Happy hacking.</p>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1939/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1939/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1939/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1939&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/06/06/how-to-binary-clock-using-a-freeduino-sb-21/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ckiick</media:title>
		</media:content>

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

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

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

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

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

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/boardclock.jpg" medium="image" />
	</item>
		<item>
		<title>How-To: Scavenge a mouse for parts</title>
		<link>http://hackaday.com/2008/05/16/how-to-scavenge-a-mouse-for-parts/</link>
		<comments>http://hackaday.com/2008/05/16/how-to-scavenge-a-mouse-for-parts/#comments</comments>
		<pubDate>Sat, 17 May 2008 01:00:00 +0000</pubDate>
		<dc:creator>chriskiick</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[hackaday]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[ps2]]></category>
		<category><![CDATA[salvage]]></category>
		<category><![CDATA[scavenge]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/05/16/how-to-scavenge-a-mouse-for-parts/</guid>
		<description><![CDATA[Chris Kiick posted about swarm robotics earlier in the week and today publishes his first Hack-A-Day How-To. Old computer mice are being abandoned in droves. They&#8217;re tossed out because of dirt, obsolescence, or for being entirely too beige. Anyone who has a computer usually has more than one mouse and you can get them for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1838&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="262" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/open.jpg?w=450&#038;h=262" alt="ps2 mouse opened" /><br /><em>Chris Kiick posted about <a href="http://www.hackaday.com/2008/05/13/swarm-robotics/">swarm robotics</a> earlier in the week and today publishes his first Hack-A-Day How-To.</em></p>
<p>Old computer mice are being abandoned in droves. They&#8217;re tossed out because of dirt, obsolescence, or for being entirely too beige. Anyone who has a computer usually has more than one mouse and you can get them for pennies, if not free just for asking. Fortunately for the discriminating (read: cheap) hacker, these little widgets are chock-full of project parts. Today&#8217;s How-To will dissect a computer mouse, extract the useful parts, and give some ideas about how to use them.</p>
<p><span id="more-1838"></span></p>
<p><img width="200" vspace="4" hspace="4" height="150" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/start.jpg?w=200&#038;h=150" alt="plan ps2 mouse" /> <img width="193" vspace="4" hspace="4" height="150" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/bottom.jpg?w=193&#038;h=150" alt="ps2 mouse underside" /><br />Here we have a standard PS2 mouse; a USB mouse will look pretty much the same. We&#8217;ll talk about optical mice later on.</p>
<p>Lets open it up. First, take out the mouse ball. Then there will be one or more screws on the bottom side that need to come out. Screws are sometimes hidden under the rubber pads.</p>
<p><img width="450" vspace="4" hspace="4" height="262" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/open.jpg?w=450&#038;h=262" alt="ps2 mouse opened" /><br />The first thing to notice is the cable connector. Most mice have a very convenient plug for the cable, instead of soldering it onto the board. That&#8217;s the first usable part: a 4 (or 6) conductor cable with a nice plug on one end. The socket can be removed from the PCB and used in other projects.</p>
<p><img width="450" vspace="4" hspace="4" height="367" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/open2.jpg?w=450&#038;h=367" alt="" /><br />With the cord out of the way, we can start pulling out parts. First thing that pops off is the mouse wheel. Yes, it&#8217;s just a big rubber wheel. If you&#8217;re annoyed by the mouse wheel&#8217;s clicking noise, <span style="text-decoration: underline;"></span><a href="http://www.hackaday.com/2007/12/04/silence-your-mouse-no-clicky/">you can silence it</a>. There are at least two micro-switches and usually a third one under the mouse wheel which can be used for bump sensors or buttons.</p>
<p><img width="120" vspace="4" hspace="4" height="118" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/encoders.jpg?w=120&#038;h=118" alt="encoder wheels" /><br />Next thing to take out are the two plastic slotted discs. They&#8217;re the encoder wheels. They turn whenever the mouse moves and interrupt an IR beam, producing pulses. It used to be that precision encoder wheels were pretty expensive, but not anymore. Every single (non-optical) mouse comes with a pair built in.</p>
<p>On either side of the encoder wheel are some little boxes. One side is an IR emitter, and the other side is a pair of IR detectors. Sometimes the emitters and detectors will be one complete unit. A pair of detectors is used because with 2 detectors slightly offset, it generates <a href="http://en.wikipedia.org/wiki/Rotary_encoder#Incremental_rotary_encoder">quadrature encoding</a>, so that mouse knows the direction of rotation.</p>
<p>These IR emitters and detectors are fairly modular pieces when it comes to hacking and can be removed with some careful desoldering. It is a good idea to use a multimeter to see what kind of voltage is going to them before removing them. They are probably TTL parts, because mice are powered by 5v, but sometimes they are an even lower voltage. The emitter/detector pair by itself can be <a href="http://www.societyofrobots.com/schematics_infraredemitdet.shtml">interfaced</a> directly. Those parts alone can be used for a <a href="http://www.ikalogic.com/ir_prox_sensors.php">proximity sensor</a> or for a <a href="http://www.kmitl.ac.th/~kswichit/ROBOT/Robo5.html">line following robot</a>.</p>
<p>Add an encoder wheel and this sensor setup has lots of uses. From a tachometer, to a wind speed indicator, to sensing a robot&#8217;s speed, this will do it. The quadrature output (with some decoding) can be used to measure distance, direction, and speed.</p>
<p> <img width="200" vspace="4" hspace="4" height="119" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/onpcb2.jpg?w=200&#038;h=119" id="img14" alt="IR pair on PCB" /><img width="200" vspace="4" hspace="4" height="110" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/chunk.jpg?w=200&#038;h=110" alt="encoder with PCB and shell" /><br />One tricky thing about using the encoder with the IR sensor is getting the emitter to line up with the detector(s). No problem: instead of desoldering the parts from the PCB, use a rotary tool to cut off the little piece of PCB that has the sensors on it (already lined up). Wires can then be soldered to the pins/traces on the other side. If holding the encoder wheel in place is a problem, a hunk of the mouse casing can be used with it. Be sure to leave enough PCB to keep it stable on the mouse casing.</p>
<p><img width="450" vspace="4" hspace="4" height="327" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/robot.jpg?w=450&#038;h=327" alt="encoder in a robot" /><br />This is a picture of an encoder wheel with quadrature from a PS2 mouse on a small robot. Rather than make custom parts, the mouse is carved up and the whole assembly is fitted to the motor axis.</p>
<p><img width="225" vspace="4" hspace="4" height="230" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/parts.jpg?w=225&#038;h=230" alt="parts salvage from mouse" /><br />What&#8217;s left to salvage on the mouse? The sensors for the mouse wheel. Depending on the model, the mouse wheel movement may be sensed with switches or a low resolution encoder, suitable for measuring slow rotation.</p>
<p>The final bit is the mouse controller chip. At first thought it seems pretty useless: it&#8217;s a single purpose part made specifically to run a computer mouse and nothing else. However, if your controller chip isn&#8217;t an anonymous blob, the datasheet could be very enlightening. <a href="http://octopart.com/">Octopart</a> can help find datasheets based on the chip&#8217;s part number. <a href="http://www.digchip.com/datasheets/download_datasheet.php?id=297606&amp;part-number=EM84510F">This</a> (PDF) is a typical datasheet for a mouse controller.</p>
<p>This specific part does a number of useful things: </p>
<ul>
<li>decodes the quadrature input from the encoders</li>
<li> keeps a running count of the number of encoder pulses in a set of registers</li>
<li>filters out jitter</li>
<li> debounces the micro-switches and keeps track of their state</li>
<li>packetizes the information and sends it up the cord.</li>
</ul>
<p>For a PS2 mouse, getting at these features is not too difficult. The <a href="http://www.computer-engineering.org/ps2mouse/">PS2 protocol</a> is pretty friendly, even for microcontrollers. Here&#8217;s an example of <a href="http://www.arduino.cc/playground/ComponentLib/Ps2mouse">interfacing a microcontroller with a mouse</a>. For USB mice, check the controller&#8217;s datasheet to see if it can do both PS2 and USB; with older mice there&#8217;s a decent chance it does. While pure USB is not very easy to talk to with a microcontroller, it&#8217;s really easy to hook to a PC (with the right software).</p>
<p><img width="450" vspace="4" hspace="4" height="325" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/optical.jpg?w=450&#038;h=325" alt="optical mouse - no wheels" style="width: 305px; height: 220px;" /> <img width="250" vspace="4" hspace="4" height="143" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/opcb.jpg?w=250&#038;h=143" alt="" /><br />We promised a look at optical mice. Optical mice do not have any rotary encoders. There are still some switches and a low-res encoder for the mouse wheel. What an optical mouse has in it is a mini-camera, lights, and lenses. The light is probably a fairly standard LED, although they tend to be bright, and the lenses are purpose built. However, it is possible to <a href="http://www.martijnthe.nl/optimouse/arduino-optical-mouse.html">interface directly to the mini-camera</a> or <a href="http://spritesmods.com/?art=mouseeye">use it as a really poor scanner</a>.</p>
<p>We hope this How-To has sparked some ideas and that your obsolete mouse won&#8217;t seem as useless anymore.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1838/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1838/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1838/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1838&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/05/16/how-to-scavenge-a-mouse-for-parts/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ckiick</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/open.jpg" medium="image">
			<media:title type="html">ps2 mouse opened</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/start.jpg" medium="image">
			<media:title type="html">plan ps2 mouse</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/bottom.jpg" medium="image">
			<media:title type="html">ps2 mouse underside</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/open.jpg" medium="image">
			<media:title type="html">ps2 mouse opened</media:title>
		</media:content>

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/encoders.jpg" medium="image">
			<media:title type="html">encoder wheels</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/onpcb2.jpg" medium="image">
			<media:title type="html">IR pair on PCB</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/chunk.jpg" medium="image">
			<media:title type="html">encoder with PCB and shell</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/robot.jpg" medium="image">
			<media:title type="html">encoder in a robot</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/parts.jpg" medium="image">
			<media:title type="html">parts salvage from mouse</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/optical.jpg" medium="image">
			<media:title type="html">optical mouse - no wheels</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/opcb.jpg" medium="image" />
	</item>
		<item>
		<title>Swarm robotics</title>
		<link>http://hackaday.com/2008/05/13/swarm-robotics/</link>
		<comments>http://hackaday.com/2008/05/13/swarm-robotics/#comments</comments>
		<pubDate>Wed, 14 May 2008 02:00:00 +0000</pubDate>
		<dc:creator>chriskiick</dc:creator>
				<category><![CDATA[robots hacks]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[austin]]></category>
		<category><![CDATA[edatechforum]]></category>
		<category><![CDATA[irobot]]></category>
		<category><![CDATA[jamesmclurkin]]></category>
		<category><![CDATA[mit]]></category>
		<category><![CDATA[modular]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[robotswarm]]></category>
		<category><![CDATA[swarm]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/05/13/swarm-robotics/</guid>
		<description><![CDATA[Uber-geek [James McLurkin] was in Austin recently demoing his robot swarm. He&#8217;s on tour with EDA Tech Forum. [McLurkin] has multiple degrees from the MIT AI lab and worked at iRobot for a couple of years. Lately, he has been working on distributed robot computing: robot swarms. [McLurkin] was an entertaining speaker and had an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1832&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img width="363" vspace="4" hspace="4" height="204" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/cluster.jpg?w=363&#038;h=204" alt="" /><br /> Uber-geek [<a href="http://people.csail.mit.edu/jamesm/currentResearch.php">James McLurkin</a>] was in Austin recently demoing his robot swarm. He&#8217;s on tour with <a href="http://www.edatechforum.com/">EDA Tech Forum</a>. [McLurkin] has multiple degrees from the MIT AI lab and worked at iRobot for a couple of years. Lately, he has been working on distributed robot computing: robot swarms.</p>
<p>[McLurkin] was an entertaining speaker and had an interesting view of robotics. He is optimistic that robot parts will become more modular, so it will be easier to build them, and more importantly, faster to design them. </p>
<p> 	Some quotes: 	</p>
<ul>
<li>	&#8220;There&#8217;s more sensors in a cockroach&#8217;s butt than any robot&#8221; </li>
<li>	&#8220;12 engineer years to design, 45 minutes to build&#8221; </li>
<li>	&#8220;If it can break your ankle, it&#8217;s a real [rc] car.&#8221; </li>
</ul>
<p><span id="more-1832"></span></p>
<p>His swarm (pictured above) is made up of over a hundred small identical bots, but he only brought about a dozen with him. The demo was still quite impressive. He had the robots spread out, clump together, play follow the leader and circle the wagons. Each behavior had a very simple rule behind it. To spread out, for example, each robot tries to move away from it&#8217;s nearest neighbor. The really fun part was when he had the robots perform a <span style="font-style: italic;">physical </span>bubble sort. The rule for this was that each bot tried to put a higher-id bot on one side and a lower-id bot on the other. After a minute or so of bumping around the bots all lined up in id order. </p>
<p><img width="450" vspace="4" hspace="4" height="NaN" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/bubble.jpg?w=450" alt="result of physical bubble sort" /></p>
<p> 	I was interested in the details of the robot itself. Here&#8217;s a picture 	with the parts labeled. 	<br /><img width="450" vspace="4" hspace="4" height="NaN" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/sbhw.jpg?w=450" alt="" /><br /> Each robot has a unique ID number. They communicate with each other via IR and have sensors so that they can tell which direction and how far away the other bots are. The lights on top are just indicators so you can tell what the bots are doing. A mesh network is rebuilt several times a second, creating a directed graph from the &#8216;leader&#8217; (which can be any arbitrary bot) that connects to each bot in the swarm. Any bot can act as a repeater, relaying instructions to bots that can&#8217;t talk to the leader directly.</p>
<p>Robot swarms are not a new idea: they&#8217;ve been floating around as concepts for many years. However, [McLurkin] was one of the first to actually build and program a large swarm (at one time he held the record for the largest robot swarm in the world). The idea caught on with researchers and today there&#8217;s even an <a href="http://www.swarmrobot.org/">open source robot swarm project</a>. If you&#8217;re not up to building a whole bunch of robots, there are also <a href="http://www.swarm-bots.org/index.php?main=3&amp;sub=33">simulators</a>.</p>
<p> After the demo, we asked [McLurkin] about the cost of the robots. He said he didn&#8217;t know for sure, but estimated at least $2000 per bot. When we commented that &#8220;that&#8217;s a lot of money for 100 bots&#8221;, he pointed out that compared to the $20K+ that research robots can go for, it&#8217;s a bargain. He also said &#8220;This whole new world of hobby robotics just didn&#8217;t exist in the 90&#8242;s&#8221;. For robots to be deployed in swarms of hundreds or even thousands, in situations where they can get damaged or lost (search and rescue, military exercises) the cost will need to drop dramatically. </p>
<p>Here he is packing up his robot swarm. After the demo, we half expected them to pack themselves &#8211; no, they don&#8217;t. 	<br /><img width="447" vspace="4" hspace="4" height="335" border="0" src="http://hackadaycom.files.wordpress.com/2008/05/packing.jpg?w=447&#038;h=335" alt="" /><br /> 	For more info on robot swarms, their inspiration and possible uses take a look at <a href="http://people.csail.mit.edu/jamesm/currentResearch.php">[McLurkin]&#8216;s web site</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/1832/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/1832/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/1832/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/1832/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/1832/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/1832/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/1832/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/1832/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/1832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/1832/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=1832&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/05/13/swarm-robotics/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ckiick</media:title>
		</media:content>

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

		<media:content url="http://hackadaycom.files.wordpress.com/2008/05/bubble.jpg" medium="image">
			<media:title type="html">result of physical bubble sort</media:title>
		</media:content>

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

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