<?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; blinkenlights</title>
	<atom:link href="http://hackaday.com/tag/blinkenlights/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:27:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hackaday.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Hack a Day &#187; blinkenlights</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>Rescuing surplus blinkenlights</title>
		<link>http://hackaday.com/2011/06/12/rescuing-surplus-blinkenlights/</link>
		<comments>http://hackaday.com/2011/06/12/rescuing-surplus-blinkenlights/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 17:01:16 +0000</pubDate>
		<dc:creator>Brian Benchoff</dc:creator>
				<category><![CDATA[led hacks]]></category>
		<category><![CDATA[blinkenlights]]></category>
		<category><![CDATA[Connection Machine]]></category>
		<category><![CDATA[x10]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=45728</guid>
		<description><![CDATA[Because surplus LED panels from an early 1990s supercomputer is a completely reasonable thing to own, [William Dillon] set to work displaying them on his wall. The LED panels came from a surplus CM-5 Connection Machine, best known from it&#8217;s role as the mainframe in Jurassic Park (only an empty case with LED panels were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=45728&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-45731" title="blinken" src="http://hackadaycom.files.wordpress.com/2011/06/blinken.png?w=450&#038;h=262" alt="" width="450" height="262" /></p>
<p>Because <a href="http://alternet.us.com/?p=1272">surplus LED panels</a> from an early 1990s supercomputer is a completely reasonable thing to own, [William Dillon] set to work displaying them on his wall.</p>
<p>The LED panels came from a surplus <a href="http://en.wikipedia.org/wiki/Connection_Machine">CM-5 Connection Machine</a>, best known from it&#8217;s role as the mainframe in Jurassic Park (only an empty case with LED panels were used in the movie). When not on Isla Nublar, the Connection Machine was a fabulous piece of engineering from the 1980s Artificial Intelligence revival. With some machines having 65,536 processors, it was used for AI research using Lisp (although we were never very good at Lisp.</p>
<p>[William] built a wooden frame out of 1&#215;2 inch maple and installed an X10 module behind the panels as a remote switch. The panels themselves aren&#8217;t controlled by a computer, so the only thing left to do was to mount the power supplies. It&#8217;s impressive to see the massively over-engineered power supplies that were designed to source 5V @ 30A when the panels only draw 7 Amps. [William] says it was a design feature of the Connection Machine to spare no expense.</p>
<p>[William]&#8216;s next plan is to reverse engineer the panels to display custom messages, and we can&#8217;t wait to see what he comes up with. We can&#8217;t explain why, but we really want to build one of these panels. Check out the <a href="http://alternet.us.com/?p=1287">pictures</a> of [William] decommissioning the CM-5.</p>
<br />Filed under: <a href='http://hackaday.com/category/led-hacks/'>led hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/45728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/45728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/45728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/45728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/45728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/45728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/45728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/45728/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=45728&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/06/12/rescuing-surplus-blinkenlights/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">brianbenchoff</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/06/blinken.png?w=450" medium="image">
			<media:title type="html">blinken</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: ShiftBrite RGB LED module (A6281)</title>
		<link>http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/</link>
		<comments>http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 18:00:00 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[led hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[blinkenlights]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[serial interface]]></category>
		<category><![CDATA[shiftbrite]]></category>
		<category><![CDATA[spi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10589</guid>
		<description><![CDATA[Macetech&#8217;s ShiftBrite is a high-power RGB LED coupled with an Allegro A6281 backpack. The A6281 uses three 10bit pulse-width modulators to mix millions of colors using the red, green, and blue elements in the RGB LED. Multiple modules can be chained together for bigger projects, like the ShiftBrite table. Below the break we demonstrate a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=10589&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-11066" title="shiftbriteii" src="http://hackadaycom.files.wordpress.com/2009/05/shiftbriteii.jpg" alt="shiftbriteii" width="450" height="307" /></p>
<p><a href="http://www.macetech.com/blog/">Macetech&#8217;s</a> <a href="http://macetech.com/blog/node/54">ShiftBrite</a> is a high-power RGB LED coupled with an <a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/">Allegro A6281</a> backpack. The A6281 uses three 10bit <a href="http://en.wikipedia.org/wiki/Pulse-width_modulation">pulse-width modulators</a> to mix millions of colors using the red, green, and blue elements in the RGB LED.  Multiple modules can be chained together for bigger projects, like the  <a href="http://www.youtube.com/watch?v=C7aUaMiqoIE">ShiftBrite table</a>.</p>
<p>Below the break we demonstrate a ShiftBrite module using <a href="http://www.buspirate.com/">the Bus Pirate</a>. For a limited time you can <a href="http://hackaday.com/2009/06/25/bus-pirate-preorders-open/">get your own Bus Pirate</a>, fully assembled and shipped worldwide, for only $30.</p>
<p><span id="more-10589"></span></p>
<p><img class="alignnone size-full wp-image-11067" title="shiftbrite-over" src="http://hackadaycom.files.wordpress.com/2009/05/shiftbrite-over.jpg" alt="shiftbrite-over" width="450" height="356" /></p>
<p><strong><a href="http://macetech.com/blog/node/54">ShiftBrite</a> RGB LED module (<a href="http://macetech.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=1">Macetech</a>, $4.99). ShiftBrite <a href="http://docs.macetech.com/doku.php/shiftbrite">datasheet and example code</a>, Allegro <a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/">A6281</a> <a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf">datasheet</a> (PDF).</strong></p>
<p>The ShiftBrite module is a complete A6281 development board. It doesn&#8217;t require any extra parts, just a 5-9volt supply.</p>
<p>The A6281 is one of the most complete RGB LED driver ICs, but it&#8217;s only made in a tiny QFN package. The ShiftBrite is a good way to try the A6281 without soldering a small chip.</p>
<p><img class="alignnone size-full wp-image-11999" title="A6281-connect.470" src="http://hackadaycom.files.wordpress.com/2009/06/a6281-connect-470.png" alt="A6281-connect.470" width="470" height="207" /></p>
<p>A bunch of A6281 modules can be chained together. Each module repeats all of the serial input signals on separate output pins, so the A6281 will work over long cable runs.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Bus Pirate</strong></td>
<td><strong>ShiftBrite </strong></td>
</tr>
<tr>
<td>MOSI</td>
<td>DI</td>
</tr>
<tr>
<td>CLK</td>
<td>CI</td>
</tr>
<tr>
<td>CS</td>
<td>LI</td>
</tr>
<tr>
<td>AUX</td>
<td>EI</td>
</tr>
<tr>
<td>5volts</td>
<td>V+</td>
</tr>
<tr>
<td>Vpullup</td>
<td>V+</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
</tbody>
</table>
<p>We used our <a href="http://www.buspirate.com">Bus Pirate universal serial interface</a> to demonstrate the ShiftBrite, but the command sequences will be the same for any microcontroller. We connected the Bus Pirate to the ShiftBrite as shown in the table above.</p>
<p>We setup the Bus Pirate for raw3wire mode (M, 8), and chose open drain outputs (Hi-Z) so we can interface the ShiftBrite at 5volts. The Bus Pirate can&#8217;t output 5volts directly, so we enabled the bus pull-up resistors (menu &#8216;p&#8217; in v2) and attached the pull-up resistor voltage input pin to the 5volt supply. Finally, we enabled the on-board power supply (capital ‘W’).</p>
<p><em>Interfacing</em></p>
<p>The LED driver output is only active when the  enable pin (EI) is held low.</p>
<blockquote><p>RAW3WIRE&gt;A <strong>&lt;&#8211; capital &#8216;A&#8217;, EI pin high, output disabled</strong><br />
AUX HIGH<br />
RAW3WIRE&gt;a <strong>&lt;&#8211; small &#8216;a&#8217;, EI pin low, output active</strong><br />
AUX LOW<br />
RAW3WIRE&gt;</p></blockquote>
<p>We used the Bus Pirate&#8217;s auxiliary pin to toggle the A6281&#8242;s enable pin, but you could also bypass this feature by wiring EI directly to ground. A small &#8216;a&#8217; in the Bus Pirate terminal takes the AUX/EI pin connection low, enabling the LED output.</p>
<p><img class="alignnone size-full wp-image-11998" title="A6281-IO.470" src="http://hackadaycom.files.wordpress.com/2009/06/a6281-io-470.png" alt="A6281-IO.470" width="470" height="95" /></p>
<p>Two commands update the A6281  settings. The configuration command controls dot correction and  clock settings. The LED pulse-width modulator (PWM) command updates the  three 10bit values that set the red, green, and blue channel brightness. Both commands are  32 bits (4 bytes) long, bit 30  selects the configuration or pulse-width modulator command.  Refer to the chart above, or datasheet page 7.</p>
<p>The interface protocol is like <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">SPI</a>, but the master-input-slave-output pin is unused. Data is sent most significant bit first, starting with bit 31. Commands are sent by clocking 32 bits into the chip and then toggling the latch pin.</p>
<p>Before we can start mixing colors, we need to setup the A628a&#8217;s internal clock and write the dot correction values.</p>
<blockquote><p>RAW3WIRE&gt;0b01000111 0b11110001 0b11111100 0b01111111 ][<br />
WRITE: 0x47 <strong>&lt;--write 32bits of data</strong><br />
WRITE: 0xF1<br />
WRITE: 0xFC<br />
WRITE: 0x7F<br />
CS DISABLED <strong>&lt;--latch pin high</strong><br />
CS ENABLED <strong>&lt;--latch pin low</strong><br />
RAW3WIRE&gt;</p></blockquote>
<p>We wrote the values in binary so it's easy to follow along in the table above. Remember that bit 31 is sent first, so the order of bits shown here is opposite of what is shown in the table.</p>
<p>The complete setup command is 32 bits (4 bytes) long. Bit 30 sets this as a configuration command (1). Bit 7 and 8 configure the clock source, value 00 configures the 800KHz internal oscillator (datasheet page 7). Three 7bit 'dot correction' values fine tune the LED color channels if you want to correct a wonky pixel in a large array (see the register locations in the table above). We set all the dot correction values to full (1111111). Several bits trigger test functions or don't have a purpose, these should be entered as 0.</p>
<p>After entering 32 bits, toggle the A6281 latch pin (][) to lock the data into the register. Now that the chip is configured and the output enabled, we can finally play with the LED.</p>
<blockquote><p>RAW3WIRE&gt;0b00111111 0b11111111 0b11111111 0b11111111 ][<br />
WRITE: 0x3F<br />
WRITE: 0xFF<br />
WRITE: 0xFF<br />
WRITE: 0xFF<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>First,  turn all the colors to full. Bit 31 (0) is ignored, bit 30 (0) indicates a LED pulse-width modulator update command, and the remaining bits set all three channels to 100%.  The three PWM values control the output intensity of each color as follows: blue (bits 29:20), red (bits 19:10), and green (bits 9:0). Raise and lower the latch pin (][) to end the command.</p>
<p>Next, test each each color individually.</p>
<blockquote><p>RAW3WIRE&gt;0b00111111 0b11110000 0b00000000 0b00000000 ][<br />
WRITE: 0x3F<br />
WRITE: 0xF0<br />
WRITE: 0x00<br />
WRITE: 0x00<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>Bit 30 (0) signals an LED PWM  update command, followed by a 100% setting for the blue channel (1111111111) and 0% settings for the red and green channels. When we toggle the latch pin (][) the new values are saved and the LED color changes to blue.</p>
<blockquote><p>RAW3WIRE&gt;0b00000000 0b00001111 0b11111100 0b00000000 ][<br />
WRITE: 0x00<br />
WRITE: 0x0F<br />
WRITE: 0xFC<br />
WRITE: 0x00<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>This time we'll set the LED to 100% red. Bit 30 (0) signals an LED PWM update command, followed by a 0% setting for the blue channel, a 100% setting for the red channel (1111111111), and a 0% setting for green.  When we toggle the latch pin (][)  the LED color changes to red.</p>
<blockquote><p>RAW3WIRE&gt;0b00000000 0b00000000 0b00000011 0b11111111 ][<br />
WRITE: 0x00<br />
WRITE: 0x00<br />
WRITE: 0x03<br />
WRITE: 0xFF<br />
CS DISABLED<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>Finally, we set the LED to 100% green. Bit 30 signals an LED PWM update, followed by 0% settings for the blue and red channels, and a 100% setting for the green channel (1111111111).  Toggle the latch pin (][)  and the LED color changes to green.</p>
<p>Like this post? Check out the <a href="http://hackaday.com/category/parts/">parts posts</a> you may have missed. Want to request a part post? Please leave your suggestions in the comments.</p>
<p><strong>Hack a Day review disclosure</strong>: Macetech gave us a couple free <a href="http://hackaday.com/2008/05/08/maker-faire-2008-shiftbright-rgb-led-module/">ShiftBrites at Maker Faire 2008</a>.</p>
<br />Posted in led hacks, misc hacks, parts  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10589/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=10589&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/29/parts-shiftbrite-rgb-led-module-a6281/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/shiftbriteii.jpg" medium="image">
			<media:title type="html">shiftbriteii</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/shiftbrite-over.jpg" medium="image">
			<media:title type="html">shiftbrite-over</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/a6281-connect-470.png" medium="image">
			<media:title type="html">A6281-connect.470</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/06/a6281-io-470.png" medium="image">
			<media:title type="html">A6281-IO.470</media:title>
		</media:content>
	</item>
		<item>
		<title>Parts: 4&#215;4 RGB button pad controller SPI</title>
		<link>http://hackaday.com/2009/03/09/parts-4x4-rgb-button-pad-controller-spi/</link>
		<comments>http://hackaday.com/2009/03/09/parts-4x4-rgb-button-pad-controller-spi/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 18:38:22 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[parts]]></category>
		<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[blinkenlights]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[button pad]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[leds]]></category>
		<category><![CDATA[massive fail]]></category>
		<category><![CDATA[monday parts]]></category>
		<category><![CDATA[RGB LED]]></category>
		<category><![CDATA[sparkfun electronics]]></category>
		<category><![CDATA[spi]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=8609</guid>
		<description><![CDATA[We covered SparkFun&#8217;s new RGB button pad controller a few weeks ago. This is a full-color clone of the monome interface; a 4&#215;4 grid of buttons with tri-color LEDs underneath. Each LED has 24bits of color control, for more than 16million color combinations. Up to 10 panels can be chained together to create huge button [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=8609&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-8850" title="cover" src="http://hackadaycom.files.wordpress.com/2009/03/cover.jpg" alt="cover" width="450" height="315" /></p>
<p>We covered SparkFun&#8217;s new <a href="http://hackaday.com/2009/02/05/sparkfun-releases-rgb-button-controller/">RGB button pad controller</a> a few weeks ago. This is a full-color clone of the <a href="http://monome.org/">monome</a> interface; a 4&#215;4 grid of buttons with tri-color LEDs underneath. Each LED has <a href="http://en.wikipedia.org/wiki/Truecolor">24bits of color control</a>, for more than 16million color combinations. Up to 10 panels can be chained together to create huge button grids, like <a href="http://www.youtube.com/watch?v=G9RPLtAvXlE">SparkFun&#8217;s Tetris table</a>. We previously used a smaller version in our <a href="http://hackaday.com/2008/06/12/how-to-make-an-rgb-combination-door-lock-part-1/">RGB combination lock</a>.</p>
<p>We asked SparkFun to send us the SPI version of the button controller to test. This is a new product developed in-house at SparkFun, with open source hardware and software. Read about our experience interfacing this board below.</p>
<p><span id="more-8609"></span><strong>4&#215;4 RGB button pad controller SPI (SparkFun #<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9022">WIG-09022</a>, $39.95)</strong></p>
<p>The button pad controller is a bare PCB, we also received a button pad cover (SparkFun #<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=7835">COM-07835</a>, $9.95), and two of each bezel (SparkFun #<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8747">COM-08747</a>, #<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8746">COM-08746</a>, $3.95).  The SPI version we&#8217;re working with can be driven directly by a microcontroller, or by a USB &#8216;master&#8217;. The USB controller version has an additional microcontroller and FTDI USB-&gt;serial converter for PC connectivity.</p>
<p>When the button pad arrived, we immediately sat down with the datasheet and tried to interface the board with our <a href="http://hackaday.com/the-bus-pirate-universal-serial-interface/">Bus Pirate universal serial interface</a>. The protocol described in version 1 of the datasheet didn&#8217;t work, at all.</p>
<p>SparkFun open sourced this project, so we determined the correct interface protocol from the source code for the <a href="http://www.sparkfun.com/Code/ButtonPadControllerSPI_v15.zip">button pad SPI</a> (ZIP) and the <a href="http://www.sparkfun.com/Code/ButtonPadControllerUSB_v15.zip">button pad USB controller</a> (ZIP). We figured out most of the protocol from the source, but it still took help from SparkFun&#8217;s engineers to uncover some of the undocumented, finer points of interfacing the board. Version 2 of the <a href="http://www.sparkfun.com/datasheets/Widgets/ButtonPadControllerSPI_UserGuide_v2.pdf">datasheet</a> (PDF) accurately depicts the interface protocol.</p>
<p><em>Connections</em></p>
<table border="0">
<tbody>
<tr>
<td><strong>Bus Pirate</strong></td>
<td><strong>Button pad</strong></td>
</tr>
<tr>
<td>MISO</td>
<td>MISO</td>
</tr>
<tr>
<td>MOSI</td>
<td>MOSI</td>
</tr>
<tr>
<td>Clock</td>
<td>SCK</td>
</tr>
<tr>
<td>CS</td>
<td>CS</td>
</tr>
<tr>
<td>+5volts</td>
<td>VCC</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
</tbody>
</table>
<p>The button pad&#8217;s SPI signals are described as they relate to the on-board microcontroller, which is opposite the usual notation. The MOSI (master out, slave in) signal is actually the board&#8217;s data output, and MISO (master in, slave out) is the data input.</p>
<p>We tested the button pad with the Bus Pirate, but the same basic principals apply to any custom microcontroller code. The board runs at 5volts, so we powered it from the Bus Pirate&#8217;s on-board 5volt power supply. The SPI interface operates at 5volt logic levels, so we connected the Bus Pirate&#8217;s <a href="http://en.wikipedia.org/wiki/Pull-up_resistor">pull-up resistors</a> to the 5volt power supply and enabled them on all signal lines.</p>
<p>We interfaced the button board using the Bus Pirate&#8217;s raw3wire library. Raw3wire is a software SPI library with bit-wise operations. The hardware SPI library only allows full byte operations which aren&#8217;t granular enough to interface the board. We put the Bus Pirate in raw3wire mode (menu option M), and chose the HiZ pin option because the pull-up resistors will hold the bus at 5volts.</p>
<blockquote><p>RAW3WIRE&gt;l <strong>&lt;&#8211;configure bit order</strong><br />
1. MSB first<br />
2. LSB first<br />
MODE&gt;2<strong> &lt;&#8211;least significant bit first</strong><br />
LSB SET: LEAST SIG BIT FIRST<br />
RAW3WIRE&gt;W <strong>&lt;&#8211;enable power supply</strong><br />
VOLTAGE SUPPLIES ON<br />
RAW3WIRE&gt;</p></blockquote>
<p>The button pad communicates least significant bit first, so we also configured the library to communicate LSB first. Finally, we hit capital &#8216;W&#8217; to enable the Bus Pirate&#8217;s power supplies. The button board will flash each color momentarily as part of its power-on self-test.</p>
<p><em>Single/multiple button board setup</em></p>
<p><img class="alignnone size-full wp-image-8966" title="config2" src="http://hackadaycom.files.wordpress.com/2009/03/config2.png" alt="config2" width="450" height="110" /></p>
<p>Each board needs to be configured for single or multi-board use. Boards come pre-programmed for single-board operation, but it might be a good idea to set the configuration anyways. The board configuration is permanently stored in EEPROM, so it only has to be done once.</p>
<blockquote><p>RAW3WIRE&gt;[\_ <strong>&lt;--take all signals low</strong><br />
CS ENABLED <strong>&lt;--CS enabled is 0volts</strong><br />
CLOCK, 0<br />
DATA OUTPUT, 0<br />
RAW3WIRE&gt;</p></blockquote>
<p>A special sequence places the board in configuration mode. Begin with all signal lines low (]\_).</p>
<blockquote><p>RAW3WIRE&gt;-^ 1 1 <strong>&lt;&#8211;set single board operation</strong><br />
DATA OUTPUT, 1 <strong>&lt;&#8211;data high</strong><br />
0&#215;01 CLOCK TICKS <strong>&lt;&#8211;one clock tick</strong><br />
WRITE: 0&#215;01 <strong>&lt;&#8211;config option 1, number of boards</strong><br />
WRITE: 0&#215;01 <strong>&lt;&#8211;set the number of boards</strong><br />
RAW3WIRE&gt;w <strong>&lt;&#8211;small &#8216;w&#8217;, power off</strong><br />
VOLTAGE SUPPLIES OFF<br />
RAW3WIRE&gt;W <strong>&lt;&#8211;capital &#8216;W&#8217;, power on</strong><br />
VOLTAGE SUPPLIES ON<br />
RAW3WIRE&gt;</p></blockquote>
<p>To enter configuration mode, take the data line high (-) and send one clock pulse (^), but <em>leave chip select low</em>. The board is now ready to accept configuration settings.</p>
<p>The first byte sent after entering configuration mode tells the board which setting to modify. Currently, only the number of boards can be configured (0&#215;01). Next, send the number of connected boards, between 1 and 10. we sent 1 because we&#8217;re interfacing a single board. Reset the board and it will light a LED corresponding to the programmed number of boards.</p>
<p><em>Set colors and read button status</em></p>
<p>Now we&#8217;re ready to send color data to the board and read the button status. First, note that the CS (chip select) signal is opposite normal conventions. Usually CS activates a chip when the signal is low (0volts), and idles it when the signal is high (5volts); this is usually denoted by /CS, #CS, or !CS. Instead, the button controller is active when CS is high.</p>
<p><img class="alignnone size-full wp-image-8960" title="frames" src="http://hackadaycom.files.wordpress.com/2009/03/frames.png" alt="frames" width="450" height="62" /></p>
<p>A 64byte transaction sets the LED colors and retrieves the button status. The first 16bytes program the red level for each LED, followed by 16bytes of green, and 16bytes of blue. Finish by reading 16bytes from the board to get the status of each button. Buttons data is sent as 0&#215;00 if pressed, and 0xff if not pressed. The datasheet recommends a 400us delay between writing the color frames and reading the button data, but the Bus Pirate is slow enough that we won&#8217;t worry about that.</p>
<p><img class="alignnone size-full wp-image-8961" title="inter" src="http://hackadaycom.files.wordpress.com/2009/03/inter.png" alt="inter" width="450" height="130" /></p>
<p>The protocol is simple enough, but there&#8217;s one <em>major</em> catch. The clock line <strong><em>must</em></strong> be high before raising CS, or the bytestream will be off by 1 bit. For this reason, many hardware SPI modules won&#8217;t work with the board.  This isn&#8217;t a problem if your microcontroller lets you twiddle  pins that are controlled by a hardware module, but the micros we&#8217;ve worked with <em>don&#8217;t</em> allow this.</p>
<p><img class="alignnone size-full wp-image-8848" title="white" src="http://hackadaycom.files.wordpress.com/2009/03/white.jpg" alt="white" width="450" height="338" /></p>
<blockquote><p>RAW3WIRE&gt;/]255:16 255:16 255:16 r:16[<br />
CLOCK, 1 <strong>&lt;--clock <em>must</em> be high prior to raising CS</strong><br />
CS DISABLED <strong>&lt;--CS to 5volts, opposite normal use</strong><br />
BULK WRITE 0xFF , 0x10 TIMES <strong>&lt;--red LEDs</strong><br />
BULK WRITE 0xFF , 0x10 TIMES <strong>&lt;--green LEDs</strong><br />
BULK WRITE 0xFF , 0x10 TIMES <strong>&lt;--blue LEDs</strong><br />
BULK READ 0x10 BYTES: <strong>&lt;--read button state</strong><br />
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF<br />
CS ENABLED <strong>&lt;--CS to 0volts, opposite normal use</strong><br />
RAW3WIRE&gt;</p></blockquote>
<p>This command sets every color of each LED to full, and reads back the 16 button status bytes.</p>
<p>We first set clock high (/), and only then can we raise CS to 5volts (]) and begin the data transaction. 255:16 is a repeated command that sends the value 255  sixteen times. As each color channel has 8bits of intensity control, 255 is 100% on. We send 255 a total of 48 times, once for each color of each LED. Finally, we retrieve one 16byte frame of button data (r:16) and lower CS to end the transaction ([). The button values are all 0xff, indicating that no buttons are pressed.</p>
<p><img class="alignnone size-full wp-image-8849" title="blue" src="http://hackadaycom.files.wordpress.com/2009/03/blue.jpg" alt="blue" width="450" height="310" /></p>
<blockquote><p>RAW3WIRE&gt;/] 0:16 0:16 128:16 r:16[<br />
CLOCK, 1<br />
CS DISABLED<br />
BULK WRITE 0x00 , 0x10 TIMES<br />
BULK WRITE 0x00 , 0x10 TIMES<br />
BULK WRITE 0x80 , 0x10 TIMES <strong>&lt;--all blue to 50%</strong><br />
BULK READ 0x10 BYTES:<br />
0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>Here, we set the blue level of every LED to 50% (128) and turn off all other colors. The button output now shows that button 0 is pressed.</p>
<p><img class="alignnone size-full wp-image-8851" title="red" src="http://hackadaycom.files.wordpress.com/2009/03/red.jpg" alt="red" width="450" height="324" /></p>
<blockquote><p>RAW3WIRE&gt;/] 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0:16 0:16 r:16[<br />
CLOCK, 1<br />
CS DISABLED<br />
WRITE: 0&#215;00 <strong>&lt;&#8211; red LED 0, off</strong><br />
&#8230;<strong> &lt;&#8211;more of the same</strong><br />
WRITE: 0&#215;00 <strong>&lt;&#8211; red LED 3, off</strong><br />
WRITE: 0xFF <strong>&lt;&#8211; red LED 4, 100% on</strong><br />
WRITE: 0xFF <strong>&lt;&#8211; red LED 5, 100% on</strong><br />
WRITE: 0xFF<strong> &lt;&#8211; red LED 6, </strong><strong>100% </strong><strong>on</strong><br />
WRITE: 0xFF<strong> &lt;&#8211; red LED 7, </strong><strong>100% </strong><strong>on</strong><br />
WRITE: 0&#215;00 <strong>&lt;&#8211; red LED 8, off</strong><br />
&#8230; <strong>&lt;&#8211;more of the same</strong><br />
WRITE: 0&#215;00<strong> &lt;&#8211; red LED 15, off</strong><br />
BULK WRITE 0&#215;00 , 0&#215;10 TIMES <strong>&lt;&#8211; all green LEDs off</strong><br />
BULK WRITE 0&#215;00 , 0&#215;10 TIMES <strong>&lt;&#8211;all blue LEDs off</strong><br />
BULK READ 0&#215;10 BYTES: <strong>&lt;&#8211;read button status</strong><br />
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF<br />
CS ENABLED<br />
RAW3WIRE&gt;</p></blockquote>
<p>This example shows how to address single LEDs. This time we actually write out all 16 bytes of the red color frame. Buttons 0-3 and 8-15 have a red value of 0 (red off), buttons 4-7 are set to 100% red (255). All green and blue LEDs are off (0, 0%).</p>
<p><em>Conclusion</em></p>
<p>It was really frustrating to get this board working because the first version of the datasheet had so many errors. SparkFun&#8217;s engineers and support were really helpful, and posted a corrected datasheet within days. As long as you have the updated datasheet, this is an easy board to work with.</p>
<p>We&#8217;d like to see a firmware update that eliminates the need to keep the clock signal high before raising CS. This quirk makes the board incompatible with many hardware SPI modules, leaving slow bit-bang routines as the only interface option. Fortunately, the source code is open and available to anyone who wants to make this change.</p>
<p>The button pad controller is a really neat board, and we look forward to using it in a future project.</p>
<p><strong>Hack a Day review disclosure</strong>: We asked for a free board and SparkFun sent it to us. We had a terrible time getting it to work with the instructions in the first version of the datasheet, we documented that experience here.</p>
<br />Posted in parts, peripherals hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/8609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/8609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/8609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/8609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/8609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/8609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/8609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/8609/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=8609&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/03/09/parts-4x4-rgb-button-pad-controller-spi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/cover.jpg" medium="image">
			<media:title type="html">cover</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/config2.png" medium="image">
			<media:title type="html">config2</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/frames.png" medium="image">
			<media:title type="html">frames</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/inter.png" medium="image">
			<media:title type="html">inter</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/white.jpg" medium="image">
			<media:title type="html">white</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/blue.jpg" medium="image">
			<media:title type="html">blue</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/red.jpg" medium="image">
			<media:title type="html">red</media:title>
		</media:content>
	</item>
		<item>
		<title>Blinkenlights&#8217; Stereoscope goes live in Toronto</title>
		<link>http://hackaday.com/2008/10/04/blinkenlights-stereoscope-goes-live-in-toronto/</link>
		<comments>http://hackaday.com/2008/10/04/blinkenlights-stereoscope-goes-live-in-toronto/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 01:00:46 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[blinkenlights]]></category>
		<category><![CDATA[bre pettis]]></category>
		<category><![CDATA[ccc]]></category>
		<category><![CDATA[guest post]]></category>
		<category><![CDATA[stereoscope]]></category>
		<category><![CDATA[tim pritlove]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=4303</guid>
		<description><![CDATA[We&#8217;re happy to present this guest post from History Hacker&#8217;s [Bre Pettis]. Today [Bre] catches up with the Blinkenlights team, who turn entire buildings into displays. Their current project is Stereoscope which goes live in Toronto, Canada today. Earlier this week, I posted about the beginnings of the blinkenlights project. It started in 2001 in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=4303&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-4304" title="stereoscope" src="http://hackadaycom.files.wordpress.com/2008/10/stereoscope.jpg" alt="" width="450" height="253" /></p>
<p><em>We&#8217;re happy to present this guest post from History Hacker&#8217;s [<a href="http://brepettis.com/">Bre Pettis</a>]. Today [Bre] catches up with the <a href="http://blinkenlights.net/">Blinkenlights</a> team, who turn entire buildings into displays. Their current project is <a href="http://blinkenlights.net/stereoscope">Stereoscope</a> which goes live in Toronto, Canada today.</em></p>
<p>Earlier this week, I posted about the <a href="http://brepettis.com/blog/2008/09/29/blinkenlights/">beginnings of the blinkenlights project</a>. It started in 2001 in Berlin, but now Seven years later, in May 2008, blinkenlights is back. The City of Toronto asked the blinkenlights team if they would be interested in joining another Nuit Blanche (as they did in Paris in 2002). Short on time and with a lot of ambition, they decided to redesign and push the envelope on the project to make it wireless for The Toronto City Hall since there would be 960 windows split up in two towers. In the above photo, you can see Stereoscope in all its glory.<span id="more-4303"></span></p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2008/10/04/blinkenlights-stereoscope-goes-live-in-toronto/"><img src="http://img.youtube.com/vi/YWuu7AIcSGI/2.jpg" alt="" /></a></span>
<p>I can’t help it, this is such an awesome project. I need to know more!  I asked Tim to break it on down and give up the details.<br />
<em><br />
What’s the story of the stereoscope project?</em></p>
<p>After having had a variety of new attempts around Europe that didn’t work out (due to either financial reasons or building owners that withdrew their support in the last minute) it took six years until we could come up with a new project (not counting two small Blinkenlights reprises at the original location).</p>
<p>But in May 2008, the City of Toronto asked us if we would be interested in joining another Nuit Blanche (as we did in Paris in 2002) in October 2008. There was really not much time left, so we immediately started working on this baby with a few really tough deadlines to be met. Especially because we did not want to go with the same technology we used back in 2002. The Toronto City Hall was even bigger than the Bibliothèque nationale de France (960 vs. 520 windows), split up in two towers and we also wanted to push the envelope a bit.</p>
<p>So we came up with the idea of going mostly wireless to save setup time. Although being a much bigger installation, we will probably need only half the time to set everything up &#8211; if things won’t go wrong of course.<br />
<em><br />
What makes the stereoscope special?</em></p>
<p>The facade of Toronto City Hall is special in many ways. First there are two separate towers: both of different height and width. Both facaces are split in two parts of unequal size because there are mechanical floors in the middle without windows.</p>
<p>Even more important the towers have a curved structure and all the windows are faced inwards. This makes it impossible to see all the windows at the same time regardless from where you are. All our previous installations presented just one single screen very much like the screens we are used to on our computers.</p>
<p>Blinkenlights is not about building displays. It’s about participation of people and interpretation of architecture. So we try to “speak the language of the building.” To compensate for the difficult viewing angles, we promote a fluid appearance: things move slowly &#8211; what you can’t see now you will see in a few moments. This all also underlines the strange spatial appearance of the facade &#8211; hence the name Stereoscope (”spatial view”). We’ll see how this all turns out &#8211; we never know how are installations will feel before. It’s going to be a surprise to us as it is to the casual viewer.</p>
<p><em>How hard was it to create an iphone app?</em></p>
<p>The idea to create an application for a mobile device is as old as our project. But in 2001/2 there was nothing on the horizon that could do that. The iPhone however is the device we have been waiting for.</p>
<p>First of all we wanted this app to be useful to everybody. So we focused on a simulator that provides a real time view of what is going on. Everyone can load the app and tune in live &#8211; wherever they want (as long they have Internet access of course). The foundation for this we had in our code for a very long time &#8211; as we have been using IP packets for frame distribution inside our installation all along it just took a copy to be streamed to individual applications that could display the data stream on some kind of visualizer.</p>
<p>The blinkensim program of our original toolkit did that. An intelligent proxy &#8211; the blinkenproxy &#8211; enhanced this to an on-demand model: the proxy constantly receives the data stream from a single source and re-distributes the stream to every simulator that asks for a copy. We hope our infrastructure scales well enough to handle demand.</p>
<p>For Stereoscope we enhanced our protocol in many ways: each packet is realtime-stamped so the simulator can display the time the stream was generated &#8211; either in real time or as a playback from an archival copy. We also added support for multiple screens as Stereoscope supports the notion of individual subscreens and virtual matrixes and more.</p>
<p>We wanted the application to be really, really beautiful to look at. So we put together a team of gifted 3D and 2D graphic artists and two excellent iPhone/Mac-Programmers: the Coding Monkeys from Munich, known for their collaborative text editor SubEthaEdit and the useful Circulator iPhone application. They all joined forces and the result is a pretty outstanding little app that allows to view the building from any angle or predefined viewpoints while it fluidly displays the data stream coming from our central server.</p>
<p>Due to the strange distribution model and the long approval times of the iTunes App Store we might not be able to add more functionality. Every update usually needs a week to show up which is really bad for such a time critical piece. We have tons of more ideas on how to turn this app into a location-aware controller allowing for collaborative painting and other nice ideas. We’ll see how it turns out in the end. Project Blinkenlights is always work in progress and we will keep the data stream running after we have to take down the installation itself so that we can continue to play and experiment with a virtual building for future installations.<br />
<em><br />
What’s broken so far?  Has anyone been hurt?</em></p>
<p>Setup is going really well and we are confident to be ready in time. No casualties so far, knock on wood.</p>
<p><em>Are you going to port the old movies to the new project and are you specifically going to show a video of a woman dancing in greyscale?</em></p>
<p>We’ll show a medley of old and new stuff. The new multiple-layer core of our software allows multiple movies and games to run at the same time, target different subscreens and such. There are more new features in the code than I think we can make use of in just two weeks. We’ll see.</p>
<p>Concerning the dancing woman, I was just being told the original data is locked in a computer that is wrapped in plastic standing in a cellar in a small house in the Australian outback. I guess we won’t make it in time to revive that particular animation.</p>
<p>But we want to go for new original content anyway. There is a capable set of tools available for the Mac. We have built an infrastructure to use Quartz Composer to create animations for Stereoscope and we hope experienced designers will use it to create cool stuff. There is a stand-alone 3D simulator for the Mac as well (not yet as beautiful as the iPhone version but we’re working on that).</p>
<p>There will be additional tools for Mac and Windows like a Blinkenpaint-style editor for smaller movies and an updated blinkensim simulator for Linux and BSD Unix. There are third-party tools for as well that we will list on the website.<br />
<em><br />
Is there anything else people should know about the project?</em></p>
<p>All of our hardware and software will be out in the open. The wireless dimmer technology will be released under a Creative Commons license and the new code will be either BSD or GPL licensed. We are still thinking of Project Blinkenlights as an open platform and something that should evolve and grow. We’d like to see both software and hardware hackers to take up on the work we have done and come up with new ideas and extensions.</p>
<p>We really hope we are not again running into such a long phase of inactivity and will be able to pursue a followup project sooner than later. It might be a nice idea to go ahead with a virtual representation of former installations but I guess it is the real world where it gets interesting as stuff needs to be tangible for people. Nothing beats reality.</p>
<p>Want to be involved? The <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291807780&amp;mt=8">iPhone app</a> is a tool for people to watch in real time and it can also be used as a testing app when developing animations.</p>
<p>What the blinkenlights team are most interested in is that people create funny animations for the building. They provide an <a href="http://blinkenlights.net/stereoscope/create">extensive toolset</a> now including a Quartz Composer based development environment on the Mac and a library for Processing that works cross-platform.</p>
<p>They are busy setting up the submission form now and will post more background on everything. So everybody who is interested in participating to <a href="http://blinkenlights.net/blog/feed">subscribe to the blinkenlights blog</a>.</p>
<p>They are also working on a Java based Game API for people who like to code little apps to interact with people calling in with their mobile phones.</p>
<p>If you’re not following <a href="http://twitter.com/timpritlove">Tim on Twitter</a>, you should! He recently <a href="http://twitter.com/timpritlove/statuses/941558209">twittered</a> that they had ordered pizza and the pizza delivery guy couldn’t find the building so they made the building light up with the words, “Pizza Here!”</p>
<p>[photo: <a href="http://flickr.com/photos/antenne/2902395591/in/set-72157607534508166/">antenne</a>]</p>
<br />Posted in misc hacks, news  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/4303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/4303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/4303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/4303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/4303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/4303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/4303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/4303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=4303&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/10/04/blinkenlights-stereoscope-goes-live-in-toronto/feed/</wfw:commentRss>
		<slash:comments>8</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/10/stereoscope.jpg" medium="image">
			<media:title type="html">stereoscope</media:title>
		</media:content>
	</item>
	</channel>
</rss>
