<?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; adc</title>
	<atom:link href="http://hackaday.com/tag/adc/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 06:18:04 +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; adc</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>Reading diodes to create a thermal imaging system</title>
		<link>http://hackaday.com/2012/02/01/reading-diodes-to-create-a-thermal-imaging-system/</link>
		<comments>http://hackaday.com/2012/02/01/reading-diodes-to-create-a-thermal-imaging-system/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 17:41:10 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[1n4148]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[diode]]></category>
		<category><![CDATA[forward voltage]]></category>
		<category><![CDATA[thermal imaging]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=66615</guid>
		<description><![CDATA[[Udo Klein] was working with some 1N4148 transistors and was interested in the specs relating to their performance at different temperatures. The forward voltage actually changes quite a bit depending on temperature and wondered if this could be reliably measured. He hacked his own LED shield for the Arduino to use as a 1&#215;20 thermal [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=66615&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-66616" title="thermal-imaging-using-diodes" src="http://hackadaycom.files.wordpress.com/2012/02/thermal-imaging-using-diodes.png" alt="" width="470" height="279" /></p>
<p>[Udo Klein] was working with some 1N4148 transistors and was interested in the specs relating to their performance at different temperatures. The forward voltage actually changes quite a bit depending on temperature and wondered if this could be reliably measured. He hacked his own LED shield for the Arduino <a href="http://blog.blinkenlight.net/experiments/measurements/thermal-imaging/">to use as a 1&#215;20 thermal imaging system</a>.</p>
<p>The screenshot above is mapping the voltage measurements from a row of diodes (see the video after the break to get the full picture). He&#8217;s holding an ice pack over the row of diodes and observing the change. The on-screen display is facilitated by a Python script which is pulling data from the Arduino. Since there aren&#8217;t enough analog inputs to read all twenty diodes separately they have been multiplexed. Four I/O pins each enable five of the diodes, readings are taken with five analog inputs before moving on to the next set.</p>
<p>What can this be used for? That is precisely the wrong question&#8230; sometimes you&#8217;ve just got to go where your curiosity takes you.<span id="more-66615"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2012/02/01/reading-diodes-to-create-a-thermal-imaging-system/"><img src="http://img.youtube.com/vi/lHH-MTriwh8/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/66615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/66615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/66615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/66615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/66615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/66615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/66615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/66615/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=66615&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2012/02/01/reading-diodes-to-create-a-thermal-imaging-system/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2012/02/thermal-imaging-using-diodes.png" medium="image">
			<media:title type="html">thermal-imaging-using-diodes</media:title>
		</media:content>
	</item>
		<item>
		<title>DIY clapper is the ideal gift for the laziest person in your life</title>
		<link>http://hackaday.com/2011/12/20/diy-clapper-is-the-ideal-gift-for-the-laziest-person-in-your-life/</link>
		<comments>http://hackaday.com/2011/12/20/diy-clapper-is-the-ideal-gift-for-the-laziest-person-in-your-life/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 13:01:54 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[home hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[atmega328]]></category>
		<category><![CDATA[attiny2313]]></category>
		<category><![CDATA[clapper]]></category>
		<category><![CDATA[relay]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=63720</guid>
		<description><![CDATA[If you haven’t yet wrapped up your Christmas shopping, you may want to consider building [AlanFromJapan’s] implementation of the ever-classic “Clapper”. With its theme song burned into the brain of anyone old enough to remember the 80s, the clapper was a wonderful device that certainly put the “L” in laziness. Looking for an excuse to play [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=63720&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-63722" title="diy-clapper" src="http://hackadaycom.files.wordpress.com/2011/12/diy-clapper.jpg" alt="diy-clapper" width="470" height="364" /></p>
<p>If you haven’t yet wrapped up your Christmas shopping, you may want to consider building <a href="http://kalshagar.wikispaces.com/Clapclap" target="_blank">[AlanFromJapan’s] implementation of the ever-classic “Clapper”.</a> With its theme song burned into the brain of anyone old enough to remember the 80s, the clapper was a wonderful device that certainly put the “L” in laziness.</p>
<p>Looking for an excuse to play around with an opamp and microphone [Alan] decided to build his own version of the Clapper based off <a href="http://hackaday.com/2011/02/07/diy-clapper/" target="_blank">this similar circuit</a>, which he calls the ClapClap. He built the device using an electret mic that feeds a signal through a small amplifier on the way to the ADC of an ATmega328 microcontroller. The mcu constantly polls the ADC looking for the sound of clapping hands, a solution that works, but isn’t as clean as [Alan] wanted.</p>
<p>He went back to the drawing board, <a href="http://kalshagar.wikispaces.com/Clapclap+2313" target="_blank">this time building a circuit around an ATtiny2313</a> microcontroller. Most of the other components remained the same, though the new, smaller design sports some nice PCBs he had made at Seeedstudio. Rather than constantly polling the ADC, this version of the ClapClap looks for peaks in the signal coming from the mic to identify the clapping of hands.</p>
<p>He says that the newer version works great, though he still has a software bug or two that need fixing before he parks himself on the couch for all eternity.</p>
<br />Filed under: <a href='http://hackaday.com/category/home-hacks/'>home hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/63720/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/63720/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/63720/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/63720/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/63720/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/63720/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/63720/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/63720/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=63720&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/12/20/diy-clapper-is-the-ideal-gift-for-the-laziest-person-in-your-life/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mikenathanathackaday</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/12/diy-clapper.jpg" medium="image">
			<media:title type="html">diy-clapper</media:title>
		</media:content>
	</item>
		<item>
		<title>Web-enabled coffee maker over-complicates your break time</title>
		<link>http://hackaday.com/2011/12/05/web-enabled-coffee-maker-over-complicates-your-break-time/</link>
		<comments>http://hackaday.com/2011/12/05/web-enabled-coffee-maker-over-complicates-your-break-time/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 20:13:18 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[cooking hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=62699</guid>
		<description><![CDATA[Some think that grinding the beans and filling the coffee maker is part of the coffee-drinking ritual, but [Jamie] isn&#8217;t one of them. Instead, he&#8217;s been working to make this coffeemaker a web-enabled device. He built it as part of a class project, and has implemented most of what you need to make a cup [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=62699&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-62700" title="web-enabled-coffee-maker" src="http://hackadaycom.files.wordpress.com/2011/12/web-enabled-coffee-maker-e1323110305178.jpg" alt="" width="470" height="353" /></p>
<p>Some think that grinding the beans and filling the coffee maker is part of the coffee-drinking ritual, but [Jamie] isn&#8217;t one of them. Instead, he&#8217;s been working to <a href="http://www.jamiemaloway.com/projects/web-enabled-coffee-maker">make this coffeemaker a web-enabled device</a>. He built it as part of a class project, and has implemented most of what you need to make a cup of Joe automatically.</p>
<p>You can see a small pump attached to the back of the coffee maker. It sucks water from a pitcher (slightly visible to the left of the coffee maker) to fill the reservoir. He experimented with a couple of different water level sensing solutions. His most recent is a PCB with several traces of different length. As those traces are covered by water, a voltage can be read via ADC to establish water level.</p>
<p>He&#8217;s using an Arduino and Ethernet shield to add connectivity for the device. The problem is that there aren&#8217;t enough ADC pins left on the Arduino to read the water level sensor. Because of this, he added a self-build shield that uses a PIC to do the ADC measurements and push digital data across to the Arduino. A bit complicated, and it doesn&#8217;t load the grounds automatically (yet?). But that&#8217;s not to say we don&#8217;t appreciate <a href="http://hackaday.com/2010/12/08/home-brew-coffee-machine/">complicated coffee hacks</a>.</p>
<br />Filed under: <a href='http://hackaday.com/category/cooking-hacks/'>cooking hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/62699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/62699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/62699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/62699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/62699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/62699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/62699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/62699/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=62699&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/12/05/web-enabled-coffee-maker-over-complicates-your-break-time/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/12/web-enabled-coffee-maker-e1323110305178.jpg" medium="image">
			<media:title type="html">web-enabled-coffee-maker</media:title>
		</media:content>
	</item>
		<item>
		<title>ATtiny Hacks: SerialCouple &#8211; A standalone thermocouple ADC board with serial out</title>
		<link>http://hackaday.com/2011/09/23/attiny-hacks-serialcouple-a-standalone-thermocouple-adc-board-with-serial-out/</link>
		<comments>http://hackaday.com/2011/09/23/attiny-hacks-serialcouple-a-standalone-thermocouple-adc-board-with-serial-out/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 11:00:16 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[ATtiny hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[attiny]]></category>
		<category><![CDATA[thermocouple]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=56413</guid>
		<description><![CDATA[Since we are in the midst of featuring a wide assortment of ATtiny hacks, [Kenneth] wrote in to share a project he has been developing over the last few months, the SerialCouple. Most all development platforms have the ability to function as an analog to digital converter, but you don’t always need a full-featured board [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=56413&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-55211" title="ATtiny Hacks Theme Banner" src="http://hackadaycom.files.wordpress.com/2011/09/attinyhacks.png" alt="ATtiny Hacks Theme Banner" width="470" height="60" /></p>
<p><img class="alignnone size-full wp-image-56448" title="serialcouple_thermocouple_adc_board" src="http://hackadaycom.files.wordpress.com/2011/09/serialcouple_thermocouple_adc_board.jpg" alt="serialcouple_thermocouple_adc_board" width="470" height="353" /></p>
<p>Since we are in the midst of featuring a wide assortment of ATtiny hacks, [Kenneth] wrote in to share a project he has been developing over the last few months, <a href="http://kennethfinnegan.blogspot.com/2011/06/serialcouple-thermocouple-adc.html" target="_blank">the SerialCouple.</a></p>
<p>Most all development platforms have the ability to function as an analog to digital converter, but you don’t always need a full-featured board when all you require is serial output for your computer. With his SerialCouple board, [Kenneth] is trying to take some complexity out of the process by building a standalone thermocouple ADC board. The SerialCouple is designed to take analog readings from a thermocouple, converting them to digital values that can be sent to any device over a serial connection. The grunt work is done by a Maxim MAX31855 chip, which converts the thermocouple’s analog data to digital temperature readings. The digital representation of the temperature is then retrieved by the on-board ATtiny2313, which sends the data out the serial port.</p>
<p>If a standalone thermocouple ADC board is something you’ve been looking for, be sure to swing by his site to take a look at his code and schematics.</p>
<p>Continue reading to see a short video demo that explains how the SerialCouple works.</p>
<p><span id="more-56413"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/09/23/attiny-hacks-serialcouple-a-standalone-thermocouple-adc-board-with-serial-out/"><img src="http://img.youtube.com/vi/_y5MDVV93To/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/attiny-hacks/'>ATtiny hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/56413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/56413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/56413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/56413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/56413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/56413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/56413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/56413/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=56413&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/09/23/attiny-hacks-serialcouple-a-standalone-thermocouple-adc-board-with-serial-out/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mikenathanathackaday</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/09/attinyhacks.png" medium="image">
			<media:title type="html">ATtiny Hacks Theme Banner</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/09/serialcouple_thermocouple_adc_board.jpg" medium="image">
			<media:title type="html">serialcouple_thermocouple_adc_board</media:title>
		</media:content>
	</item>
		<item>
		<title>chipKIT Uno32: first impressions and benchmarks</title>
		<link>http://hackaday.com/2011/05/27/chipkit-uno32-first-impressions-and-benchmarks/</link>
		<comments>http://hackaday.com/2011/05/27/chipkit-uno32-first-impressions-and-benchmarks/#comments</comments>
		<pubDate>Fri, 27 May 2011 16:01:32 +0000</pubDate>
		<dc:creator>Phil Burgess</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[32-bit]]></category>
		<category><![CDATA[32bit]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bottleneck]]></category>
		<category><![CDATA[chipkit]]></category>
		<category><![CDATA[digilent]]></category>
		<category><![CDATA[fractal]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[mandelbrot]]></category>
		<category><![CDATA[max32]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pic32]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[uno]]></category>
		<category><![CDATA[uno32]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=43877</guid>
		<description><![CDATA[Following Maker Faire, we’ve had a few days to poke around with Digilent&#8217;s 32-bit Arduino-compatible chipKIT boards and compiler. We have some initial performance figures to report, along with impressions of the hardware and software. Disclaimer: Digilent has provided Hack a Day with Uno32 and Max32 boards for evaluation. chipKIT isn’t the first attempt to extend the Arduino [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=43877&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img title="uno-fight" src="http://hackadaycom.files.wordpress.com/2011/05/uno-fight.jpg?w=470&#038;h=200" alt="" width="470" height="200" /></p>
<p>Following <a href="http://hackaday.com/2011/05/20/bay-area-maker-faire-hackaday-has-arrived/">Maker Faire</a>, we’ve had a few days to poke around with Digilent&#8217;s 32-bit <a href="http://hackaday.com/2011/05/12/chipkit-max32-an-arduino-mega-upgrade-with-a-pic32-under-the-hood/">Arduino-compatible chipKIT boards</a> and compiler. We have some initial performance figures to report, along with impressions of the hardware and software.</p>
<p><span id="more-43877"></span></p>
<p>Disclaimer: Digilent has provided Hack a Day with Uno32 and Max32 boards for evaluation.</p>
<p>chipKIT isn’t the first attempt to extend the Arduino form factor to a 32-bit microcontroller core…other products such as <a href="http://hackaday.com/2010/05/24/maple-r3-now-shipping/">Maple</a>, <a href="http://hackaday.com/2011/02/23/self-regulating-water-heater/">Netduino</a> or the FEZ Domino have been around for well over a year…but the chipKIT boards are notable for the effort Digilent has put into creating a seamless transition. The aim is to create a single unified tool both for traditional 8-bit Arduino boards and Digilent’s 32-bit work-alikes, where the same IDE, the same code, and a good number of the same shields can all work despite the different underlying architectures. In fact, they’re hoping the Arduino project accepts their integration method as an official means of adding new hardware to the Arduino IDE — not just for their own product, but for anyone else to use as well.</p>
<p>As noted in <a href="http://hackaday.com/2011/05/21/bamf2011-chipkit-is-arduino-to-the-power-of-32/">our prior report</a>, we were impressed that they do appear to deliver on this promise. The transition between “classic” Arduinos and the 32-bit boards is indeed quite slick. But we’re finding at this early stage that there are still some rough bits to be worked out. So, for the time being, we’re keeping both the Arduino IDE and Mpide (Digilent’s multi-platform derivative) installed on the development system; the latter has not yet obviated the need for the former. But we see how the concept is supposed to work, and we like it.</p>
<p>For the most part, Mpide works as intended as a dual-platform IDE. Just select the appropriate device from the Tools-&gt;Board menu, recompile, and the code is now ready for the corresponding chip. But a couple things have bit us in the rear:</p>
<ul>
<li>The <a href="http://hackaday.com/2010/10/23/avr-programming-introduction/">AVR compiler</a> in Mpide either isn’t fully optimizing, or the floating-point libraries were built sans optimization or something. This threw off our benchmark numbers initially — the results were atrocious! In order to keep the numbers realistic, we’re using the standard Arduino IDE for the corresponding benchmarks. To be fair, they did warn us about this performance issue in person at Maker Faire, but until it’s fixed they could be more forthcoming about it with some documentation or on the web site…otherwise it could look like they’re trying to skew benchmarks more in their favor.</li>
<li>The String() constructor is borked when handling integers. The following line compiles fine for AVR chips, but throws a tizzy fit with the PIC32 compiler:<br />
<pre class="brush: plain;">String foo = String(42);</pre></li>
</ul>
<p>Given that the IDE was wrapped up literally hours before going live online and at Maker Faire, it’s understandable that there are some loose ends. Just be prepared as an early adopter that this won’t be as pain-free a transition as they’re aiming for. The great thing with <a href="http://hackaday.com/?s=open+source">open source</a> is that we can get in there, spot such problems, and offer suggestions and submit fixes…the situation will no doubt improve with time.</p>
<h3>Some Benchmarks</h3>
<p>We wanted to create a fractal demo similar to what they were displaying at Maker Faire. We didn’t have the spiffy <a href="http://www.sparkfun.com/products/9363">SparkFun Color LCD Shield</a> on hand, so instead we had to settle for a serial LCD, <a href="http://www.4dsystems.com.au/prod.php?id=121">4D Systems’ uLCD-144</a>. This does affect the numbers somewhat, as we’ll see.</p>
<p>In MIPS alone, the chipKIT should beat the Arduino by a factor of five. Then there’s the native 32-bit-ness of it: when dealing with larger numbers, the AVR processor at Arduino’s core has to shift and fiddle bits between consecutive 8-bit values in order to achieve 32-bit results. So the PIC32 should show a considerable performance benefit beyond MIPS alone. In practice, this doesn’t always pan out.</p>
<p>The uLCD-144 is a 128 by 128 pixel 16-bit color <a href="http://hackaday.com/2011/03/17/bill-hammack-explains-how-led-backlit-lcd-monitors-work/">LCD</a> with a serial UART interface running at 115,200 bits per second. The graphics commands aren’t terribly efficient, and it’s necessary to send a five byte packet for every pixel drawn. This includes coordinate data; there’s no block write function in serial mode. On the plus side, it’s easy to talk to using the Arduino or chipKIT’s native serial UART.</p>
<p>Here’s the code for the Mandelbrot sketch, using floating-point math:</p>
<p><pre class="brush: plain;">
/* Simple Mandelbrot set renderer for Arduino vs. chipKIT benchmarking
   w/floating-point math, via www.hackaday.com.  This example uses the
   4D Systems uLCD-144(SGC) serial display module, wired as follows:

      uLCD Pin:   RES  GND  RX  TX  VIN
   Arduino Pin:     2  GND   1   0   5V    */

const int
  pixelWidth  = 128,  // LCD dimensions
  pixelHeight = 128,
  iterations  = 255;  // Fractal iteration limit or 'dwell'
const float
  centerReal  = -0.6, // Image center point in complex plane
  centerImag  =  0.0,
  rangeReal   =  3.0, // Image coverage in complex plane
  rangeImag   =  3.0,
  startReal   = centerReal - rangeReal * 0.5,
  startImag   = centerImag + rangeImag * 0.5,
  incReal     = rangeReal / (float)pixelWidth,
  incImag     = rangeImag / (float)pixelHeight;

void setup()
{
  pinMode(13,OUTPUT);   // Arduino status LED
  pinMode(2,OUTPUT);    // LCD reset pin
  digitalWrite(13,LOW); // LED off
  Serial.begin(115200);

  digitalWrite(2,LOW);  // Reset LCD
  delay(10);
  digitalWrite(2,HIGH);
  delay(2000);          // Allow time for reset to complete

  Serial.write(0x55);   // Issue auto-baud command
  while(Serial.read() != 0x06); // Wait for ACK
}

void loop()
{
  unsigned char cmd[20];   // Serial packet for LCD commands
  int           x,y,n;
  float         a,b,a2,b2,posReal,posImag;
  long          startTime,elapsedTime;

  Serial.write(0x45);      // Clear screen
  delay(100);              // Brief pause, else 1st few pixels are lost

  cmd[0] = 0x50;           // 'Pixel' command is issued repeatedly

  digitalWrite(13,HIGH);   // LED on while rendering
  startTime = millis();

  posImag = startImag;
  for(y = 0; y &lt; pixelHeight; y++) {
    cmd[2] = y;            // Y coordinate of pixel
    posReal = startReal;
    for(x = 0; x &lt; pixelWidth; x++) {
      a = posReal;
      b = posImag;
      for(n = iterations; n &gt; 0 ; n--) {
        a2 = a * a;
        b2 = b * b;
        if((a2 + b2) &gt;= 4.0) break;
        b  = posImag + a * b * 2.0;
        a  = posReal + a2 - b2;
      }
      cmd[1] = x;          // X coordinate of pixel
      cmd[3] = n * 29;     // Pixel color MSB
      cmd[4] = n * 67;     // Pixel color LSB
      Serial.write(cmd,5); // Issue LCD command
      posReal += incReal;
    }
    posImag -= incImag;
  }

  elapsedTime = millis() - startTime;
  digitalWrite(13,LOW);    // LED off when done

  // Set text to opaque mode
  cmd[0] = 0x4f;
  cmd[1] = 0x01;
  Serial.write(cmd,2);

  // Seems the chipKIT libs don't yet handle the String(long)
  // constructor, hence this kludge.  Working backward, convert
  // each digit of elapsed time to a char, with &quot; ms&quot; at end
  // and text command at head.  Length is variable, so issue
  // command from final determined head position.
  cmd[19] = 0;
  cmd[18] = 's';
  cmd[17] = 'm';
  cmd[16] = ' ';
  n = 15;
  do {
    cmd[n--] = '0' + elapsedTime % 10;
    elapsedTime /= 10;
  } while(elapsedTime);
  cmd[n--] = 0xff; // Color LSB
  cmd[n--] = 0xff; // Color MSB
  cmd[n--] = 0;    // Use 5x7 font
  cmd[n--] = 0;    // Row
  cmd[n--] = 0;    // Column
  cmd[n] = 0x73;   // ASCII text command
  Serial.write(&amp;cmd[n],20-n);

  delay(5000); // Stall a few seconds, then repeat
}
</pre></p>
<p>And the timing results, in milliseconds, for the Arduino (top) and chipKIT (bottom):</p>
<p><img title="benchmark-float" src="http://hackadaycom.files.wordpress.com/2011/05/benchmark-float.jpg?w=470&#038;h=525" alt="" width="470" height="525" /></p>
<p style="padding-left:30px;">Arduino: 54,329 ms.<br />
chipKIT: 12,417 ms.</p>
<p>To reiterate (pardon the pun), due to some performance issues we used the traditional Arduino compiler, not the one included in Mpide. If you’re curious, the output from that compiler took about <em>8.5 minutes</em> to complete the task! Oof.</p>
<p>So, about a 4.4x speedup. Not bad, but we were expecting a more dramatic difference. Part of this is due to the inherent bottleneck of the serial communication with the LCD…we’ll get back to that in a moment. Another limiting factor is that both chips are emulating floating-point math. If we can use 32-bit integer data types, thePIC32 should really shine. So, a <a href="http://answers.hackaday.com/converting-floating-point-maths-to-int-maths/">fixed-point</a> Mandelbrot generator followed:</p>
<p><pre class="brush: plain;">
/* Simple Mandelbrot set renderer for Arduino vs. chipKIT benchmarking
   w/fixed-point math, via www.hackaday.com.  This example uses the
   4D Systems uLCD-144(SGC) serial display module, wired as follows:

      uLCD Pin:   RES  GND  RX  TX  VIN
   Arduino Pin:     2  GND   1   0   5V    */

const int
  bits        = 12,   // Fractional resolution
  pixelWidth  = 128,  // LCD dimensions
  pixelHeight = 128,
  iterations  = 255;  // Fractal iteration limit or 'dwell'
const float
  centerReal  = -0.6, // Image center point in complex plane
  centerImag  =  0.0,
  rangeReal   =  3.0, // Image coverage in complex plane
  rangeImag   =  3.0;
const long
  startReal   = (long)((centerReal - rangeReal * 0.5)   * (float)(1 &lt;&lt; bits)),
  startImag   = (long)((centerImag + rangeImag * 0.5)   * (float)(1 &lt;&lt; bits)),
  incReal     = (long)((rangeReal / (float)pixelWidth)  * (float)(1 &lt;&lt; bits)),
  incImag     = (long)((rangeImag / (float)pixelHeight) * (float)(1 &lt;&lt; bits));

void setup()
{
  pinMode(13,OUTPUT);   // Arduino status LED
  pinMode(2,OUTPUT);    // LCD reset pin
  digitalWrite(13,LOW); // LED off
  Serial.begin(115200);

  digitalWrite(2,LOW);  // Reset LCD
  delay(10);
  digitalWrite(2,HIGH);
  delay(2000);          // Allow time for reset to complete

  Serial.write(0x55);   // Issue auto-baud command
  while(Serial.read() != 0x06); // Wait for ACK
}

void loop()
{
  unsigned char cmd[20];   // Serial packet for LCD commands
  int           x,y,n;
  long          a,b,a2,b2,posReal,posImag,startTime,elapsedTime;

  Serial.write(0x45);      // Clear screen
  delay(100);              // Brief pause, else 1st few pixels are lost

  cmd[0] = 0x50;           // 'Pixel' command is issued repeatedly

  digitalWrite(13,HIGH);   // LED on while rendering
  startTime = millis();

  posImag = startImag;
  for(y = 0; y &lt; pixelHeight; y++) {
    cmd[2] = y;            // Y coordinate of pixel
    posReal = startReal;
    for(x = 0; x &lt; pixelWidth; x++) {
      a = posReal;
      b = posImag;
      for(n = iterations; n &gt; 0 ; n--) {
        a2 = (a * a) &gt;&gt; bits;
        b2 = (b * b) &gt;&gt; bits;
        if((a2 + b2) &gt;= (4 &lt;&lt; bits)) break;
        b  = posImag + ((a * b) &gt;&gt; (bits - 1));
        a  = posReal + a2 - b2;
      }
      cmd[1] = x;          // X coordinate of pixel
      cmd[3] = n * 29;     // Pixel color MSB
      cmd[4] = n * 67;     // Pixel color LSB
      Serial.write(cmd,5); // Issue LCD command
      posReal += incReal;
    }
    posImag -= incImag;
  }

  elapsedTime = millis() - startTime;
  digitalWrite(13,LOW);    // LED off when done

  // Set text to opaque mode
  cmd[0] = 0x4f;
  cmd[1] = 0x01;
  Serial.write(cmd,2);

  // Seems the chipKIT libs don't yet handle the String(long)
  // constructor, hence this kludge.  Working backward, convert
  // each digit of elapsed time to a char, with &quot; ms&quot; at end
  // and text command at head.  Length is variable, so issue
  // command from final determined head position.
  cmd[19] = 0;
  cmd[18] = 's';
  cmd[17] = 'm';
  cmd[16] = ' ';
  n = 15;
  do {
    cmd[n--] = '0' + elapsedTime % 10;
    elapsedTime /= 10;
  } while(elapsedTime);
  cmd[n--] = 0xff; // Color LSB
  cmd[n--] = 0xff; // Color MSB
  cmd[n--] = 0;    // Use 5x7 font
  cmd[n--] = 0;    // Row
  cmd[n--] = 0;    // Column
  cmd[n] = 0x73;   // ASCII text command
  Serial.write(&amp;cmd[n],20-n);

  delay(5000); // Stall a few seconds, then repeat
}
</pre></p>
<p>And the numbers:</p>
<p><img title="benchmark-fixed" src="http://hackadaycom.files.wordpress.com/2011/05/benchmark-fixed1.jpg?w=470&#038;h=525" alt="" width="470" height="525" /></p>
<p style="padding-left:30px;">Arduino: 27,734 ms.<br />
chipKIT:  7,209 ms.</p>
<p>Now only a 3.8x difference, despite the PIC32 speaking its native tongue. What gives?</p>
<p>Even at 115,200 bits/sec, the serial LCD is seriously holding us back, as the code is going to “block” as each character is output. Some back-of-envelope calculations suggest how much time is being lost there:</p>
<p style="padding-left:30px;">128 x 128 pixels, 5-byte command per pixel = 81,920 bytes.<br />
Including start and stop bits for each byte = 819,200 bits total<br />
819,200 bits / 115,200 bps = ~7.1 seconds.</p>
<p>So our MCU is sitting there for seven seconds with its thumb up its ASCII in order to update the display. Sure enough, if we comment out the Serial.write() command but leave all the calculations in place, the results are significantly more dramatic:</p>
<p>Floating-point:</p>
<p style="padding-left:30px;">Arduino: 49,685 ms.<br />
chipKIT:  5,822 ms.<br />
9.3x improvement.</p>
<p>Fixed-point:</p>
<p style="padding-left:30px;">Arduino: 22,326 ms.<br />
chipKIT:    168 ms<br />
133x improvement. Hot <em>damn.</em> Now we’re talking!</p>
<p>So we could actually render this at interactive frame rates, for the want of a sufficiently fast interface to the LCD. This sort of limitation is going to crop up every time we connect to a real-world device. Not everything is 100% internal code and math…there are finite limits to I/O throughput, and that more than anything can cap the speed of the total application. So we really can’t give a consistent “Everything will be X percent faster” estimate for this board.</p>
<p>The performance looks good for math, especially if an algorithm can work in integer or fixed-point formats. Another thought we had was <a href="http://hackaday.com/2011/02/20/analog-to-digital-converter-build/">analog-to-digital</a> sampling, which has applications in robotics…say for a <a href="http://hackaday.com/2010/09/17/line-following-tank-without-a-microcontroller/">line-follower</a> or <a href="http://hackaday.com/2009/02/19/segway-and-input-filtering/">balancing</a> robot. More frequent samples should yield smoother operation, or multiple samples can be averaged to yield higher-precision results. The PIC32 should <em>scream</em> in that regard. And yet…</p>
<p><pre class="brush: plain;">
void setup()
{
  const int samples = 10000;
  int       i,n;
  long      startTime,elapsedTime;

  Serial.begin(115200);

  startTime = millis();
  for(i = 0; i &lt; samples; i++) {
    n = analogRead(0);
  }
  elapsedTime = millis() - startTime;

  Serial.print(samples);
  Serial.print(&quot; samples in &quot;);
  Serial.print(elapsedTime);
  Serial.print(&quot; ms = &quot;);
  Serial.print(((float)samples * 1000.0) / (float)elapsedTime);
  Serial.println(&quot; samples/sec&quot;);
}

void loop()
{
}
</pre></p>
<p style="padding-left:30px;">Arduino: 10000 samples in 1119 ms = 8936.55 samples/sec<br />
chipKIT: 10000 samples in 1008 ms = 9920.63 samples/sec</p>
<p>Running full-tilt, the PIC32 is capable of up to 1 million ADC samples per second, compared to 125,000 on the Atmel chip. Certainly the library implementation is going to introduce some overhead, but what gives? Rooting through the library source code turns up this gem in wiring_analog.c:</p>
<p><pre class="brush: plain;">
 //*     A delay is needed for the the ADC start up time
 //*     this value started out at 1 millisecond, I dont know how long it needs to be
 //*     99 uSecs will give us the same approximate sampling rate as the AVR chip
 //      delay(1);
 delayMicroseconds(99);
</pre></p>
<p>This raises a couple of red flags. First, why should the sampling rate aim to match the AVR? For time-related functions like delay() and for Serial.begin() bitrates, of course we’d want similar numbers, those relate to temporal increments. But we don’t — or at least shouldn’t — measure time with ADC readings. And secondly, well, why not find out how long the ADC startup time really needs to be? A few minutes’ sifting through Microchip datasheets eventually turned up the correct answer: <em>two microseconds.</em> So, changing the line in wiring_analog.c to:</p>
<p><pre class="brush: plain;">delayMicroseconds(2);</pre></p>
<p>Yields dramatically different results:</p>
<p style="padding-left:30px;">chipKIT: 10000 samples in 101 ms = 99009.90 samples/sec</p>
<p>About a tenfold improvement, and the readings still look valid. This does break like-timing compatibility with the AVR-based Arduinos, but as we said, why? It’s understandable that some decisions may have been made in haste…it’s a monumental project, getting all this code ported to an entirely different chip, and the IDE is still fresh from the oven…but some of these little broken details do have us concerned about what other surprises may still lurk beneath.</p>
<p>Don’t get us wrong…we’re enthusiastic about the chipKIT boards. The technical challenge is met, and just needs some cleaning up. What remains for Digilent now is a marketing challenge: <em>who is this really for?</em> When we talk about things like megasamples and fixed-point algorithms, these aren’t exactly day-one topics familiar to the Arduino’s target audience of first-time programmers. And the more advanced user may have moved on already, leaving Arduino behind. So why keep this form factor? Why keep this IDE?</p>
<p>Obviously, part of the allure is the existing ecosystem of Arduino <a href="http://hackaday.com/2011/05/11/arduino-magnetic-core-memory-shield/">shields</a>. There’s some pretty nifty stuff out there, networking and touch screens and stepper motor drivers, most of which will physically plug right in. Having an existing solution saves development time. Then there’s the ease and familiarity of the Arduino libraries. Even though they’re <a href="http://hackaday.com/2010/01/06/arduino-io-speed-breakdown/">slow and clunky in places</a>, it can be really handy sometimes just to squirt out some status information to a serial port without having to do all the UART setup manually.</p>
<p>The chipKIT boards are cleverly priced to approximate Arduino on a cost basis (even undercutting a bit). That’s a great start, with code and price parity, but where’s the <em>extra</em> value? What the Uno32 and Max32 may need are some killer apps. Ideas that the novice can implement, but that really take advantage of the PIC32 chip’s added performance and capabilities. Speed may be just one part of that. What can we do with the extra RAM and flash space that a normal Arduino just can’t handle, even with the fanciest of shields? Folks have done some mind-blowing stuff with the <a href="http://hackaday.com/2010/05/01/phasor-av-pal-demo-uses-atmega88/">little 8-bit AVR</a>. We’re looking forward to seeing if this is the tool that takes these hacks to the next level.</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>, <a href='http://hackaday.com/category/microcontrollers/'>Microcontrollers</a>, <a href='http://hackaday.com/category/reviews/'>reviews</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/43877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/43877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/43877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/43877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/43877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/43877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/43877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/43877/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=43877&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/05/27/chipkit-uno32-first-impressions-and-benchmarks/feed/</wfw:commentRss>
		<slash:comments>48</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">philburgess</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/05/uno-fight.jpg" medium="image">
			<media:title type="html">uno-fight</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/05/benchmark-float.jpg" medium="image">
			<media:title type="html">benchmark-float</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/05/benchmark-fixed1.jpg" medium="image">
			<media:title type="html">benchmark-fixed</media:title>
		</media:content>
	</item>
		<item>
		<title>Analog to Digital converter build</title>
		<link>http://hackaday.com/2011/02/20/analog-to-digital-converter-build/</link>
		<comments>http://hackaday.com/2011/02/20/analog-to-digital-converter-build/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 15:00:29 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[atmega]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=35378</guid>
		<description><![CDATA[[Daniel Garcia] sent us a quick tutorial he put together demonstrating how to use an ATmega168 to perform analog to digital conversions. This timely tutorial would make for a nice complimentary project for those of you who decided to build your own digital to analog converter after reading our post from a few days ago. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=35378&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-35380" title="analogue_digital_converter" src="http://hackadaycom.files.wordpress.com/2011/02/analogue_digital_converter.jpg" alt="analogue_digital_converter" width="470" height="353" /></p>
<p>[Daniel Garcia] sent us a <a href="http://www.protostack.com/blog/2011/02/analogue-to-digital-conversion-on-an-atmega168/" target="_blank">quick tutorial he put together</a> demonstrating how to use an ATmega168 to perform analog to digital conversions. This timely tutorial would make for a nice complimentary project for those of you who decided to build your own digital to analog converter after reading <a href="http://hackaday.com/2011/02/17/your-first-digital-to-analog-converter-build/" target="_blank">our post from a few days ago</a>.</p>
<p>The ATmega168 has six pins that are typically used for digital I/O, but they can be used for analog input as well. In his example, he uses a trimpot as an analog input device, connecting it to one of the aforementioned analog pins. Its value is returned as a 16-bit number which is then displayed on the attached LCD. The LCD display and the breadboard layout used in this project are covered in his previous writeups, so be sure to give those a read through before working through this tutorial.</p>
<br />Filed under: <a href='http://hackaday.com/category/microcontrollers/'>Microcontrollers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/35378/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/35378/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/35378/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/35378/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/35378/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/35378/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/35378/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/35378/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=35378&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/02/20/analog-to-digital-converter-build/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mikenathanathackaday</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/analogue_digital_converter.jpg" medium="image">
			<media:title type="html">analogue_digital_converter</media:title>
		</media:content>
	</item>
		<item>
		<title>Using analog voltage references with Arduino</title>
		<link>http://hackaday.com/2010/12/11/using-analog-voltage-references-with-arduino/</link>
		<comments>http://hackaday.com/2010/12/11/using-analog-voltage-references-with-arduino/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 17:30:19 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[analog voltage reference]]></category>
		<category><![CDATA[aref]]></category>
		<category><![CDATA[voltage divider]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=31594</guid>
		<description><![CDATA[Little Bird Electronics posted an article about using an analog voltage reference with Arduino. This is a tool available when using an analog-to-digital converter. By setting up either an internal or external AREF, you can better use the ADC considering its resolution limitations. For instance, if you are measuring a signal that you know will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=31594&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-31595" title="arduino-aref" src="http://hackadaycom.files.wordpress.com/2010/12/arduino-aref-e1292086007218.jpg" alt="" width="470" height="346" /></p>
<p>Little Bird Electronics posted an article about <a href="http://blog.littlebirdelectronics.com/tutorial-arduino-and-the-aref-pin">using an analog voltage reference with Arduino</a>. This is a tool available when using an analog-to-digital converter. By setting up either an internal or external AREF, you can better use the ADC considering its resolution limitations. For instance, if you are measuring a signal that you know will always be below 2V, an external circuit, such as a voltage divider or an adjustable regulator, can give you a reference voltage just above that upper limit; say 2.5V. This way the 1024 divisions of resolution will be spread across your signal&#8217;s range, rather than just the lower half of the ADC readings.</p>
<p>Analog references are common to microcontrollers that have ADCs. Even if you&#8217;re not working with an Arduino, read through the article and use what you learn with your uC of choice.</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>, <a href='http://hackaday.com/category/microcontrollers/'>Microcontrollers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/31594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/31594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/31594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/31594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/31594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/31594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/31594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/31594/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=31594&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/12/11/using-analog-voltage-references-with-arduino/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/12/arduino-aref-e1292086007218.jpg" medium="image">
			<media:title type="html">arduino-aref</media:title>
		</media:content>
	</item>
		<item>
		<title>Arduino + Java + Joystick</title>
		<link>http://hackaday.com/2010/11/19/arduino-java-joystick/</link>
		<comments>http://hackaday.com/2010/11/19/arduino-java-joystick/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 19:00:44 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[analog]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Joystick]]></category>
		<category><![CDATA[sensor]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=30936</guid>
		<description><![CDATA[Interfacing your own hardware with a Java app couldn&#8217;t be easier than this example. [Pn] created this proof-of-concept using an Arduino, an analog joystick from a gaming controller, and a few lines of Java code. The Arduino reads an ADC value from the joystick&#8217;s x-axis and transmits it over the serial connection ten times a second. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30936&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-30937" title="arduino-joystick-java" src="http://hackadaycom.files.wordpress.com/2010/11/arduino-joystick-java.jpg" alt="" width="470" height="352" /></p>
<p>Interfacing your own hardware with a Java app couldn&#8217;t be easier than <a href="http://quequero.org/Arduino_Joystick">this example</a>. [Pn] created this proof-of-concept using an Arduino, an analog joystick from a gaming controller, and a few lines of Java code. The Arduino reads an ADC value from the joystick&#8217;s x-axis and transmits it over the serial connection ten times a second. The Java program triggers on every serial event, parsing the data based on the @ symbol that the Arduino sends as a start and end condition.</p>
<p>We like this kind of example because there&#8217;s nothing extra involved. It lets you take the concept and run with it in any project imaginable. Be it <a href="http://hackaday.com/2010/06/02/hid-crafting-with-a-pic-and-a-joystick/">a more complicated Joystick</a>, or simple sensors that you&#8217;d like to interface with.</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/30936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/30936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/30936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/30936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/30936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/30936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/30936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/30936/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=30936&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/11/19/arduino-java-joystick/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/11/arduino-joystick-java.jpg" medium="image">
			<media:title type="html">arduino-joystick-java</media:title>
		</media:content>
	</item>
		<item>
		<title>Multiple buttons and a pot on one pin</title>
		<link>http://hackaday.com/2010/04/28/multiple-buttons-and-a-pot-on-one%c2%a0pin/</link>
		<comments>http://hackaday.com/2010/04/28/multiple-buttons-and-a-pot-on-one%c2%a0pin/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 16:00:18 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[potentiometer]]></category>
		<category><![CDATA[voltage divider]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=23572</guid>
		<description><![CDATA[[Kevin Fodor] shares his method of reading multiple inputs on one pin of a microcontroller. The analog to digital convert function of the microcontroller is used to read a potentiometer but with some careful calculations a resistor network can be built into the circuit that provides a unique voltage value for each button pushed. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=23572&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-23576" title="one-pin-multiple-inputs" src="http://hackadaycom.files.wordpress.com/2010/04/one-pin-multiple-inputs.jpg" alt="" width="470" height="353" /></p>
<p>[Kevin Fodor] shares his method of <a href="http://www.edn.com/article/CA6726481.html?nid=4173">reading multiple inputs on one pin</a> of a microcontroller. The analog to digital convert function of the microcontroller is used to read a potentiometer but with some careful calculations a resistor network can be built into the circuit that provides a unique voltage value for each button pushed. The only real drawback is that the system cannot read multiple button presses at the same time. Theoretically up to ten momentary push buttons can be used but [Kevin] estimates that only four plus the potentiometer will work reliably.</p>
<p>[Thanks Charper]</p>
<br />Filed under: <a href='http://hackaday.com/category/misc-hacks/'>misc hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/23572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/23572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/23572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/23572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/23572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/23572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/23572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/23572/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=23572&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/04/28/multiple-buttons-and-a-pot-on-one%c2%a0pin/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/04/one-pin-multiple-inputs.jpg" medium="image">
			<media:title type="html">one-pin-multiple-inputs</media:title>
		</media:content>
	</item>
		<item>
		<title>Arduinome with many pots</title>
		<link>http://hackaday.com/2010/01/12/arduinome-with-many-pots/</link>
		<comments>http://hackaday.com/2010/01/12/arduinome-with-many-pots/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 12:35:40 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[digital audio hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[arduinome]]></category>
		<category><![CDATA[ic]]></category>
		<category><![CDATA[multiplexer]]></category>
		<category><![CDATA[potentiometer]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=20645</guid>
		<description><![CDATA[[Aggaz] added 16 potentiometers to his Arduinome.The Arduinome is a monome clone based around the Arduino as a microprocessor. We seen some Arduinome builds in the past but [Aggaz's] work augments the physical interface. Potentiometers used in circuit bending allow for manipulation of the sounds coming out of the circuits. In this case the pots [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=20645&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-20647" title="multi-pot-arduinome" src="http://hackadaycom.files.wordpress.com/2010/01/multi-pot-arduinome.jpg" alt="" width="470" height="274" /></p>
<p>[Aggaz] <a href="http://elettrofonesi.blogspot.com/2009/11/arduinome-x16adc-mod.html">added 16 potentiometers to his Arduinome</a>.The <a href="http://bricktable.wordpress.com/30/">Arduinome</a> is a <a href="http://hackaday.com/2006/04/22/mf2006-monome/">monome</a> clone based around the Arduino as a microprocessor. We seen some <a href="http://hackaday.com/2008/08/13/rgb-monome-clone/">Arduinome builds</a> in the past but [Aggaz's] work augments the physical interface.</p>
<p>Potentiometers used in circuit bending allow for <a href="http://hackaday.com/2009/09/29/noise-box-synth-lays-down-some-beats/">manipulation of the sounds coming out of the circuits</a>. In this case the pots are connected to the microcontroller instead of the sound generation circuitry which means you can do whatever you want with them depending on how creative you are with the code. So far he&#8217;s just starting to get the new set of interfaces to play nicely over the serial connection. This could end up being quite popular as it only requires the addition of a multiplexer IC, the potentiometers, and the knobs.</p>
<br />Posted in arduino hacks, digital audio hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/20645/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/20645/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/20645/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/20645/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/20645/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/20645/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/20645/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/20645/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=20645&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/01/12/arduinome-with-many-pots/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/01/multi-pot-arduinome.jpg" medium="image">
			<media:title type="html">multi-pot-arduinome</media:title>
		</media:content>
	</item>
		<item>
		<title>Arduino pH meter</title>
		<link>http://hackaday.com/2009/09/01/arduino-ph-meter/</link>
		<comments>http://hackaday.com/2009/09/01/arduino-ph-meter/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 17:30:06 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[glas electrode]]></category>
		<category><![CDATA[pH]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=14310</guid>
		<description><![CDATA[[Carlos] sent us his project that uses an Arduino as a pH meter. In order to sense the acidity or alkalinity of a solution, a glass electrode is connected to the ADC of the Arduino through a fairly complicated calibration, amplification, and filtering circuit. Admittedly, it may not be cheaper or as accurate as some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=14310&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-14311" title="phduino_v02_PIC_0050" src="http://hackadaycom.files.wordpress.com/2009/09/phduino_v02_pic_0050.jpg" alt="phduino_v02_PIC_0050" width="470" height="353" /></p>
<p>[Carlos] sent us his project that <a href="http://code.google.com/p/phduino/">uses an Arduino as a pH meter</a>. In order to sense the acidity or alkalinity of a solution, a <a href="http://en.wikipedia.org/wiki/Glass_electrode">glass electrode</a> is connected to the ADC of the Arduino through a fairly <a href="http://lh5.ggpht.com/_CjTtOo4QsAQ/SpxZLVArCKI/AAAAAAAAAL0/7gO3MwHGcnw/s800/pHduino_v02.02_scheme.png">complicated calibration, amplification, and filtering circuit</a>. Admittedly, it may not be cheaper or as accurate as some commercial models, but it is an open project and can be interfaced with a computer via USB.</p>
<br />Posted in arduino hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/14310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/14310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/14310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/14310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/14310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/14310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/14310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/14310/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=14310&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/09/01/arduino-ph-meter/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/09/phduino_v02_pic_0050.jpg" medium="image">
			<media:title type="html">phduino_v02_PIC_0050</media:title>
		</media:content>
	</item>
		<item>
		<title>Android Developer Challenge 2 open for submissions</title>
		<link>http://hackaday.com/2009/08/24/android-developer-challenge-2-open-for-submissions/</link>
		<comments>http://hackaday.com/2009/08/24/android-developer-challenge-2-open-for-submissions/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 21:13:06 +0000</pubDate>
		<dc:creator>Matt Schultz</dc:creator>
				<category><![CDATA[android hacks]]></category>
		<category><![CDATA[google hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[adc 2]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[developer challenge]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=13735</guid>
		<description><![CDATA[Google has opened up a new Android Developer Challenge for submissions. About $2,000,000 in prize money is available, with $250,000 going to the best overall app. Submissions are due by August 31, leaving about a week to get apps in for judging. Time is short, but the prizes are big. Hopefully we&#8217;ll see some exciting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=13735&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-13739" title="adc2" src="http://hackadaycom.files.wordpress.com/2009/08/adc2.jpg" alt="adc2" width="470" height="350" /></p>
<p>Google has opened up a new <a href="http://code.google.com/android/adc/">Android Developer Challenge</a> for submissions. About $2,000,000 in prize money is available, with $250,000 going to the best overall app. Submissions are due by August 31, leaving about a week to get apps in for judging. Time is short, but the prizes are big. Hopefully we&#8217;ll see some exciting things come from the contestants now that the community has grown since the <a href="http://hackaday.com/2008/05/23/google-android-application-challenge-winners/">previous ADC</a> in 2008.</p>
<p>[via <a href="http://phandroid.com/2009/08/24/android-developer-challenge-2-now-open-for-submissions/">Phandroid</a>]</p>
<br />Posted in android hacks, google hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/13735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/13735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/13735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/13735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/13735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/13735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/13735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/13735/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=13735&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/08/24/android-developer-challenge-2-open-for-submissions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mattcraigschultz</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/08/adc2.jpg" medium="image">
			<media:title type="html">adc2</media:title>
		</media:content>
	</item>
		<item>
		<title>Temperature sensing Munny</title>
		<link>http://hackaday.com/2009/02/18/temperature-sensing-munny/</link>
		<comments>http://hackaday.com/2009/02/18/temperature-sensing-munny/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 01:13:48 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[home hacks]]></category>
		<category><![CDATA[led hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[Atmel]]></category>
		<category><![CDATA[attiny]]></category>
		<category><![CDATA[attiny5l]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[gift]]></category>
		<category><![CDATA[isp]]></category>
		<category><![CDATA[joao silva]]></category>
		<category><![CDATA[kidrobot]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[lm35cz]]></category>
		<category><![CDATA[munny]]></category>
		<category><![CDATA[present]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[RGB LED]]></category>
		<category><![CDATA[temperature]]></category>
		<category><![CDATA[thermometer]]></category>
		<category><![CDATA[valentine]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=8603</guid>
		<description><![CDATA[Here&#8217;s another nerdy present that was built for Valentine&#8217;s Day. [João Silva] created a temperature sensing Munny. A Munny is a vinyl toy made to be customized. Other than these Munny speakers, we haven&#8217;t seen them in many electronics projects. The LM35CZ temperature sensor has an analog output that connects to the ADC on the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=8603&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-8602" title="munny" src="http://hackadaycom.files.wordpress.com/2009/02/munny.jpg" alt="munny" width="450" height="380" /></p>
<p>Here&#8217;s another nerdy present that was built for Valentine&#8217;s Day. [João Silva] created a <a title="Coffee, bits and bikes: Munny DIY - Valentine's gift" href="http://bitsnbikes.blogspot.com/2009/02/munny-diy-valentines-gift.html">temperature sensing Munny</a>. A <a title="MUNNY: The Greatest Do It Yourself Toy!" href="http://www.kidrobot.com/2008/munny/">Munny</a> is a vinyl toy made to be customized. Other than these <a title="Munny Speakers" href="http://www.instructables.com/id/Munny-Speakers/">Munny speakers</a>, we haven&#8217;t seen them in many electronics projects. The LM35CZ temperature sensor has an analog output that connects to the ADC on the ATtiny15L. The microcontroller changes the RGB LED&#8217;s color based on the temperature: blue for cold, green for comfortable, and red for hot. It only flashes every three minutes to conserve the power in the coin cells. His one-off circuit board also includes an ISP header for programming. The Munny&#8217;s head looks like it does a great job diffusing the light.</p>
<br />Posted in home hacks, led hacks, misc hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/8603/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/8603/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/8603/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/8603/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/8603/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/8603/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/8603/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/8603/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=8603&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/02/18/temperature-sensing-munny/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/02/munny.jpg" medium="image">
			<media:title type="html">munny</media:title>
		</media:content>
	</item>
		<item>
		<title>Bug Labs releases BUGvonHippel universal module</title>
		<link>http://hackaday.com/2008/12/21/bug-labs-releases-bugvonhippel-universal-module/</link>
		<comments>http://hackaday.com/2008/12/21/bug-labs-releases-bugvonhippel-universal-module/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 01:50:48 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[handhelds hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug labs]]></category>
		<category><![CDATA[bugvonhippel]]></category>
		<category><![CDATA[dac]]></category>
		<category><![CDATA[engadget]]></category>
		<category><![CDATA[eric von hippel]]></category>
		<category><![CDATA[gpio]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[vonhippel]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=7121</guid>
		<description><![CDATA[Bug Labs makes hardware modules that can be combined to create your own custom gadgets. They&#8217;ve just released what we consider the most useful module: BUGvonHippel. Unlike the previous single purpose modules, the BUGvoHippel is a universal interface. The bus features USB, power/ground, DAC/ADC, I2C, GPIO, SPI, serial, and more. BUG applications are written in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=7121&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-7122 aligncenter" title="vonhippel" src="http://hackadaycom.files.wordpress.com/2008/12/vonhippel.jpg" alt="vonhippel" width="389" height="299" /></p>
<p><a title="Bug Labs - Mahalo" href="http://www.mahalo.com/Bug_Labs">Bug Labs</a> makes hardware modules that can be combined to create your own custom gadgets. They&#8217;ve just released what we consider the most useful module: <a title="BUGvonHippel" href="http://store.buglabs.net/Product-Catalog/BUGvonHippel">BUGvonHippel</a>. Unlike the previous single purpose modules, the BUGvoHippel is a universal interface. The bus features <a title="USB - Mahalo" href="http://www.mahalo.com/USB">USB</a>, power/ground, DAC/ADC, I2C, GPIO, SPI, serial, and more. BUG applications are written in <a title="Java - Mahalo" href="http://www.mahalo.com/Java">Java</a> using a custom IDE.</p>
<p>The $79 module is named after MIT professor Eric von Hippel, who wrote <a title="Eric Von Hippel's Homepage" href="http://web.mit.edu/evhippel/www/books.htm">Democratizing Innovation</a>. You can find an interview with him below.</p>
<p><span id="more-7121"></span></p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=1603449&cross_post_destination=-1&view=full_js"></script>
<p>[via <a title="BUG Labs intros BUGvonHippel, talks up big plans for CES - Engadget" href="http://www.engadget.com/2008/12/21/bug-labs-intros-bugvonhippel-talks-up-big-plans-for-ces/">Engadget</a>]</p>
<br />Posted in handhelds hacks, misc hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/7121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/7121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/7121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/7121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/7121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/7121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/7121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/7121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=7121&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/12/21/bug-labs-releases-bugvonhippel-universal-module/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

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