<?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; i2c</title>
	<atom:link href="http://hackaday.com/tag/i2c/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 09:25:07 +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; i2c</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>Wii Nunchuck on an 80s computer</title>
		<link>http://hackaday.com/2012/01/16/wii-nunchuck-on-an-80s-computer/</link>
		<comments>http://hackaday.com/2012/01/16/wii-nunchuck-on-an-80s-computer/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 15:01:43 +0000</pubDate>
		<dc:creator>Brian Benchoff</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[msx]]></category>
		<category><![CDATA[wii nunchuck]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=65577</guid>
		<description><![CDATA[For a computer that debuted in the early 80s the MSX was a very respectable machine. Of course  these were the days that superimposing graphics over a video was an amazing feat, but  [Danjovic] and [Igor] are still having fun with their boxen. They designed a software interface for the Wii Nunchuck (translation) on their trusty MSX computer. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=65577&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-65580" title="MSX" src="http://hackadaycom.files.wordpress.com/2012/01/msx.jpg" alt="" width="470" height="152" /></p>
<p>For a computer that debuted in the early 80s the MSX was a very respectable machine. Of course  these were the days that superimposing graphics over a video was an amazing feat, but  [Danjovic] and [Igor] are still having fun with their boxen. They designed a <a href="http://hotbit.blogspot.com/2012/01/wii-nunchuck-no-msx.html">software interface for the Wii Nunchuck</a> (<a href="http://translate.google.com/translate?sl=pt&amp;tl=en&amp;js=n&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=2&amp;eotf=1&amp;u=http%3A%2F%2Fhotbit.blogspot.com%2F2012%2F01%2Fwii-nunchuck-no-msx.html&amp;act=url">translation</a>) on their trusty MSX computer.</p>
<p>The plug coming out the back of a standard Wiimote is just a simple I2C bus. Many things can be done with this port from <a href="http://hackaday.com/2011/09/19/using-classic-game-controllers-with-a-wii/">plugging in ancient controllers</a> to <a href="http://hackaday.com/2011/07/28/security-bot-2/">controlling robots</a>. [Danjovic] and [Igor] managed to <a href="http://translate.google.com/translate?hl=en&amp;sl=pt&amp;tl=en&amp;u=http%3A%2F%2Fhotbit.blogspot.com%2Fsearch%2Flabel%2FJ2C">write a routine</a> in Basic that converts the I2C data coming out of the Nunchuck to data the MSX can understand without any modification of the hardware whatsoever.</p>
<p>All the guys needed to plug the Nunchuck into the MSX was a voltage divider and a few pull-up resistors between the computer and controller. They got data from both buttons, the joystick and the accelerometer in the Nunchuck and made a small program to display some sprites on the screen to demonstrate this. Check that out after the break.</p>
<p><span id="more-65577"></span></p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2012/01/16/wii-nunchuck-on-an-80s-computer/"><img src="http://img.youtube.com/vi/RNiMxM2kduk/2.jpg" alt="" /></a></span>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2012/01/16/wii-nunchuck-on-an-80s-computer/"><img src="http://img.youtube.com/vi/w0B2zOgL6-U/2.jpg" alt="" /></a></span>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/65577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/65577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/65577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/65577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/65577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/65577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/65577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/65577/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=65577&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2012/01/16/wii-nunchuck-on-an-80s-computer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">brianbenchoff</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2012/01/msx.jpg" medium="image">
			<media:title type="html">MSX</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming AVR I2C Interface</title>
		<link>http://hackaday.com/2012/01/09/programming-avr-i2c-interface/</link>
		<comments>http://hackaday.com/2012/01/09/programming-avr-i2c-interface/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 13:01:53 +0000</pubDate>
		<dc:creator>Kevin Dady</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[24C16]]></category>
		<category><![CDATA[i2c]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=65068</guid>
		<description><![CDATA[I2C as many of you know, is a simple serial interface for many peripheral devices to micro controllers, but it can quickly become confusing to people who may not be accustom to it. Because of that, I2C tutorials are always welcome, and this new tutorial by [Embedds] does an excellent job of how to use [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=65068&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-65070" title="Atmega328_24C16" src="http://hackadaycom.files.wordpress.com/2012/01/atmega328_24c16.jpg" alt="" width="470" height="391" /></p>
<p>I<sup>2</sup>C as many of you know, is a simple serial interface for many peripheral devices to micro controllers, but it can quickly become confusing to people who may not be accustom to it. Because of that, I<sup>2</sup>C tutorials are always welcome, and this new tutorial by [Embedds] does an excellent job of <a href="http://www.embedds.com/programming-avr-i2c-interface/">how to use I</a><a href="http://www.embedds.com/programming-avr-i2c-interface/"><sup>2</sup>C with an AVR </a> with a 24C16 2Kbyte EEPROM.</p>
<p>The first half of the tutorial provides a clear explanation of how I<sup>2</sup>C works, including its signal structure, addressing, and data packets. It then moves on to AVR territory showing how to setup the I<sup>2</sup>C in an AtMega micro controller. The author uses a pretty standard to most of us Arduino, with software written in AVR C and a nifty little GUI programming application which eases the hassle of dealing with AVRDude directly.</p>
<p>Plenty of code samples follow from twiddling registers to a full blown application reading and writing bits from the EEPROM to a serial terminal on a PC.</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>, <a href='http://hackaday.com/category/hardware/'>hardware</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/65068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/65068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/65068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/65068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/65068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/65068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/65068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/65068/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=65068&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2012/01/09/programming-avr-i2c-interface/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">osgeld</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2012/01/atmega328_24c16.jpg" medium="image">
			<media:title type="html">Atmega328_24C16</media:title>
		</media:content>
	</item>
		<item>
		<title>I2C level converter</title>
		<link>http://hackaday.com/2011/12/07/i2c-level-converter/</link>
		<comments>http://hackaday.com/2011/12/07/i2c-level-converter/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 21:01:19 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[bss138]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[level converter]]></category>
		<category><![CDATA[mosfet]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=62907</guid>
		<description><![CDATA[You&#8217;ve got several devices which communicate via the I2C protocol, but some of them can only operate at 3.3V while the rest are hungry for a 5V connection. What to do? [Linux-works] built this I2C level converter to solve the problem. The circuit comes from an NXP app note (PDF) on the issue. You can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=62907&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-62908" title="i2c-level-converter" src="http://hackadaycom.files.wordpress.com/2011/12/i2c-level-converter-e1323279636117.jpg" alt="" width="470" height="283" /></p>
<p>You&#8217;ve got several devices which communicate via the I2C protocol, but some of them can only operate at 3.3V while the rest are hungry for a 5V connection. What to do? [Linux-works] <a href="http://www.flickr.com/photos/linux-works/6433044007/">built this I2C level converter</a> to solve the problem.</p>
<p>The circuit comes from <a href="http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf">an NXP app note</a> (PDF) on the issue. You can take a quick <a href="http://www.flickr.com/photos/linux-works/6433372523/">peek at the suggested schematic</a> from that document. The design uses two MOSFETS for each side of the adaptor. Perhaps a better way to explain this is that you need one for the higher voltage and one for the lower voltage on each of the two data lines for a total of four parts. This allows for both of the buses to communicate as one, while still having their own 3.3V and 5V pull-up resistors.</p>
<p>[Linux-works] concedes that there are chips designed to do this for you, but he was able to source the BSS138 MOSFETs locally and for about ten cents a piece. Not a bad alternative to putting in a parts order.</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/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/62907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/62907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/62907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/62907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/62907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/62907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/62907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/62907/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=62907&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/12/07/i2c-level-converter/feed/</wfw:commentRss>
		<slash:comments>22</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/i2c-level-converter-e1323279636117.jpg" medium="image">
			<media:title type="html">i2c-level-converter</media:title>
		</media:content>
	</item>
		<item>
		<title>FT-2232 bridges Python and I2C/SPI</title>
		<link>http://hackaday.com/2011/11/14/ft-2232-bridges-python-and-i2cspi/</link>
		<comments>http://hackaday.com/2011/11/14/ft-2232-bridges-python-and-i2cspi/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:01:23 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[ftdi]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[ft-2232]]></category>
		<category><![CDATA[mpsse]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=61207</guid>
		<description><![CDATA[You might already have the hardware on hand to easily interface I2C and SPI devices with Python scripts on your computer. The board seen above is an FT-2232 breakout board. These chips are often used to facilitate JTAG programming via USB, but they have other features that might be useful to you as well. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=61207&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-61208" title="ft-2232-i2c-spi" src="http://hackadaycom.files.wordpress.com/2011/11/ft-2232-i2c-spi-e1321292384194.jpg" alt="" width="470" height="353" /></p>
<p>You might already have the hardware on hand to easily <a href="http://www.devttys0.com/2011/11/speaking-spi-i2c-with-the-ft-2232/">interface I2C and SPI devices with Python scripts on your computer</a>. The board seen above is an FT-2232 breakout board. These chips are often used to facilitate JTAG programming via USB, but they have other features that might be useful to you as well. The chip has a Multi-Protocol Synchronous Serial Engine (MPSSE) which can speak the I2C and SPI protocols, you just need to know how to active them in your code.</p>
<p>[Craig] makes this easy with his MPSSE Python wrapper. Simply install his module, and you&#8217;ll be able to import all the commands you need. He demonstrates reading the data out of a 1 MB SPI flash memory chip. This could be used for a lot more, including debugging peripherals à la the Bus Pirate, or reprogramming chips to add to your projects (we&#8217;re thinking font arrays and sprites for displays, or look-up tables).</p>
<p>If you&#8217;re not aware, these FTDI chips were the go-to for USB support for a long time. We&#8217;ve got a guide for <a href="http://hackaday.com/2009/09/22/introduction-to-ftdi-bitbang-mode/">bit-banging using this hardware</a>. Lately more chips have become available with USB hardware built-in. They&#8217;re quite useful and cost-effective, especially with the availability of open-source stacks like <a href="http://hackaday.com/2011/11/11/lufa-open-source-usb-stack-now-for-nxp-arm-processors/">the LUFA project</a>.</p>
<br />Filed under: <a href='http://hackaday.com/category/microcontrollers/'>Microcontrollers</a>, <a href='http://hackaday.com/category/tool-hacks/'>tool hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/61207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/61207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/61207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/61207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/61207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/61207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/61207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/61207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=61207&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/11/14/ft-2232-bridges-python-and-i2cspi/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/11/ft-2232-i2c-spi-e1321292384194.jpg" medium="image">
			<media:title type="html">ft-2232-i2c-spi</media:title>
		</media:content>
	</item>
		<item>
		<title>Auxiliary display for Beat707 works via I2C</title>
		<link>http://hackaday.com/2011/07/26/auxiliary-display-for-beat707-works-via-i2c/</link>
		<comments>http://hackaday.com/2011/07/26/auxiliary-display-for-beat707-works-via-i2c/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 22:22:03 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[digital audio hacks]]></category>
		<category><![CDATA[attiny85]]></category>
		<category><![CDATA[beat707]]></category>
		<category><![CDATA[cd4067]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[midi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=50292</guid>
		<description><![CDATA[Bigtime is a simple way to create an auxiliary display for the Beat707 MIDI controller. The right half of the display shows the beat pattern that the drum machine is using, while the left half keeps track of the current measure. Just a few components went into the extra hardware. A four-digit seven segment display [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=50292&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-50293" title="beat707-bigtime" src="http://hackadaycom.files.wordpress.com/2011/07/beat707-bigtime.png" alt="" width="470" height="350" /></p>
<p><a href="https://github.com/Beat707/Beat707-BigTime">Bigtime</a> is a simple way to create an auxiliary display for <a href="http://hackaday.com/2011/04/22/beat707-takes-its-cue-from-a-vintage-drum-machine/">the Beat707 MIDI controller</a>. The right half of the display shows the beat pattern that the drum machine is using, while the left half keeps track of the current measure.</p>
<p>Just a few components went into the extra hardware. A four-digit seven segment display is fed data from an ATtiny85. Since that microcontroller has only eight pins, a 595 shift register and CD4067 take care of translating serial data into the outputs necessary to light the display. The entire thing connects to the Beat707&#8242;s I2C bus, which means you don&#8217;t need to make hardware alterations to the original, and this leaves plenty of room for more addons.</p>
<p>The code package includes a Fritzing file, but for your convenience we&#8217;ve embedded a PNG of the hardware connections after the break. You&#8217;ll also find the demo video where [Guilherme] explains how this works.</p>
<p><span id="more-50292"></span></p>
<p><a href="http://hackadaycom.files.wordpress.com/2011/07/beat707_bigtime_bb.png"><img class="alignnone size-large wp-image-50294" title="Beat707_BigTime_bb" src="http://hackadaycom.files.wordpress.com/2011/07/beat707_bigtime_bb.png?w=450&#038;h=274" alt="" width="450" height="274" /></a></p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/07/26/auxiliary-display-for-beat707-works-via-i2c/"><img src="http://img.youtube.com/vi/xhpI_UP6tjY/2.jpg" alt="" /></a></span>
<br />Filed under: <a href='http://hackaday.com/category/digital-audio-hacks/'>digital audio hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/50292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/50292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/50292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/50292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/50292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/50292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/50292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/50292/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=50292&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/07/26/auxiliary-display-for-beat707-works-via-i2c/feed/</wfw:commentRss>
		<slash:comments>8</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/07/beat707-bigtime.png" medium="image">
			<media:title type="html">beat707-bigtime</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/07/beat707_bigtime_bb.png?w=450" medium="image">
			<media:title type="html">Beat707_BigTime_bb</media:title>
		</media:content>
	</item>
		<item>
		<title>Working with I2C port expanders</title>
		<link>http://hackaday.com/2011/06/07/working-with-i2c-port-expanders/</link>
		<comments>http://hackaday.com/2011/06/07/working-with-i2c-port-expanders/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 14:08:37 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[mcp23008]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[port expander]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=44829</guid>
		<description><![CDATA[There are times when you don&#8217;t need much processing power for your project but you do need a lot of I/O pins. It often doesn&#8217;t make economic sense to choose a larger microcontroller just to get extra pins so the answer is to use a port expander chip. [Raendra] posted a guide for using one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=44829&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-large wp-image-44830" title="i2c-port-expander-MCP23008" src="http://hackadaycom.files.wordpress.com/2011/06/i2c-port-expander-mcp23008-e1307388693552.jpg?w=450&#038;h=307" alt="" width="450" height="307" /></p>
<p>There are times when you don&#8217;t need much processing power for your project but you do need a lot of I/O pins. It often doesn&#8217;t make economic sense to choose a larger microcontroller just to get extra pins so the answer is to use a port expander chip. [Raendra] posted <a href="http://embedded-lab.com/blog/?p=2834">a guide for using one of these chips</a>, it&#8217;s a Microchip MCP23008 chip that uses the I2C protocol for communications.</p>
<p>You are probably already familiar with <a href="http://hackaday.com/2010/05/31/beginner-concepts-cascading-shift-registers/">using shift registers like the 595 series</a> for port expansion. There can be benefits to using an I2C device instead. One of them comes when using multiple port expander chips. With cascading shift registers you must always shift in the data for the entire chain of chips. But I2C devices are individually addressable, so you only need to push data over the I2C bus for the chips that need to be changed, the others will remain unaffected. It is especially easy to use these if you already have another I2C device in your project design as the addition only requires the connection of the SDA and SCL lines. Keep them in mind for future undertakings.</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/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/44829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/44829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/44829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/44829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/44829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/44829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/44829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/44829/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=44829&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/06/07/working-with-i2c-port-expanders/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/i2c-port-expander-mcp23008-e1307388693552.jpg?w=450" medium="image">
			<media:title type="html">i2c-port-expander-MCP23008</media:title>
		</media:content>
	</item>
		<item>
		<title>I2C Arduino GPS shield</title>
		<link>http://hackaday.com/2011/05/24/i2c-arduino-gps-shield/</link>
		<comments>http://hackaday.com/2011/05/24/i2c-arduino-gps-shield/#comments</comments>
		<pubDate>Tue, 24 May 2011 21:22:57 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[serial]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=43611</guid>
		<description><![CDATA[[Wayne] wrote in to share an item he just finished working on, an I2C GPS shield for the Arduino. While other GPS solutions have existed for quite some time, his caught our eye due to its feature list. The shield removes a good bit of the hassle associated with parsing raw NMEA data from traditional [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=43611&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-43614" title="i2c_gps_shield" src="http://hackadaycom.files.wordpress.com/2011/05/i2c_gps_shield.jpg" alt="i2c_gps_shield" width="470" height="300" /></p>
<p>[Wayne] wrote in to share an item he just finished working on, <a href="http://www.dsscircuits.com/articles/i2c-gps-shield.html" target="_blank">an I<sup>2</sup>C GPS shield for the Arduino</a>. While other GPS solutions have existed for quite some time, his caught our eye due to its feature list.</p>
<p>The shield removes a good bit of the hassle associated with parsing raw NMEA data from traditional GPS addons. While you have the option to communicate with the GPS module over serial in order to obtain the raw data, the use of the I<sup>2</sup>C interface makes getting the most commonly used GPS data a breeze. The GPS module itself can be set to update at anywhere from 1 to 10 Hz, and [Wayne] says that the I<sup>2</sup>C bus blows away the oft-used 9600 baud serial interface. While I<sup>2</sup>C is primarily used for receiving data, it can also be utilized to configure the GPS via its control registers, allowing for on the fly settings tweaks.</p>
<p>While he does sell the units pre-assembled at a competitive price, [Wayne] also provides a full schematic, making this an easy afternoon project once you have sourced the proper components.</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/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/43611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/43611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/43611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/43611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/43611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/43611/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/43611/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/43611/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=43611&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/05/24/i2c-arduino-gps-shield/feed/</wfw:commentRss>
		<slash:comments>11</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/05/i2c_gps_shield.jpg" medium="image">
			<media:title type="html">i2c_gps_shield</media:title>
		</media:content>
	</item>
		<item>
		<title>Arduino I2C sniffer</title>
		<link>http://hackaday.com/2011/05/21/arduino-i2c-sniffer/</link>
		<comments>http://hackaday.com/2011/05/21/arduino-i2c-sniffer/#comments</comments>
		<pubDate>Sat, 21 May 2011 14:47:02 +0000</pubDate>
		<dc:creator>Caleb Kraft</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[i2c]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=43303</guid>
		<description><![CDATA[[Johngineer] found himself in need of an I2C sniffer, but didn&#8217;t have one available. Necessity is the mother of invention, so he put together this I2C sniffer sketch for Arduino. The arduino will record what is going on for a set time interval, then dump the data via serial as a .csv. You then have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=43303&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-43304" title="i2c" src="http://hackadaycom.files.wordpress.com/2011/05/i2c.jpg?w=450&#038;h=149" alt="" width="450" height="149" /></p>
<p>[Johngineer] found himself in need of an I2C sniffer, but didn&#8217;t have one available. Necessity is the mother of invention, so he put together this <a href="http://www.johngineer.com/blog/?p=455">I2C sniffer sketch for Arduino</a>. The arduino will record what is going on for a set time interval, then dump the data via serial as a .csv. You then have to plot it to see what is going on. [Johngineer] recommends<a href="http://www.live-graph.org/"> Livegraph</a>, since it is portable and easy. As you can see in the code, the time interval is adjustable, but you have the physical limitations of the RAM on the board to consider. This seems like a pretty handy piece of code stored around, effectively giving you a passable I2C sniffer in a pinch.</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>, <a href='http://hackaday.com/category/tool-hacks/'>tool hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/43303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/43303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/43303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/43303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/43303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/43303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/43303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/43303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=43303&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/05/21/arduino-i2c-sniffer/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Caleb Kraft</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/05/i2c.jpg?w=450" medium="image">
			<media:title type="html">i2c</media:title>
		</media:content>
	</item>
		<item>
		<title>I2C 101</title>
		<link>http://hackaday.com/2011/05/11/i2c-101/</link>
		<comments>http://hackaday.com/2011/05/11/i2c-101/#comments</comments>
		<pubDate>Wed, 11 May 2011 15:06:22 +0000</pubDate>
		<dc:creator>Kevin Dady</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[i2c]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=42618</guid>
		<description><![CDATA[Embedded Labs has come out with a very detailed I2C 101  tutorial, that you should check out if you have any questions on the system. I2C is a short distance serial interface that only requires 2 bus lines. Keep in mind that as wires go down complexity goes up. While there are more than a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=42618&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-42620" title="I2C_Title" src="http://hackadaycom.files.wordpress.com/2011/05/i2c_title1.jpg" alt="" width="470" height="216" /></p>
<p>Embedded Labs has come out with a very <a href="http://embedded-lab.com/blog/?p=2583">detailed I2C 101  tutorial</a>, that you should check out if you have any questions on the system. I2C is a short distance serial interface that only requires 2 bus lines. Keep in mind that as wires go down complexity goes up. While there are more than a few I2C devices out there in the wild, and the 2 wire system does make wiring a breeze sometimes, the information required to make use of it often seems confusing to someone who is just starting with it.</p>
<p>The tutorial covers basic theory, stop / start conditions, addressing, data transfer, and acknowledgment plus illustrations. A couple of specific examples are given in the form of a 24LC512 serial eeprom, and a DS1631 digital thermometer complete with code.</p>
<br />Filed under: <a href='http://hackaday.com/category/how-to/'>how-to</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/42618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/42618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/42618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/42618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/42618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/42618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/42618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/42618/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=42618&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/05/11/i2c-101/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">osgeld</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/05/i2c_title1.jpg" medium="image">
			<media:title type="html">I2C_Title</media:title>
		</media:content>
	</item>
		<item>
		<title>Motion Controlled Reddit Vote Sign.</title>
		<link>http://hackaday.com/2011/04/27/motion-controlled-reddit-vote-sign/</link>
		<comments>http://hackaday.com/2011/04/27/motion-controlled-reddit-vote-sign/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 15:15:10 +0000</pubDate>
		<dc:creator>Jesse Congdon</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[led]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=41389</guid>
		<description><![CDATA[A little while back I attended the largest east coast gathering of folks from the ever popular social news site, Reddit.com. Those of you familiar with Reddit already know that it is all about link aggregation. Users post links to interesting websites and material, and can then vote up or vote down content based on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=41389&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2><strong><img class="alignnone size-full wp-image-41545" title="HI REDDIT!" src="http://hackadaycom.files.wordpress.com/2011/04/updownvotesign.png" alt="" width="470" height="311" /><br />
</strong></h2>
<p>A little while back I attended the largest east coast gathering of folks from the ever popular social news site, Reddit.com. Those of you familiar with Reddit already know that it is all about link aggregation. Users post links to interesting websites and material, and can then vote up or vote down content based on interest or relevance. Through the magical site algorithms original and interesting content is, as implied, aggregated up to the front page.  The whimsical nature of this big DC event lead many people to furnish signs of all types based on the culture of the site, internet memes, etc&#8230; The signs that really caught my attention were based primarily on the stylistic site layout, blowing up mail icons and other Reddit specific graphics.</p>
<p>The concept of using site graphics gave me the idea of being able to personally vote up or down other peoples&#8217; signs. It was far too easy to just make a cardboard arrow, and I don&#8217;t have a color printer. I happened to have a shelved coffee table project involving orange and blue LEDs. Same colors as the arrows! Sweet. To make this project work I would have to work entirely from my project pile, there simply was no time to order anything from the internet. I managed to crank out a functional up/down voting sign in 3 days leading up to the gathering (and the morning of), here is what I did:</p>
<p><span id="more-41389"></span></p>
<h2><strong>What I Had Around The House:</strong></h2>
<ul>
<li>Orange and Blue LEDs &#8211; 124 each. Extras from a coffee table project that is currently shelved.</li>
<li>Breadboard &#8211; I have tons of this stuff lying around, surface mount friendly square flavor!<strong></strong></li>
<li>MOSFETs &#8211; Another shelved project, an electric motor controller so these could handle many amps.</li>
<li>Resistors &#8211; I only had SMD resistors in the values I needed, this turned out to be a huge hassle.</li>
<li>Arduino Nano &#8211; I keep this one kicking around project free for just such an occasion.</li>
<li>Trippe Axis I2C Accelerometer &#8211; I built a little breakout board and toaster oven soldered the thing a long long time ago. We only really need one of the three axises for this project.</li>
<li>SPDT Switch.</li>
<li>Voltage Regulator &#8211; The Arduino could technically make enough 5v to power everything, I decided to not risk it though.</li>
<li>A knife worthy of foam core board, I used a pen knife.</li>
<li>Tweezers, solder, soldering iron, wire, a steady hand, patience.</li>
</ul>
<h2><strong>Stuff I had to get:</strong></h2>
<ul>
<li>Poster Board &#8211; Craft store!</li>
<li>Hot Glue &#8211; Craft store!</li>
<li>9V battery clips &#8211; This was a snap decision, I got these the day of the event!</li>
</ul>
<h2><strong>Layout The LEDs:</strong></h2>
<p>Now its time to recreate the pixel graphics. The site has a very simple low res graphics, below is a close up of the activated voting buttons.<br />
<strong></strong></p>
<p><strong><img class="alignnone size-full wp-image-41425" title="arrowgraphics" src="http://hackadaycom.files.wordpress.com/2011/04/arrowgraphics2.png" alt="" width="470" height="373" /><br />
</strong></p>
<p>Since I have far more LEDs than sense, I decided to place an LED at the intersections of the pixels.  All these great ideas on how to diffuse the light were tossed around,  wax paper and what not, they would have looked amazing but time intervened. I had to pick a strategy and go with it. I traced the pixel art onto peg board and used the holes as a guide, the total is 124 LEDs per arrow.  In order to fit in one inch squares the arrows overlap one another. The design was drawn out onto peg board (again the coffee table project) and then transferred to some foam core poster board.</p>
<p><img class="alignnone size-full wp-image-41423" title="Layout" src="http://hackadaycom.files.wordpress.com/2011/04/layout.png" alt="" width="470" height="163" /></p>
<p>This left a nice guide for all the LEDs. There are companies out there that make very specific foam board hole punches, but my local craft store had nothing like it. So I was forced to use the pen knife to spoon drill the holes, all 248.</p>
<p><img class="alignnone size-full wp-image-41427" title="Drill" src="http://hackadaycom.files.wordpress.com/2011/04/drill1.png" alt="" width="470" height="164" /></p>
<p>Once all the holes were drilled I had to press the LED into its slot, this was pretty labor intensive. 5mm LEDs can really damage your fingers.</p>
<p><img class="alignnone size-full wp-image-41428" title="Press" src="http://hackadaycom.files.wordpress.com/2011/04/press.png" alt="" width="470" height="144" /></p>
<p>I tried to get the arrow gradient by spacing out the last couple LEDs in the pattern, it went <em>okay</em>. Some resistor tweaking could produce a more convincing fade out. Dual orange/blue LEDs would have been even cooler. To protect all the wiring and LEDs I glued an arrow shaped section of foam core to the back of the sign (left over from diffusion experiments), this let a bit too much light through the back of the edge LEDs. I&#8217;d recommended cutting a slightly larger backing and attaching it with a weak adhesive or Velcro to allow future access to the electronics.</p>
<h2><strong>The Circuit:</strong></h2>
<p>Now that all of the LEDs are mounted I plugged a few variables about my setup into an <a href="http://led.linear1.org/led.wiz">LED calculator</a>. I had to determine some values experimentally since blue and orange are slightly different, and I long since have lost any data pertaining to them. My source voltage is 18v, I used a multimeter to find the voltage drop and a power supply with a current meter to measure the forward current of the LEDs.</p>
<p><img class="alignnone size-full wp-image-41429" title="Diodetestin" src="http://hackadaycom.files.wordpress.com/2011/04/diodetestin.png" alt="" width="470" height="462" /></p>
<p>The calculator told me I could string the oranges up in chains of 9, with a 1Ω resistor for each chain. The orange array would draw 448mA from the batteries. The blues each consume 4 volts and around 70mA (!!). The blues were wired in groups of four, with a 33Ω resistor on each chain. The blue LEDs draw 2.1A from the source. This is about when I decided on the heavy duty MOSFETs from an electric motor project.  The leads of the LEDs were then bent down to wire them together. Since I only had surface mount resistors I had to run ALL of the LED positive wires back to the PCB using some wire wrap wire I had lying around, this is one of those cases where a through hole resistor and some thick bus wire could have made life MUCH easier. The LED grounds were created with some low gauge bus wire, and separated for the up/down portions of the sign.</p>
<p><img class="alignnone size-full wp-image-41430" title="Bitches Love Accelerometers" src="http://hackadaycom.files.wordpress.com/2011/04/schematic.png" alt="" width="470" height="243" /></p>
<p>Switches are fun, people love a good SPDT. They are robust, can handle lots of current&#8230; they are really good at toggling LEDs. You know what people <em>really </em>love though? Accelerometers. People love accelerometers, and I happen to have a whole hand full of these buggers in my pile of goodies. Somewhere in the solder smoke and endless wire bonding I had the insane idea to use my spare Arduino to control the arrows, and trigger them off some sort of gesture.</p>
<p>Below is the final circuit. The 3 axis accelerometer is extreme overkill, Cheap analog accelerometers are easily found soldered and coded for and I would go with one of those were I to do this project again.  I also failed to include a potentiometer and code to fade the LEDs via PWM. Don&#8217;t judge me, I ran out of time! You may also notice that the voltage regulator is more or less tacked on haphazardly, I had a really nice switching regulator but the stupid thing had the <em>audacity</em> to explode! The nerve! At least it didn&#8217;t happen during the event.</p>
<p><img class="alignnone size-full wp-image-41421" title="The Main Circuit" src="http://hackadaycom.files.wordpress.com/2011/04/votingsign.png" alt="" width="470" height="239" /></p>
<h2><strong>Code:</strong></h2>
<p>The accelerometer I had on hand is the LIS3LV02DQ, which was offered by sparkfun back in the<a href="http://www.sparkfun.com/products/758"> stone age</a>. I found my own block of code to modify but the site is currently down, you can find a slightly more complete example of the original <a href="http://sites.google.com/site/beroth/i2clis3lv02dqaccelerometer">here</a> and the sparkfun page also has code, this made life really easy. All I had to do was figure out what axis was vertical and set up a threshold to flip on either MOSFET. Gravity affects the axis facing down, so its threshold had to be offset by 1024. I also think the accelerometer was upside down since I wound up at a smaller negative number than positive, either way messing around with the serial output on really helps to dial in the values.  <strong></strong></p>
<p>Testing also revealed that I needed some kind of &#8216;lock out&#8217; timer. When you flick the sign vertically acceleration peaks on one axis but then reverses on itself as you pull the sign back down. I used 1 second although this value could be shorter. Here is the code, don&#8217;t forget to check out [Troy]&#8216;s <a href="http://www.nearfuturelaboratory.com/2006/09/22/arduino-and-the-lis3lv02dq-triple-axis-accelerometer/">code</a> for more heavily commented accelerometer stuff:</p>
<p><pre class="brush: cpp;">
#include &lt;Wire.h&gt;

// TWI (I2C) sketch to communicate with the LIS3LV02DQ accelerometer

// Using the Wire library (created by Nicholas Zambetti)
// http://wiring.org.co/reference/libraries/Wire/index.html
// This Code is modified to toggle two digital outs based on
// A sudden acceleration upwards or downwards on the Y axis
// -Jesse Congdon

//Modified code from http://research.techkwondo.com/blog/julian/279
//Thanks Julian.

#define OUTX_L 0x28
#define OUTX_H 0x29
#define OUTY_L 0x2A
#define OUTY_H 0x2B
#define OUTZ_L 0x2C
#define OUTZ_H 0x2D

#define XAXIS 0
#define YAXIS 1
#define ZAXIS 2

int downvote = 5; //pins 3 and 5 can handle PWM too
int upvote = 3;
int ledtoggle = 0;

int upgesture = 1800;
int downgesture = -1200;
int lockout = 1000;
boolean lockouttoggle = false;

void setup() {
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin( 9600 );

Wire.beginTransmission( 0x1D );
Wire.send( 0x20 ); // CTRL_REG1 ( 20h )

Wire.send( 0x87 ); // Device on, 40hz, normal mode, all axis’s enabled
Wire.endTransmission();

pinMode(downvote, OUTPUT);
pinMode(upvote, OUTPUT);
}

void loop() {

int val[3];
// transmit to device with address 0×1D
// according to the LIS3L* datasheet, the i2c address of is fixed
// at the factory at 0011101b (0×1D)

Wire.beginTransmission( 0x1D );

// set the MSB so we can do multiple reads, with the register address auto-incremented
Wire.send( OUTX_L | 0x80);
Wire.endTransmission();

// Now do a transfer reading six bytes from the LIS3L*
// This data will be the contents of the X Y and Z registers
Wire.requestFrom( 0x1D, 6 );

while ( Wire.available() &lt; 6 ) {
delay( 5 );
}

// read the data
for ( int i = 0; i &lt; 3; i++ ) {
// read low byte
byte low = Wire.receive();
// read the high byte
val[i] = ( Wire.receive() &lt;&lt; 8 ) + low;
}

//keep this in for testing
//Serial.print( &quot; y_val = &quot; );
//Serial.println( val[YAXIS], DEC );

//Now that we have a Y value, does it signify a jerk up or down.
if(val[YAXIS] &gt; upgesture){
ledtoggle = 1;
lockouttoggle = true;
}

if(val[YAXIS] &lt; downgesture){
ledtoggle = 2;
lockouttoggle = true;
}

//blue? orange? what are you trying to say to me toggle.
switch(ledtoggle){
case 0:
digitalWrite(upvote, LOW);
digitalWrite(downvote,LOW);
break;
case 1:
digitalWrite(upvote,HIGH);
digitalWrite(downvote,LOW);
break;
case 2:
digitalWrite(upvote,LOW);
digitalWrite(downvote,HIGH);
break;
}

//This allows me to pause the program to avoid debounce
//also you dont have to throw the sign and gently catch it to
//make it change.
if(lockouttoggle == true){
delay( lockout );
lockouttoggle = false;
}
}
</pre></p>
<h2><strong> Results:</strong></h2>
<p><strong><img class="alignnone size-full wp-image-41459" title="votingsignimawesome" src="http://hackadaycom.files.wordpress.com/2011/04/votingsignimawesome.png" alt="" width="470" height="348" /><br />
</strong></p>
<p>Sucess! The batteries ran down on me several times (I learned four packs of 9v batteries are expensive). My battery issues stem from the long chains of LEDs. You can see in the above image that the oranges are already starting to die while the higher current blues are destroying the camera. Also note that the remaining 7 LEDs got their own chain and are, as a result, much much brighter. Therefore, smaller chains of diodes means that the LEDs can stay bright under lower voltages.  Silly of me to not realize this sooner. The orange LEDs would become tough to see after about an hour of continuous use.</p>
<p><img class="alignnone size-full wp-image-41466" title="signfrontback" src="http://hackadaycom.files.wordpress.com/2011/04/signfrontback.png" alt="" width="470" height="301" /></p>
<p>This was a really fun project, everybody got a kick out of it and I think I have invented a new form of crowd control.</p>
<p><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/04/27/motion-controlled-reddit-vote-sign/"><img src="http://img.youtube.com/vi/ptaiiarhj2Y/2.jpg" alt="" /></a></span><strong></strong></p>
<p><strong><br />
</strong>Thanks for reading!</p>
<br />Filed under: <a href='http://hackaday.com/category/arduino-hacks/'>arduino hacks</a>, <a href='http://hackaday.com/category/how-to/'>how-to</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/41389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/41389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/41389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/41389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/41389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/41389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/41389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/41389/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=41389&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/04/27/motion-controlled-reddit-vote-sign/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jcongdon</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/04/updownvotesign.png" medium="image">
			<media:title type="html">HI REDDIT!</media:title>
		</media:content>

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

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

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

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

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

		<media:content url="http://hackadaycom.files.wordpress.com/2011/04/schematic.png" medium="image">
			<media:title type="html">Bitches Love Accelerometers</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/04/votingsign.png" medium="image">
			<media:title type="html">The Main Circuit</media:title>
		</media:content>

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

		<media:content url="http://hackadaycom.files.wordpress.com/2011/04/signfrontback.png" medium="image">
			<media:title type="html">signfrontback</media:title>
		</media:content>
	</item>
		<item>
		<title>NBA Hangtime pinball display</title>
		<link>http://hackaday.com/2011/03/12/nba-hangtime-pinball-display/</link>
		<comments>http://hackaday.com/2011/03/12/nba-hangtime-pinball-display/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 15:00:44 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[home entertainment hacks]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[pinball]]></category>
		<category><![CDATA[scoreboard]]></category>
		<category><![CDATA[shift register]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=37234</guid>
		<description><![CDATA[[Ed Zarick] continues work on his NBA Hangtime pinball machine with the completion of the scoreboard and backglass. You should remember this project as we already covered the layer audio he developed for the system. Now he&#8217;s proving to be a protoboard master, using point-to-point techniques to build a pair of two and a half [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=37234&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-37235" title="nba hangtime pinball display" src="http://hackadaycom.files.wordpress.com/2011/03/nba-hangtime-pinball-display-e1299860526632.jpg" alt="" width="470" height="351" /></p>
<p>[Ed Zarick] continues work on his NBA Hangtime pinball machine with <a href="http://www.edsjunk.net/Blog/Entries/2011/3/10_Hangtime_Pinball_backglass_-_COMPLETE!.html">the completion of the scoreboard and backglass</a>. You should remember this project as we already covered <a href="http://hackaday.com/2011/02/27/layering-pinball-audio-using-parallel-wav-shields/">the layer audio he developed for the system</a>. Now he&#8217;s proving to be a protoboard master, using point-to-point techniques to build a pair of two and a half digit LED displays for team scores, as well as a shot clock timer and other status indicators.</p>
<p>The lighting board that controls it all is commanded via the i2c protocol, just like the three audio modules. It uses shift registers along with MOSFETs and [Ed] has taken the time to add pin headers and sockets for board interconnects. As is true with the audio system, one Arduino Mega acts as the master on the i2c bus and you&#8217;ll notice in the video after the break that the display works in perfect harmony with the sound effects.</p>
<p>We can&#8217;t wait to see what he comes up with for the play field!</p>
<p><span id="more-37234"></span></p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/03/12/nba-hangtime-pinball-display/"><img src="http://img.youtube.com/vi/1aa-4a376jE/2.jpg" alt="" /></a></span>
<br />Filed under: <a href='http://hackaday.com/category/home-entertainment-hacks/'>home entertainment hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/37234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/37234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/37234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/37234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/37234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/37234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/37234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/37234/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=37234&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/03/12/nba-hangtime-pinball-display/feed/</wfw:commentRss>
		<slash:comments>1</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/03/nba-hangtime-pinball-display-e1299860526632.jpg" medium="image">
			<media:title type="html">nba hangtime pinball display</media:title>
		</media:content>
	</item>
		<item>
		<title>Nokia LCD, nunchuck, and MSP430 join forces</title>
		<link>http://hackaday.com/2011/02/02/nokia-lcd-nunchuck-and-msp430-join-forces/</link>
		<comments>http://hackaday.com/2011/02/02/nokia-lcd-nunchuck-and-msp430-join-forces/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 22:30:28 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[6100]]></category>
		<category><![CDATA[g2211]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[msp430]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[nunchuck]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=33999</guid>
		<description><![CDATA[[JB's] driving a Nokia 6100 LCD using an MSP430 with input from a Wii Nunchuck. He&#8217;s using the G2211 microprocessor that came with the Launchpad, and developing his code with MSP-GCC. As you can see in the video after the break, this works but there&#8217;s some room for improvement. That&#8217;s being said, he is bumping [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=33999&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-34000" title="launchpad-nokia-lcd-and-nunchuck" src="http://hackadaycom.files.wordpress.com/2011/02/launchpad-nokia-lcd-and-nunchuck-e1296678869915.jpg" alt="" width="470" height="263" /></p>
<p>[JB's] <a href="http://jbremnant.wordpress.com/2011/01/03/nokia-lcd-wiinunchuck-with-msp430/">driving a Nokia 6100 LCD using an MSP430</a> with input from a Wii Nunchuck. He&#8217;s using the G2211 microprocessor that came with the Launchpad, and developing his code with MSP-GCC. As you can see in the video after the break, this works but there&#8217;s some room for improvement. That&#8217;s being said, he is bumping up against the code memory limit, with just around 500 bytes left to work with. The LCD screen is SPI and currently it&#8217;s hogging the pins that are used for the hardware i2c. Since he needs an i2c bus to talk to the nunchuck he had to go with software i2c which explains part of his program memory troubles.</p>
<p>We&#8217;re in no way experts on this, but it seems like he could save space (and improve the input responsiveness) by rewriting his LCD drivers in order to remap the pins. Then again, it might just be better to <a href="http://hackaday.com/2010/09/28/launchpad-not-limited-to-value-line-chips/">move up to a larger MSP430</a>. If you&#8217;ve got some advice, make sure to share it by leaving a comment.</p>
<p><span id="more-33999"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/02/02/nokia-lcd-nunchuck-and-msp430-join-forces/"><img src="http://img.youtube.com/vi/HtVn17k08fk/2.jpg" alt="" /></a></span></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/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/33999/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/33999/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/33999/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/33999/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/33999/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/33999/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/33999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/33999/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=33999&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/02/02/nokia-lcd-nunchuck-and-msp430-join-forces/feed/</wfw:commentRss>
		<slash:comments>11</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/02/launchpad-nokia-lcd-and-nunchuck-e1296678869915.jpg" medium="image">
			<media:title type="html">launchpad-nokia-lcd-and-nunchuck</media:title>
		</media:content>
	</item>
		<item>
		<title>The OpenServo Project</title>
		<link>http://hackaday.com/2011/01/28/the-openservo-project/</link>
		<comments>http://hackaday.com/2011/01/28/the-openservo-project/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 20:00:54 +0000</pubDate>
		<dc:creator>James Munns</dc:creator>
				<category><![CDATA[parts]]></category>
		<category><![CDATA[ATmega168]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[openservo]]></category>
		<category><![CDATA[servo]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=33663</guid>
		<description><![CDATA[When it comes to using servos in projects, there is a definite distinction between the cheap ones and the expensive high power and precision models. The OpenServo project gives you a couple options for enhancing your servo experience. By replacing the control board with a new one based on a familiar microcontroller, a whole new [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=33663&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-33669" title="tutorial_005" src="http://hackadaycom.files.wordpress.com/2011/01/tutorial_005.jpg" alt="" width="470" height="279" /></p>
<p>When it comes to using servos in projects, there is a definite distinction between the cheap ones and the expensive high power and precision models. The <a href="http://www.openservo.com/FrontPage">OpenServo project</a> gives you a couple options for enhancing your servo experience. By replacing the control board with a new one based on a <a href="http://hackaday.com/category/arduino-hacks/">familiar</a> microcontroller, a whole new <a href="http://www.openservo.com/DocAboutOpenServo">set of features</a> can be attained. For those of you out there with a need for servos like these, you can buy the pre-built replacement board (unfortunately sold out right now), or build your own from the provided schematic, BOM, and source code.</p>
<br />Filed under: <a href='http://hackaday.com/category/parts/'>parts</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/33663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/33663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/33663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/33663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/33663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/33663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/33663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/33663/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=33663&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/01/28/the-openservo-project/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jahmez</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/01/tutorial_005.jpg" medium="image">
			<media:title type="html">tutorial_005</media:title>
		</media:content>
	</item>
		<item>
		<title>Zipitbot</title>
		<link>http://hackaday.com/2011/01/20/zipitbot/</link>
		<comments>http://hackaday.com/2011/01/20/zipitbot/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 17:53:24 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[handhelds hacks]]></category>
		<category><![CDATA[robots hacks]]></category>
		<category><![CDATA[dsPic]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[servo]]></category>
		<category><![CDATA[webcam]]></category>
		<category><![CDATA[zipit]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=33181</guid>
		<description><![CDATA[[Nulluser's] Zipit was fine, but it couldn&#8217;t go anywhere on its own. Adding some motors and a microcontroller fixed that issue, and now he&#8217;s got a little robot called the Zipitbot. That&#8217;s a dsPIC board on top which communicates with the Zipit over an I2C bus. Four servo motors provide plenty of power to the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=33181&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-33182" title="zipitbot" src="http://hackadaycom.files.wordpress.com/2011/01/zipitbot-e1295540199503.jpg" alt="" width="470" height="281" /></p>
<p>[Nulluser's] Zipit was fine, but it couldn&#8217;t go anywhere on its own. Adding some motors and a microcontroller fixed that issue, and now he&#8217;s got <a href="http://www.junklet.net/html/make_page.php?n=zipitbot">a little robot called the Zipitbot</a>. That&#8217;s a dsPIC board on top which communicates with the Zipit over an I2C bus. Four servo motors provide plenty of power to the wheels,with some extra battery packs nestled between them.</p>
<p>Since the Zipit is running Linux, and already has WiFi hardware, it&#8217;s not too hard to add Internet control. With this in mind there&#8217;s a webcam on the front to broadcast a video feed for use when controlling it remotely. See a couple of videos of this hack after the break.</p>
<p><span id="more-33181"></span></p>
<p>Desktop testing</p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/01/20/zipitbot/"><img src="http://img.youtube.com/vi/Enbi6-u9Wm0/2.jpg" alt="" /></a></span>
<p>Internet control with streaming video</p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/01/20/zipitbot/"><img src="http://img.youtube.com/vi/ODHTykY63E8/2.jpg" alt="" /></a></span>
<p>[Thanks Rkdavis]</p>
<br />Filed under: <a href='http://hackaday.com/category/handhelds-hacks/'>handhelds hacks</a>, <a href='http://hackaday.com/category/robots-hacks/'>robots hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/33181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/33181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/33181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/33181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/33181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/33181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/33181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/33181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=33181&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/01/20/zipitbot/feed/</wfw:commentRss>
		<slash:comments>22</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/01/zipitbot-e1295540199503.jpg" medium="image">
			<media:title type="html">zipitbot</media:title>
		</media:content>
	</item>
		<item>
		<title>Playing piano with optical sensors</title>
		<link>http://hackaday.com/2010/10/07/playing-piano-with-optical-sensors/</link>
		<comments>http://hackaday.com/2010/10/07/playing-piano-with-optical-sensors/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 21:00:59 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[musical hacks]]></category>
		<category><![CDATA[atmega16]]></category>
		<category><![CDATA[cny70]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[midi]]></category>
		<category><![CDATA[optical]]></category>
		<category><![CDATA[piano]]></category>
		<category><![CDATA[pianoteq]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[twi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=29072</guid>
		<description><![CDATA[[Sebastian] is trying to improve the responsiveness of an electric keyboard. He was unsatisfied with the lack of adequate sensitivity to keystroke. The first step in his process was to measure how fast the quickest keystroke actually is. By setting up an LED and phototransistor and taking some measurements he found that sampling at 1 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=29072&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-29073" title="piano-optical-sensor" src="http://hackadaycom.files.wordpress.com/2010/10/piano-optical-sensor.jpg" alt="" width="470" height="353" /></p>
<p>[Sebastian] is trying to improve the responsiveness of an electric keyboard. He was unsatisfied with the lack of adequate sensitivity to keystroke. The first step in his process was to measure how fast the quickest keystroke actually is. By setting up an LED and phototransistor and taking some measurements he found that sampling at 1 kHz would be more than adequate.</p>
<p>With initial testing complete he ordered some CNY70 transmissive/reflective light sensors that can be place below the keys. He measures the sensor with the ADC on an ATmega16 microcontroller. Running at 16 MHz he can sample each of the eight analog-to-digital converter channels at 1202 Hz. After doing a bunch of math he put together some lookup tables that are used to translate the ADC data into midi signals. We&#8217;ve embedded a video of <a href="http://www.youtube.com/watch?v=fUHbq3j0ObE">one sensor controlling the midi program</a> PianoTeq. [Sebastian] also sent us a schematic of one node in the sensor network (see it after the break).</p>
<p>When everything is said and done he plans to use eleven ATmega16 microcontrollers to address the 88 keys, with an additional microcontroller to act as the master using a two-wire interface for communications.</p>
<p><strong>Update:</strong> [Sebastian] put up a webpage with a fairly verbose description. <a href="http://sebi.g3th.net/">Reading it straight from the source</a> really clears up a lot of questions.</p>
<p>&nbsp;</p>
<p><span id="more-29072"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2010/10/07/playing-piano-with-optical-sensors/"><img src="http://img.youtube.com/vi/fUHbq3j0ObE/2.jpg" alt="" /></a></span></p>
<p><a href="http://hackadaycom.files.wordpress.com/2010/10/sebastian-piano-cny70-schematic.jpg"><img class="alignnone size-large wp-image-29075" title="sebastian-piano-cny70-schematic" src="http://hackadaycom.files.wordpress.com/2010/10/sebastian-piano-cny70-schematic.jpg?w=450&#038;h=306" alt="" width="450" height="306" /></a></p>
<br />Filed under: <a href='http://hackaday.com/category/musical-hacks/'>musical hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/29072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/29072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/29072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/29072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/29072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/29072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/29072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/29072/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=29072&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/10/07/playing-piano-with-optical-sensors/feed/</wfw:commentRss>
		<slash:comments>15</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/10/piano-optical-sensor.jpg" medium="image">
			<media:title type="html">piano-optical-sensor</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/10/sebastian-piano-cny70-schematic.jpg?w=450" medium="image">
			<media:title type="html">sebastian-piano-cny70-schematic</media:title>
		</media:content>
	</item>
	</channel>
</rss>
