<?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/"
	>

<channel>
	<title>Interlock Rochester &#124; Rochester&#039;s Hackerspace / Makerspace</title>
	<atom:link href="http://interlockroc.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://interlockroc.org</link>
	<description>Think, Work, Play, Hack</description>
	<lastBuildDate>Fri, 17 May 2013 18:26:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>11 Digit, 7 Segment Display</title>
		<link>http://interlockroc.org/2013/05/17/11-digit-7-segment-display/</link>
		<comments>http://interlockroc.org/2013/05/17/11-digit-7-segment-display/#comments</comments>
		<pubDate>Fri, 17 May 2013 18:26:26 +0000</pubDate>
		<dc:creator>BleuLlama</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1470</guid>
		<description><![CDATA[An early test result, showing text and millseconds since power-on. About a year ago, I bought a few 11 digit, 7 segment red LED displays from Active Surplus up on Queen Street in Toronto. (Excellent store.  If you&#8217;re into hacking stuff at all, it&#8217;s well worth the trip. Look for the monkey on Queen street [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://1.bp.blogspot.com/-dkD0ogUU58o/UZZwNl-PA-I/AAAAAAAACbg/9s-kiPZUZ8Q/s1600/IMG_1468.JPG"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-dkD0ogUU58o/UZZwNl-PA-I/AAAAAAAACbg/9s-kiPZUZ8Q/s640/IMG_1468.JPG" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>An early test result, showing text and millseconds since power-on.</i></p>
<p>About a year ago, I bought a few 11 digit, 7 segment red LED displays from Active Surplus up on Queen Street in Toronto. (Excellent store.  If you&#8217;re into hacking stuff at all, it&#8217;s well worth the trip. Look for the monkey on Queen street to find their entrance.)</p>
<p>This past week, I wasn&#8217;t sure what to do at Interlock on Tuesday night, but I had recently re-found these displays, so I figured I would finally get them working.  I hit Radio Shack to get a Seeed Studio Arduino Shield ($10 with a mess of components, probably the best deal in all of Radio Shack.)</p>
<p style="text-align: center"><a href="http://4.bp.blogspot.com/-gRsOSI_LtfU/UZZz1mwZnpI/AAAAAAAACb4/or8abBr4-TM/s1600/IMG_1459.JPG"><img alt="" src="http://4.bp.blogspot.com/-gRsOSI_LtfU/UZZz1mwZnpI/AAAAAAAACb4/or8abBr4-TM/s640/IMG_1459.JPG" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>The display with a header soldered on, and the shield with its assorted parts.</i></p>
<p>I was all set to figure out how to reverse-engineer the pinout on the bottom of the display; I googled for the LED module, and found specs on those, and then on a whim, decided to check on the entire module board, a Rohm LU-3011, and found the jackpot, <a href="http://bobdasquirrel.blogspot.com/2011/08/rohm-lu-3011-led-display-module.html">this post about figuring out the pinout</a>.  It suddenly became very easy to do this project.</p>
<p>The two key things gleaned from that above post, which I have mirrored here, are this table of enables for each of the 11 digits:</p>
<table class="aligncenter" border="1">
<tbody>
<tr>
<td>Digit</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
</tr>
<tr>
<td>Pin</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>6</td>
<td>8</td>
<td>10</td>
<td>12</td>
<td>14</td>
<td>16</td>
<td>18</td>
</tr>
</tbody>
</table>
<p>and this image, showing the pin mappings of the segments:</p>
<p style="text-align: center"><a href="http://2.bp.blogspot.com/-O2_Yz-oWDgE/UZZstuDtijI/AAAAAAAACbQ/eLleHoWirVw/s1600/digit.JPG"><img alt="" src="http://2.bp.blogspot.com/-O2_Yz-oWDgE/UZZstuDtijI/AAAAAAAACbQ/eLleHoWirVw/s320/digit.JPG" width="320" height="300" border="0" /></a></p>
<p style="text-align: center"><i>Mapping of the segments to the pins on the header.</i></p>
<p>The basic way these displays work is that all of the 7 segments (plus one decimal point) are all tied together to the pins specified above.  Then the anodes for each of the displays are broken out to the pins in the table above.  So to draw a &#8217;7&#8242;, you would set all of the segments to LOW, except for pins 11, 19, and 7 which you set HIGH.  Then to turn on a specific digit, let&#8217;s say digit 11 (rightmost), you set the digit enable pin 18 to be an output, and set it LOW.  Set all of the other digit enables to be inputs (tri-state, not low or high), and only position 11 will show a &#8220;7&#8243;.  You repeat this for all of the 11 digits in the display, and you can display 11 full digits from just those 19 pins.</p>
<p>In my code (available below) I start at digit 1, and work down to digit 11, enabling each one, in turn, showing its segments, waiting 1 millisecond, then disable that digit, move on to the next one.</p>
<p>I soldered a pin header on the display, and built up a shield to plug it into.</p>
<p><a href="http://4.bp.blogspot.com/-bh1tSeeWrGA/UZZ0MK4HVlI/AAAAAAAACcA/cBy-KgCnyfg/s1600/IMG_1463.JPG"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-bh1tSeeWrGA/UZZ0MK4HVlI/AAAAAAAACcA/cBy-KgCnyfg/s640/IMG_1463.JPG" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>All of the digit enables wired up.  The top ones are a bit messy. Sorry about that.</i></p>
<p>I wired it up such that the digit enables and segments are wired directly to IO lines on my Arduino.  This used all of the IO lines, minus the D13 pin, which has an on-board LED.</p>
<p>The code that I wrote (available below) lets you do arbitrary digits per character, so that i can do (primitive) alphanumerics, or do animation patterns, etc.  I also store the decimal point as a separate character going in to the display code, so &#8220;3.141&#8243; is five ascii characters going in, but a flag is set on the &#8217;3&#8242; position saying that this digit should also display its decimal point, so it only consumes four digits in the display.</p>
<p><a href="http://2.bp.blogspot.com/-Iu8GH9eT68o/UZZ0WDS63kI/AAAAAAAACcI/HTfpMMcb3Fg/s1600/IMG_1464.JPG"><img class="aligncenter" alt="" src="http://2.bp.blogspot.com/-Iu8GH9eT68o/UZZ0WDS63kI/AAAAAAAACcI/HTfpMMcb3Fg/s640/IMG_1464.JPG" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>just testing out all of the segments and digits</i></p>
<p>For now, it displays a nice clock and some animations on my desk, but I plan on changing it around a little in the near future.  I want to use the D13 line as one of the segment enables (probably decimal point) and move the segment enables off of the Serial Receive line.  That way i will be able to control it via serial to display patterns, animations or text content.  Since the hardware serial port is hardwired to 0 and 1, and I will be using the TX line for the LED displays, I&#8217;ll have to instead use the Software Serial, with only its Receive line mapped to an IO pin, and its Transmit line mapped to junk. I&#8217;ve done this before and it works well.</p>
<p>The code for this project is <a href="https://github.com/BleuLlama/GeodesicSphere/tree/master/Projects/SevenSegment11">available in my Geodesic Sphere github repository</a>.</p>
<p>This post is also available on <a href="http://geodesicsphere.blogspot.com/2013/05/11-digit-7-segment-display.html">my personal project blog thing</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/05/17/11-digit-7-segment-display/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hackers are not the Bad Guys:  Confessions of an Inventaholic.</title>
		<link>http://interlockroc.org/2013/04/21/hackers-are-not-the-bad-guys-confessions-of-an-inventaholic/</link>
		<comments>http://interlockroc.org/2013/04/21/hackers-are-not-the-bad-guys-confessions-of-an-inventaholic/#comments</comments>
		<pubDate>Sun, 21 Apr 2013 21:45:57 +0000</pubDate>
		<dc:creator>MacGyvrBot</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[computer aided design]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[handlestand]]></category>
		<category><![CDATA[inventing]]></category>
		<category><![CDATA[invention]]></category>
		<category><![CDATA[inventors]]></category>
		<category><![CDATA[open-source hardware]]></category>
		<category><![CDATA[reprap]]></category>
		<category><![CDATA[thingiverse]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1399</guid>
		<description><![CDATA[Transcription of the talk given at BarCamp Rochester on April 20th, 2013, by Skip Meetze. Hello.  My name is Skip.  I’m an inventaholic.  I am compelled to invent things for reasons that I can not control.  I would like to welcome you to Inventaholics Anonymous. Over the past 40 years, I have followed a path familiar [...]]]></description>
				<content:encoded><![CDATA[<p><em><strong>Transcription of the talk given at BarCamp Rochester on April 20th, 2013, by Skip Meetze.</strong></em></p>
<p><b>Hello.  My name is Skip.  I’m an inventaholic.</b>  I am compelled to invent things for reasons that I can not control.  I would like to welcome you to Inventaholics Anonymous.</p>
<p>Over the past 40 years, I have followed a path familiar to many people with my affliction by accumulating as many patents as I could.  But with the help of my new friends at INTERLOCK, I have overcome those tendencies, and I am proud to say that I have moved on to the sober world of hackers and makers.  A world  known as the<em> <a href="http://en.wikipedia.org/wiki/Open_source_hardware">Open-Source Hardware Movement</a>.</em></p>
<div id="attachment_1418" class="wp-caption alignright" style="width: 291px"><a href="http://interlockroc.org/wp-content/uploads/2013/04/stepcounter-1.png"><img class=" wp-image-1418 " alt="stepcounter 1" src="http://interlockroc.org/wp-content/uploads/2013/04/stepcounter-1.png" width="281" height="274" /></a><p class="wp-caption-text">First Patent: The Stepcounter</p></div>
<p><b>In many ways, being an inventor has scarred my life.   </b>In the early 1970s I squandered all the funds I could beg or borrow (at least I didn’t steal), and I blew it all on my first patent.  The Stepcounter was a research device to measure the activity levels of laboratory animals.  My wife wanted to make the down payment on a house.  Thanks to my addiction, we rented for 25 years before we bought our first house.</p>
<p>Kenneth Brown, the author of a book called <span style="text-decoration: underline">Inventors at Work</span> asked my old friend, the late Bob Gundlach an important question during an interview: “Is it better to be an inventor working for a large corporation, or would you rather be working on your own?”  I can relate to Bob’s answer: “<b>Being an inventor on your own is a good way to go broke!</b> Being an inventor in a corporation is a very fortunate happenstance.”</p>
<p>But even within a corporation you run into the Not Invented Here Syndrome.  If you offer a solution to improve a product that is outside of your assigned responsibilities, you will probably be rebuked with something like “No thanks. I’ve got my own ideas and I know what I’m doing.  Go work on your own assignment.”</p>
<div id="attachment_1419" class="wp-caption alignright" style="width: 298px"><a href="http://interlockroc.org/wp-content/uploads/2013/04/vue-iPad-in-comfort.jpg"><img class=" wp-image-1419  " alt="vue iPad in comfort" src="http://interlockroc.org/wp-content/uploads/2013/04/vue-iPad-in-comfort.jpg" width="288" height="170" /></a><p class="wp-caption-text">vue-stand</p></div>
<p>I graduated from Xerox a few years ago and <b>in 2010, my friend Ken and I invented a stand for iPads that we called the <span style="text-decoration: underline">vue-stand</span>.</b>  It would hold your iPad at a comfortable eye-level.  As a human factors engineer I have spent decades designing easy-to-use products, and I thought that we were onto something.  After we spent thousands of dollars to do a pilot run at manufacturing and did a little test market, I couldn’t help remembering Bob’s words of wisdom.  People didn’t buy the <span style="text-decoration: underline">vue</span> for reasons we now understand.  We decided not to keep throwing money at trying to market a dead horse, so I bought out Ken’s interest in our company, and I continue selling off my inventory online without promotion.  That inventory will cut my losses, but it will not cover my investment.</p>
<p><b>Last summer something happened that changed my life:</b>  A couple of guys from this <em><a href="http://en.wikipedia.org/wiki/Hackerspace">Hackerspace</a> </em>called INTERLOCK Rochester gave a talk at <em><a href="http://www.applecider.org/">AppleCIDER</a></em>, a local Apple Computer Users Group.  They demonstrated a little desktop 3D printer that they had built themselves.  I was blown away.</p>
<p>I knew about <em><a href="http://en.wikipedia.org/wiki/Stereo_lithography">Stereolithography</a></em> and CAD (<em><a href="http://en.wikipedia.org/wiki/CAD">Computer-aided design</a></em>).  Xerox engineers had made rapid prototypes using that technology for decades.  But specialist operated those machines, and they had talent and training that I didn’t have.  Furthermore, the machines cost more money than an individual could afford.</p>
<p>Now, people are building these little machines that can even build parts to replicate themselves.  And people are sharing their designs and discoveries for other people to build upon.  The source code for anything built on these little industrial robots can be shared online at a site called Thingiverse.com.</p>
<p>They call the shared technology <em><a href="http://en.wikipedia.org/wiki/Reprap">RepRap</a></em> for replicating rapid prototyping.  The designs are evolving unbelievably fast because people are sharing with each other!  What a sobering thought!</p>
<p>I don’t plan to get any more patents.  Now I have a reprap machine, and I have joined the people who share ideas in a Hackerspace.</p>
<p><b>I used to think of hackers as being the bad guys who stole identities and maliciously created computer viruses and things like that.</b>  Now it has come to mean people who take an existing good idea and hack on it to make it better.</p>
<div id="attachment_1420" class="wp-caption alignright" style="width: 287px"><a href="http://interlockroc.org/wp-content/uploads/2013/04/HandleStand.jpg"><img class=" wp-image-1420 " alt="HandleStand" src="http://interlockroc.org/wp-content/uploads/2013/04/HandleStand.jpg" width="277" height="311" /></a><p class="wp-caption-text">iPad on a HandleStand</p></div>
<p>For instance, I have hacked-up an iPad accessory that I call the <span style="text-decoration: underline">HandleStand</span>.  I took a protective iPad case that I bought on Amazon for $8 and hacked it.  I drilled two holes and attached a pair of hinged handles to it with screws.  The case I chose also allows me to attach a Keyboard that protects the front of my iPad.</p>
<p>The handles open up to make a stand that allows the iPad to tilt at any angle.  Great for making videos or calling people on FaceTime with the iPad camera that can be pointed in any direction.  By the way, it also holds the iPad at a comfortable eye level just like the <span style="text-decoration: underline">vue-stand</span>.  But it is better for all these reasons.</p>
<p><b>Where can you buy this <span style="text-decoration: underline">HandleStand</span> and how much does it cost?</b>  Sorry, but you can’t buy one.  You can get the source code from<em> <a href="http://www.thingiverse.com/thing:64811">Thingiverse</a></em> however, and if you can get access to a 3D printer you can make your own!  You can even hack it to make a better one!</p>
<p>You don’t have a 3D printer?  Well come on over to INTERLOCK on any Tuesday or Thursday night and we will help you hack one up.</p>
<p>I must admit that getting these little printers to run is a bit tricky sometimes.  They are complex electronic devices that run on an open source micro-controller called <em><a href="http://en.wikipedia.org/wiki/Arduino">Arduino</a></em>.  The hardware and software are made from the contributions of many-many people, and instructions don’t necessarily keep up with the latest developments. A lot of things can go wrong, and Murphy’s law does apply.</p>
<p>But hackerspaces are springing up all around the world where people help each other with things like that.  So you should join the world of hardware hackers.  Free CAD software has gotten so easy to use now that even I could learn it.</p>
<p>Pretty soon most people will know how to design using CAD just like now most people can make Powerpoint presentations.  Perhaps it won’t be long before most people will have access to a 3D printer.  I built one from a kit for a little over $500.  Or you can get a MakerBot already assembled for $2000.</p>
<p><b>I no longer spend a lot of money trying to sell inventions, I give them away and save a lot of money.</b>  My designs can no longer be stolen from me.  I’m publishing the source codes on Thingiverse and I am happy that people are downloading them for free.</p>
<p>People tell me that<b> I’m missing an opportunity to make money on my inventions… </b>I don’t care.  I’m an inventaholic.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/04/21/hackers-are-not-the-bad-guys-confessions-of-an-inventaholic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3D Printed HandleStand for iPad</title>
		<link>http://interlockroc.org/2013/04/06/3d-printed-handlestand-for-ipad/</link>
		<comments>http://interlockroc.org/2013/04/06/3d-printed-handlestand-for-ipad/#comments</comments>
		<pubDate>Sat, 06 Apr 2013 10:40:56 +0000</pubDate>
		<dc:creator>MacGyvrBot</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[3d printer]]></category>
		<category><![CDATA[3D Printing]]></category>
		<category><![CDATA[ergonomic]]></category>
		<category><![CDATA[facetime]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iPad accessories]]></category>
		<category><![CDATA[iPad case]]></category>
		<category><![CDATA[iPad handle]]></category>
		<category><![CDATA[iPad keyboard]]></category>
		<category><![CDATA[iPad Smart Cover]]></category>
		<category><![CDATA[iPad stand]]></category>
		<category><![CDATA[iPad video]]></category>
		<category><![CDATA[plastic]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[solvent welding]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1279</guid>
		<description><![CDATA[&#160; If you have access to a 3D printer you can make this!    This is an Open-Source design, and the STL files can be downloaded from Thingiverse:  http://www.thingiverse.com/thing:64811 *    *    * The HandleStand is hacked from an inexpensive protective case by adding a pair of 3D printed handles. As the name implies, the [...]]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><span style="font-size: x-large"><b><span style="font-size: large">If you have access to a 3D printer you can make this!  </span> </b></span></p>
<p><img class="aligncenter  wp-image-1357" alt="HandleStand, 2" src="http://interlockroc.org/wp-content/uploads/2013/04/HandleStand-2.jpg" width="529" height="596" /></p>
<p><b><span style="font-size: medium">This is an Open-Source design</span>, and the STL files can be downloaded from Thingiverse:  <a href="http://www.thingiverse.com/thing:64811">http://www.thingiverse.com/thing:64811</a></b></p>
<p style="text-align: center">*    *    *</p>
<p><b>The HandleStand is hacked from an inexpensive protective case by adding a pair of 3D printed handles. </b></p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/Stand-and-case.jpg"><img class="aligncenter  wp-image-1381" alt="Stand and case" src="http://interlockroc.org/wp-content/uploads/2013/04/Stand-and-case.jpg" width="424" height="291" /></a></p>
<p>As the name implies, the accessory provides both a handle and a stand function for the iPad, but it is also quite portable, and the handle can be folded out of the way.</p>
<p><a href="http://interlockroc.org/wp-content/uploads/2013/04/smart-cover-3.jpg"><img alt="smart cover 3" src="http://interlockroc.org/wp-content/uploads/2013/04/smart-cover-3-300x251.jpg" width="216" height="181" /></a>      <img alt="keyboard 1" src="http://interlockroc.org/wp-content/uploads/2013/04/keyboard-1-168x300.jpg" width="168" height="300" />  <img alt="keyboard folded" src="http://interlockroc.org/wp-content/uploads/2013/04/keyboard-folded-300x261.jpg" width="155" height="136" /></p>
<p>&nbsp;</p>
<p><b>The assembly also accommodates a shoulder strap, a magnetically attached &#8220;Smart Cover&#8221; or keyboard.</b></p>
<p style="text-align: center">*    *    *</p>
<p><b> The A-Frame stand gets the iPad screen up to a comfortable eye-level.  </b><strong>A recent study at Harvard concludes:</strong> <em>&#8220;Head and neck posture during tablet computing can be improved by placing the tablet higher to avoid low gaze angles (i.e. on a table rather than on the lap) and through the use of a case that provides optimal viewing angles.&#8221;  </em><a href="http://iospress.metapress.com/content/x668002xv6211041/fulltext.pdf">http://iospress.metapress.com/content/x668002xv6211041/fulltext.pdf</a></p>
<p><a href="http://interlockroc.org/wp-content/uploads/2013/04/ergonomic-stand.jpg"><img class="aligncenter size-full wp-image-1371" alt="ergonomic stand" src="http://interlockroc.org/wp-content/uploads/2013/04/ergonomic-stand.jpg" width="670" height="204" /></a></p>
<p style="text-align: center"> *    *    *</p>
<p><b>&#8220;But how can I print a handle big enough for an iPad on my little printer that has a 6&#8243; x 6&#8243; bed?&#8221; you ask.</b></p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/solvent.jpg"><img class="size-medium wp-image-1296 aligncenter" alt="solvent" src="http://interlockroc.org/wp-content/uploads/2013/04/solvent-225x300.jpg" width="225" height="300" /></a></p>
<p>Well the answer is: <b>&#8220;solvent bonding&#8221;</b>&#8230;  I use Oatey cleaner that is sold in hardware stores to be used on plastic plumbing pipes.</p>
<p>* * *</p>
<p><b>The trick is to design the device in pieces that are small enough to be printed, and they<b> also must fit together precisely</b>. </b> Then you print them in ABS plastic which can be <strong>bonded with solvent to form a solid piece of plastic</strong>!* (Please see the WARNING below!)</p>
<p>&nbsp;</p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/Exploded-1.png"><img class="size-medium wp-image-1300 aligncenter" alt="Exploded 1" src="http://interlockroc.org/wp-content/uploads/2013/04/Exploded-1-300x170.png" width="300" height="170" /></a></p>
<p>&nbsp;</p>
<p style="text-align: center">* * ** * *</p>
<p><b>I carry my HandleStand with me everywhere!</b></p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/Travel-with-MacBot.jpg"><img class="aligncenter  wp-image-1387" alt="Travel with MacBot" src="http://interlockroc.org/wp-content/uploads/2013/04/Travel-with-MacBot.jpg" width="311" height="415" /></a></p>
<p style="text-align: center">* * *</p>
<p><b>With the HandleStand, an iPad can be adjusted to any position about the horizontal or vertical axis, so it is great for FaceTime or shooting video.  </b></p>
<p><a href="http://interlockroc.org/wp-content/uploads/2013/04/HandleStand-as-tripod.jpg"><img class="aligncenter size-medium wp-image-1346" alt="HandleStand as tripod" src="http://interlockroc.org/wp-content/uploads/2013/04/HandleStand-as-tripod-239x300.jpg" width="239" height="300" /></a></p>
<p>The iPad is protected when conveniently carried using the handles or when on a shoulder strap or when folded and stuffed into a backpack or briefcase.</p>
<p style="text-align: center">* * *</p>
<p><b><span style="font-size: x-large"><b>Instructions</b></span></b></p>
<p><img class=" wp-image-1315 alignleft" alt="Hinge set 3" src="http://interlockroc.org/wp-content/uploads/2013/04/Hinge-set-3-300x204.png" width="168" height="114" /><a href="http://interlockroc.org/wp-content/uploads/2013/04/Handle-set.png"><img class=" wp-image-1316 alignleft" alt="Handle set" src="http://interlockroc.org/wp-content/uploads/2013/04/Handle-set-300x212.png" width="134" height="95" /></a> <a href="http://interlockroc.org/wp-content/uploads/2013/04/Handle-set.png"><img class=" wp-image-1316 alignnone" alt="Handle set" src="http://interlockroc.org/wp-content/uploads/2013/04/Handle-set-300x212.png" width="134" height="95" /></a></p>
<p>&nbsp;</p>
<p>The iPad HandleStand is made up of parts that are small enough to be <b>printed in 3 runs on a PrintrBot LC </b>(which has a usable print area of 120mm x 130mm). The plastic parts are solvent bonded to create handles that are too large to fit on the printer bed.</p>
<p>The Hinge Set contains 2 brackets and 2 sets of A-Frame hinge members. The brackets are screwed onto a polycarbonate protective cover such as the Poetic Basic Smart Cover Slim-Fit Case.</p>
<p><img class="aligncenter size-medium wp-image-1317" alt="Hinge assembly 2" src="http://interlockroc.org/wp-content/uploads/2013/04/Hinge-assembly-2-300x251.png" width="300" height="251" /></p>
<p><b>Each bracket is also screwed to a pair of the A-Frame hinge members with o-rings providing the controlled friction for the hinges. </b>Locknuts insure that the hinges stay adjusted and don’t come off.</p>
<p>The Hinge Set takes about 2hr to print on a Printrbot LC with ABS. Handles each contain 3 handle parts and a Microbeaner, and they take about 1hr 20min for each to print (for a <b>total of about 5hr printing time</b>). ABS is recommended because it allows the parts to be solvent bonded together. If PLA or other material is used, then superglue (cyanoacrylate) can be used to bond the parts.</p>
<p style="text-align: center">* * *</p>
<p>A shoulder/neck strap that is made from printed “microbeaners” and Parachord can be attached.</p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/neckstrap.jpg"><img class="aligncenter  wp-image-1382" alt="neckstrap" src="http://interlockroc.org/wp-content/uploads/2013/04/neckstrap.jpg" width="605" height="614" /></a></p>
<p style="text-align: center">* * *</p>
<p><span style="font-size: x-large"><b>Parts list:</b></span></p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/parts-1.jpg"><img class="aligncenter  wp-image-1378" alt="parts 1" src="http://interlockroc.org/wp-content/uploads/2013/04/parts-1.jpg" width="687" height="605" /></a></p>
<p>-(1) Hinge Set (containing 2 brackets and 4 hinge members).</p>
<p>-(2) Handles (each containing parts for a 3-piece handle and a MicroBeaner for the shoulder strap).</p>
<p>-(1) Polycarbonate iPad case that snaps on at the corners such as <a href="http://www.amazon.com/PoeticBasic-Smart-Cover-Slim-Fit-Crystal/dp/B007JBN6NQ">amazon.com/PoeticBasic-Smart-Cover-Slim-Fit-Crystal/dp/B007JBN6NQ</a></p>
<p>-(2) Stainless steel 6-32 x ¾” oval phillips machine screw (attach hinges to brackets)</p>
<p>-(2) flat-head 6-32 x ⅜” machine screw (attach brackets to polycarbonate case)</p>
<p>-(4) 6-32 lock nuts with nylon inserts</p>
<p>-(4) #6 o-ring provide friction for hinges</p>
<p>-(4) #41 o-ring provide friction against a table</p>
<p>-(1) ⅛” parachord   5’  long</p>
<p style="text-align: center">* * *</p>
<p><span style="font-size: x-large"><b>Tools:</b></span></p>
<p>-Drill with ⅛” bit and countersink bit</p>
<p>-Solvent to bond ABS such as Oatey cleaner (yellow label white can) made for ABS plumbing pipe (or use acetone or superglue)&#8230; See warning below!</p>
<p>-Use match or lighter to burn the cut ends of parachord</p>
<p style="text-align: center">* * *</p>
<p><span style="font-size: x-large"><b>*WARNING:</b></span></p>
<p>-Use <b>CAUTION</b> during solvent bonding!</p>
<p>-Use <b>eye protection</b>.</p>
<p>-Work in <b>well ventilated area</b>!</p>
<p>-The solvent dissolves many things, and the <b>wet plastic stains whatever it touches</b>!</p>
<p>-Use <b>latex NOT vinyl gloves</b>!</p>
<p>-Use <b>aluminum foil on work surface</b>!</p>
<p style="text-align: center">* * *</p>
<p>&nbsp;</p>
<p style="text-align: center"><a href="http://interlockroc.org/wp-content/uploads/2013/04/BabyBeaner.jpg"><img class="aligncenter  wp-image-1383" alt="BabyBeaner" src="http://interlockroc.org/wp-content/uploads/2013/04/BabyBeaner.jpg" width="451" height="354" /></a></p>
<p><span style="font-size: x-large"><b>Notes:</b></span></p>
<p>-Use great care to go back and <b>coat the whole part for a uniform glossy finish</b> (especially if parts were sanded), but do one end and hang to dry (for a few minutes) before doing the other end!</p>
<p>-The solvent can also be used to <b>heal delaminated parts</b>, but BE CAREFUL!</p>
<p>-<strong>Countersink the holes</strong> drilled in the Poetic case so that the screw heads will not touch the iPad.</p>
<p>-A <strong>large rubber band</strong> can be added to keep the the Ultrathin Keyboard or Smart Cover closed while the assembly is being carried around.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center"><span style="font-size: x-large"><strong>Enjoy the HandleStand! </strong></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/04/06/3d-printed-handlestand-for-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anamatronic Avian: Skeleton Experiments</title>
		<link>http://interlockroc.org/2013/03/06/anamatronic-avian-skeleton-experiments/</link>
		<comments>http://interlockroc.org/2013/03/06/anamatronic-avian-skeleton-experiments/#comments</comments>
		<pubDate>Wed, 06 Mar 2013 16:17:20 +0000</pubDate>
		<dc:creator>BleuLlama</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1271</guid>
		<description><![CDATA[I&#8217;m about to start making the skeleton for my animatronic Tiki-Room Macaw.  Rather than futzing with drawing up detailed plans in some cad program, Iv&#8217;e decided to instead get the basic shape made, and then just build one out of foam core.  My thought was that once I have the shape worked out, I&#8217;ll disassemble [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m about to start making the skeleton for my animatronic Tiki-Room Macaw.  Rather than futzing with drawing up detailed plans in some cad program, Iv&#8217;e decided to instead get the basic shape made, and then just build one out of foam core.  My thought was that once I have the shape worked out, I&#8217;ll disassemble it and come up with plans for 3d printable parts that can be attached together, and eventually some vacuum formed parts as well for the head and beak, which need to be lightweight&#8230; although I&#8217;m starting to think that they could all be 3D printed, with a skin stretched over them for feathers and fur, after seeing <a href="http://hackaday.com/?s=acetone">the posts on Hack-A-Day about using acetone vapor to smooth out parts</a>&#8230; anyway..</p>
<p>One of the things I was unsure of was the control linkages, and how the articulation points can be made.  It needs to have a few points of articulation to match the birds in the Enchanted Tiki Room:</p>
<p><a href="http://4.bp.blogspot.com/-qZOD7wBfc5Y/UTdpnqOh8qI/AAAAAAAACXw/r3R4zyJgR7c/s1600/2013-03-06+11.00.15.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-qZOD7wBfc5Y/UTdpnqOh8qI/AAAAAAAACXw/r3R4zyJgR7c/s640/2013-03-06+11.00.15.jpg" width="356" height="640" border="0" /></a></p>
<ul>
<li>Perch rotation &#8211; 270 degrees, spins the bird around (not shown)</li>
<li>Lean &#8211; +20, -20 degrees, to lean forward and backward at the point where the legs connect</li>
<li>Head yaw &#8211; +45, -45 degrees back and forth</li>
<li>Head tilt &#8211; +15, -15 degrees up and down</li>
<li>Beak &#8211; 30 degrees, could be all open or all closed (shown in the diagram as 15 degrees)</li>
</ul>
<p>I was thinking that after I constructed the foam version, I could figure things out from there, but after seeing <a href="http://hackaday.com/2013/02/28/3d-printed-hog-drive/">this post on Hack-A-Day with a &#8220;HOG Drive&#8221;</a>, I realized I could leverage off of this design for the head linkages.</p>
<p>I chatted with Skip at <a href="http://interlockroc.org/">Interlock</a>, and by the end of this last Tuesday evening, I had two 3-D printed versions of this, using ABS, rather than the PLA material I am more familiar with. (<a href="http://www.thingiverse.com/thing:52097">Here&#8217;s the Thingiverse link for the design</a>.) Since I wasn&#8217;t going to be mounting a motor, we (and by &#8220;we&#8221; I mean &#8220;he&#8221;) replaced the motor space with a flat plate with a mounting screw hole.  He also replaced the back control arm with just a peg, since the bridge-like shape wouldn&#8217;t hold up properly on his printer.</p>
<p><a href="http://4.bp.blogspot.com/-w3-dNOYQiBU/UTdp-unGYKI/AAAAAAAACX4/UgL3sYxLOsc/s1600/2013-03-05+23.23.34.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-w3-dNOYQiBU/UTdp-unGYKI/AAAAAAAACX4/UgL3sYxLOsc/s640/2013-03-05+23.23.34.jpg" width="640" height="478" border="0" /></a></p>
<p>&nbsp;</p>
<p>The first print (on the left) has a failed control peg on the center disk.  It was adding material onto printed material that didn&#8217;t cool yet, so it just kinda globbed up.  This was improved by Skip by adding a second post, seen in the second version on the right.  He also added some material around the screw holes in the frame, to improve durability.</p>
<p>After printing and having this in my hand, I&#8217;m realizing that it won&#8217;t quite work for me, although it does give me an excellent starting point.  The center disk is too small to mount the head on.  It&#8217;s only about 1 1/2 inches in diameter. I think I&#8217;d want something about 2-3&#8243; in diameter, with plenty of mounting points and space for securing the head ,as well as space for wiring for the beak servo (or linear motor, or solenoid, or whatever).  It really showed me the design considerations for actually constructing something, not to mention it really emphasized that whatever design I can think of, I can print&#8230; which is pretty futuristically awesome.</p>
<p>But the important thing is that I know have ideas to build on for the final version.  I&#8217;ll still be constructing a foam core model, and I&#8217;ll be using this above design as a kick-off point.</p>
<p>(<a href="http://geodesicsphere.blogspot.com/2013/03/anamatronic-avian-skeleton-experiments.html">This post is cross-posted to my personal project blog as well</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/03/06/anamatronic-avian-skeleton-experiments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using an Arduino as a Programmer Host</title>
		<link>http://interlockroc.org/2013/03/04/using-an-arduino-as-a-programmer-host/</link>
		<comments>http://interlockroc.org/2013/03/04/using-an-arduino-as-a-programmer-host/#comments</comments>
		<pubDate>Mon, 04 Mar 2013 18:12:33 +0000</pubDate>
		<dc:creator>BleuLlama</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1266</guid>
		<description><![CDATA[One of the things that I&#8217;ve had to do for my re-purposing of the DB15 Stepper Motor controllers is to be able to reliably reprogram them.  The early versions of the programmer consisted of just a wire harness with a DB-15 connector on one end, and leads that plugged into the headers on a standard [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://4.bp.blogspot.com/-fjVnBhiYZlg/USuVpGsBK0I/AAAAAAAACTU/wsZe01vZQBY/s1600/2013-02-12+23.42.15.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-fjVnBhiYZlg/USuVpGsBK0I/AAAAAAAACTU/wsZe01vZQBY/s640/2013-02-12+23.42.15.jpg" width="640" height="478" border="0" /></a></p>
<p>One of the things that I&#8217;ve had to do for my re-purposing of the DB15 Stepper Motor controllers is to be able to reliably reprogram them.  The early versions of the programmer consisted of just a wire harness with a DB-15 connector on one end, and leads that plugged into the headers on a standard Arduino board. It eventually progressed into an octopus-like wire harness that used another DB15 as the &#8220;host&#8221; Arduino.  This worked well, but is cumbersome.  In this post, I&#8217;ll highlight the basic circuit used, and the procedure for using it, specifically for this controller board, but the techniques are applicable to other ATmega based micros as well.</p>
<p><a href="http://4.bp.blogspot.com/-ZCQSK2Hy--o/USuXT0QgurI/AAAAAAAACT0/1nTzDp29MIM/s1600/2013-02-12+23.39.41.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-ZCQSK2Hy--o/USuXT0QgurI/AAAAAAAACT0/1nTzDp29MIM/s640/2013-02-12+23.39.41.jpg" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>The reason for doing all of this work.  About 30 or so DB-15 widgets which can be repurposed as Arduino-compatible microcontroller boards.  They don&#8217;t have all of the IO that a stock Arduino board has, but if your device only needs 6 IO (one of which is analog input), with a potential for another analog input, and 4 more digital outputs with a little work, they&#8217;re an excellent free resource at Interlock!</i></p>
<p>The ICSP (In-Circuit Serial Programmer) is basically a device that takes in a firmware image from a host computer, and uses SPI-based communications with a target device to shove that firmware image into place.  For general Arduino use, you can shove the Arduino serial bootloader into place. This is about 1k (for the optimized bootloader aka &#8220;Optiboot&#8221;) of program space that sits on your micro, next to any sketch that you download to it.  When the Arduino powers up or gets reset, this small bit of code will check for a new sketch to download.  If it sees something, it will accept it, shove it into program memory and then run it.  If it doesn&#8217;t, it simply skips over and runs whatever sketch has already been downloaded there.</p>
<p>The ICSP allows you to program in that bootloader.  You can also use it to program in your sketch, if you need to reclaim that 1kbyte of space.  I&#8217;ll get into that later on.</p>
<p>Okay.  Let&#8217;s get into the hardware for a moment.</p>
<p><a href="http://2.bp.blogspot.com/-gbxvXGpxJGY/US4q8noQw7I/AAAAAAAACVM/4EcaBPf7WnM/s1600/ArduinoProgrammingHost.png"><img class="aligncenter" alt="" src="http://2.bp.blogspot.com/-gbxvXGpxJGY/US4q8noQw7I/AAAAAAAACVM/4EcaBPf7WnM/s640/ArduinoProgrammingHost.png" width="616" height="640" border="0" /></a></p>
<p style="text-align: center"><i>Host Connection.</i></p>
<p style="text-align: center"><i>Showing the basic construction for the Arduino-ICSP Host.</i></p>
<div>
<p><a href="http://4.bp.blogspot.com/-wmhtPuM5Y4E/US4q8oSWMVI/AAAAAAAACVE/5d9VSEvJBTY/s1600/D15_To_ArduinoProgrammer.png"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-wmhtPuM5Y4E/US4q8oSWMVI/AAAAAAAACVE/5d9VSEvJBTY/s1600/D15_To_ArduinoProgrammer.png" border="0" /></a></p>
<p style="text-align: center"><i>Target connection.</i></p>
<p style="text-align: center"><i>Showing how to hook up the D15 to the programming header above.  These 6 lines can also be arranged in the 2&#215;3 layout standard on Arduino boards as well, or wired directly to ATMega chips for other applications.</i></p>
<p>On the Arduino, the pins are mapped as such:</p>
<ul>
<li>Digital 13: SCLK (Orange)</li>
<li>Digital 12: MISO (Yellow)</li>
<li>Digital 11: MOSI (Violet)</li>
<li>Digital 10: SS (Green) (Wired to RESET for the programmer, DB15 pin 4)</li>
</ul>
</div>
<p>The circuit to wire up is pretty easy.  On the host, there are three status LEDs that the packed-in &#8220;ArduinoISP&#8221; uses.  Heartbeat shows you it&#8217;s alive, Programming shows you when it&#8217;s programming a target device, and Error tells you when something went wrong &#8212; which is also displayed on the host computer.</p>
<p>These three output should be wired through a 220 ohm resistor, to a LED, and tied to ground.</p>
<p>One other thing that may be necessary is to disable the reset circuit on the host Arduino.  This is necessary because when the computer connects to the host Arduino-programmer, that micro will reset, and then quickly hop into the &#8220;check for new firmware over serial for itself&#8221; routine, as explained above.  This may often cause failures with the host computer connecting and communicating with the programmer properly.  If you disable the reset circuit here, it will never fall into this state, and will remain perfectly stable.  The easiest way to disable it, if you&#8217;re building it up from scratch, is to disconnect the DTR/Serial based reset trigger completely, leaving the 10k pullup resistor tied to the arduino&#8217;s reset line.  However, if you&#8217;re using a pre-constructed Arduino as the host, you can simply tie the reset line to +5v through a 120 ohm resistor.</p>
<p>Connecting the host to the target is also easy.  The target device should be hooked up as a basic arduino &#8212; power, crystal clock, etc. Be sure that even if they&#8217;re on separate power supplies, that they at least have their grounds tied together.  For ease of use, just power the target from the host completely. Past that, simply connect up pins 11, 12, 13 from the host to the target device.  This will put both on the same SPI bus.  This is how the data will get sent to the target device.  Basically, this maps out as SPI-MISO, SPI-MOSI, and SPI-CLOCK.  The only other connection you need to do is to hook up pin 10 from the host computer through to the RESET line of the target.</p>
<p><a href="http://2.bp.blogspot.com/-PccHS7Y3pE0/USuU0C6kxoI/AAAAAAAACTA/Etr9RQxqWjU/s1600/2013-01-29+21.44.56.jpg"><img class="aligncenter" alt="" src="http://2.bp.blogspot.com/-PccHS7Y3pE0/USuU0C6kxoI/AAAAAAAACTA/Etr9RQxqWjU/s640/2013-01-29+21.44.56.jpg" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>Step 1: hook up power, ground, serial IO, and reset circuitry.</i></p>
<p style="text-align: center"><i>The reset circuit is a 10k pullup resistor to +5v, and a .1uF cap to the reset line.</i></p>
<p style="text-align: center"><i>Next up will be putting a jumper to disable the reset line as explained above.</i></p>
<p style="text-align: center"><i>(Note: this picture is from a different build but shows the same first step)</i></p>
<p>The DB15 as seen here has pin 1 on the right.  The pins are basically: 1) TX,  2) RX, 4) RESET, then +5 and ground on the bottom pins.</p>
<p><a href="http://4.bp.blogspot.com/-fjVnBhiYZlg/USuVpGsBK0I/AAAAAAAACTU/wsZe01vZQBY/s1600/2013-02-12+23.42.15.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-fjVnBhiYZlg/USuVpGsBK0I/AAAAAAAACTU/wsZe01vZQBY/s640/2013-02-12+23.42.15.jpg" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>The Red LED is the power indicator.  The resistor and cap for the reset circuit are visible, as is the jumper for disabling reset on the ICSP widget.</i></p>
<p style="text-align: left">Above you can see the version of this board that I fabbed up for Interlock.  It has the FTDI header for connecting to the host computer, and used a pre-programmed DB-15 widget with the ICSP firmware on it.  I know this sounds like a chicken-and-egg thing, but once you program your first device using a standard Arduino as the host, it makes sense to program one of these, and use it to replace that board  instead. (especially when you have ~100 of them to spare. hehe)</p>
<p>The blue/white/red/white lines from the ICSP widget are equivalent to pins 10,11,12,13 on a standard host Arduino, and those go right into the cable down to the target device. Since pins 9, 8, and 7 were not all able to be broken out to the LEDs, I had to tweak the sketch a little.  8 is the LED on the ICSP widget itself, which is Yellow.  The Yellow and Green LEDs on the board (along with their current limiting resistors) are wired up to Analog 2 and Digital 3 (pwm), and these ports are changed accordingly.  8 remains as the error LED, 3 became the green Heartbeat light, and A2 became the new yellow program light.</p>
<p><a href="http://1.bp.blogspot.com/-DFLaZBRh8c4/USuVmPnRu_I/AAAAAAAACTI/iwscZJc6a2U/s1600/2013-02-12+23.40.30.jpg"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-DFLaZBRh8c4/USuVmPnRu_I/AAAAAAAACTI/iwscZJc6a2U/s640/2013-02-12+23.40.30.jpg" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>Ready to roll, with a target device plugged in!</i></p>
<p style="text-align: center"><i>Note the extra prototyping area.  This can be for a ZIF socket in the future for other devices, etc.</i></p>
<p><a href="http://2.bp.blogspot.com/-BpRtrMBwj4c/US4q8gyfdSI/AAAAAAAACVI/E2sdLVU5ky0/s1600/D15_to_D15_Programmer.png"><img class="aligncenter" alt="" src="http://2.bp.blogspot.com/-BpRtrMBwj4c/US4q8gyfdSI/AAAAAAAACVI/E2sdLVU5ky0/s640/D15_to_D15_Programmer.png" width="570" height="640" border="0" /></a></p>
<p style="text-align: center"><i>The full circuit diagram for the D15-hosted programmer, connected to a D15 target.</i></p>
<p style="text-align: center"><i>(The wire colors are the same as the above for reference.)</i></p>
<p>Once this is all wired up, we can get some firmware down onto that thing.  In our case, we have a device that isn&#8217;t directly supported by the Arduino IDE, so we need to configure that first.</p>
<p>Two things need to be installed. First is the board definition, second is the optiboot hex file. Both of these content files can be grabbed from my <a href="https://github.com/BleuLlama/GeodesicSphere/tree/master/Projects/DB15Arduino">Geodesic Sphere repository</a>.  Full instructions are also there as for specific directories on Windows and Mac for doing this installation. The &#8220;readme&#8221; there shows the text block to drop into your &#8220;Boards.txt&#8221; file, and where to find that file.  You will also need to drop the optiboot.hex file into the &#8220;optiboot&#8221; folder as well.  Once these two steps are done, you can start up the Arduino IDE and you&#8217;re ready to program.  Let&#8217;s also assume that we&#8217;ve already externally kickstarted this, and the &#8220;Arduino ISP&#8221; sketch is already on the host device, and is running properly.</p>
<p>Here&#8217;s where it gets confusing.  What? You&#8217;re not already confused?  HERE WE GO!</p>
<p>Fire up the Arduino IDE, and let&#8217;s set it for the D15 device.  From the &#8220;Tools&#8221; menu, select &#8220;Serial Port&#8221; and select your FTDI interface&#8217;s serial port name.  Next, from the &#8220;Tools&#8221; menu, select &#8220;ATmega168 at 7372800Hz (D15)&#8221; from the &#8220;Board&#8221; menu.  This will tell the IDE what our target device is.  Now, from the &#8220;Tools&#8221; menu, select &#8220;Arduino as ISP&#8221; from the &#8220;Programmer&#8221; menu. This is all one-time configuration stuff.  Now, you can plug in a target D15 widget to the end of the cable seen above, and then select &#8220;Burn Bootloader&#8221; from the &#8220;Tools&#8221; menu.  A bunch of lights should flash, and you&#8217;ll end up with the Arduino bootloader on the target widget!</p>
<p>On the above setup, it&#8217;s wired such that you can also use it to test the target.  Disconnect the FTDI cable, disconnect the ICSP widget, and move the newly programmed device into the DB15 connector on the board.  Adjust the jumper so that &#8220;RESET&#8221; is enabled.  Now plug the DB15 cable back in.  This is now the equivalent to using the DB15 as a barebones Arduino.  Load up the D15_Test sketch included in the github repository mentioned above.  Click the &#8220;upload&#8221; arrow button, wait a moment, and the LED on the target widget should be blinking.  That&#8217;s it!</p>
<p>One alternate way you can use this is to program your Arduino code onto the target widget without installing the bootloader.  These widgets use an ATMega 168, which has very constrained space, so this might be preferred for larger programs.</p>
<p>Hook it back up in the programmer configuration, with the ICSP widget on the board, the target on the cable, and the jumper set to disable RESET.</p>
<p>From the Arduino IDE, instead of just clicking the &#8220;upload&#8221; arrow button, hold down the [SHIFT] key, and the text will change from &#8220;upload&#8221; to &#8220;upload using programmer&#8221;.  It may take a moment longer, but the end result is that you will see the LED blinking on the target widget.</p>
<p>You can use this to program other Arduino-like devices too (ATMega, ATTiny, etc).  You will just need to breakout the 6 lines (MOSI, MISO, CLOCK, RESET, +5v, GROUND) to whatever pin header configuration or socket is necessary.  Then you can just select the target device from the menu as appropriate (ATmega 168, 328, 5v, 3.3v, etc) and then select &#8220;Burn Bootloader&#8221; from the menus as above, and it will put the appropriate serial bootloader onto the device for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/03/04/using-an-arduino-as-a-programmer-host/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2013 Annual Open House</title>
		<link>http://interlockroc.org/2013/02/26/2013-annual-open-house/</link>
		<comments>http://interlockroc.org/2013/02/26/2013-annual-open-house/#comments</comments>
		<pubDate>Wed, 27 Feb 2013 00:26:55 +0000</pubDate>
		<dc:creator>carl</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1256</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><img style="float: left;" alt="Open House" src="http://interlockroc.org/wp-content/uploads/2013/02/2013-FlyerSM.jpg" width="612" height="792" /></p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/02/26/2013-annual-open-house/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>new spaces galore</title>
		<link>http://interlockroc.org/2013/02/09/new-spaces-galore/</link>
		<comments>http://interlockroc.org/2013/02/09/new-spaces-galore/#comments</comments>
		<pubDate>Sat, 09 Feb 2013 15:58:05 +0000</pubDate>
		<dc:creator>deejoe</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[makerspace]]></category>
		<category><![CDATA[visitor]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1188</guid>
		<description><![CDATA[Just thought I&#8217;d take some time to catch us all up on several recent developments beyond Interlock, but somewhat local, that are relevant to our interests. Last month, I read in the local paper of the formation of the Rochester Brainery, opening early next month in the Village Gate, across the Goodman Street railyard from [...]]]></description>
				<content:encoded><![CDATA[<p>Just thought I&#8217;d take some time to catch us all up on several recent developments beyond Interlock, but somewhat local, that are relevant to our interests.</p>
<p><img alt="Rochester Brainery logo" src="http://interlockroc.org/wp-content/uploads/2013/02/brainery-third.png" /></p>
<p>Last month, I read in the <a href="http://www.democratandchronicle.com/article/20130109/HER_GETTING_AHEAD/301090001/Rochester-Brainery">local paper</a> of the formation of <a title="Rochester Brainery" href="http://rochesterbrainery.com/">the Rochester Brainery</a>, opening early next month in the Village Gate, across the Goodman Street railyard from us here at Interlock and our neighbors at <a href="http://thehungerford.com/">the Hungerford</a>.</p>
<p><img alt="Smokestack Coworking logo" src="http://interlockroc.org/wp-content/uploads/2013/02/smokestackcowork.png" /></p>
<p>We&#8217;ll always owe a debt to Dave at <a title="" href="http://www.coworkingrochester.com/">Coworking Rochester</a> for helping us get started by offering space and moral support during some of our bigger early organizational meetings, before we settled on a space of our own to rent. Still, it&#8217;s interesting to see people coming together in another coworking space in town, <a title="Smokestack Coworking" href="http://smokestackcowork.com/">Smokestack Coworking</a>, <a title="High Falls" href="http://rocwiki.org/High_Falls"> High Falls</a> area.</p>
<p>Here&#8217;s hoping they both thrive and complement each other.</p>
<p><img alt="Ithaca Generator logo" src="http://interlockroc.org/wp-content/uploads/2013/02/robotic-logo-like2.png" /></p>
<p>Last month we received a visitor from Ithaca, José, who traveled up with a couple of friends maybe to join what he thought at the time was the closest hackerspace to him. I had a great time talking with him, so it was a little bittersweet to tell him <a title="Ithaca Generator" href="http://ithacagenerator.org/">Ithaca Generator</a> has recently gotten off to what looks like a good start and might just meet his needs without the long drive.</p>
<p>I wasn&#8217;t able to make it to their <a title="Ithaca Generator Open House December 2012" href="http://ithacagenerator.org/events/open-house/">open house</a> back in December. But, I<br />
did visit with some family over the holidays who were able to go and got to see the <a href="http://www.evilmadscientist.com/2008/edge-lit-holiday-cards/">party favors</a> they made at the open house. Fun. Look like good things are in store for the hands-on, DIY hacker and maker community in Ithaca.</p>
<p><img alt="Buffalo Labs logo" src="http://interlockroc.org/wp-content/uploads/2013/02/buffalo-lab.png" /></p>
<p>We&#8217;ve also been having a friend, Joe, make the trip from Niagara Falls every so often to visit, which has had us asking how things are going at <a title="Buffalo Lab" href="http://www.buffalolab.org/blog/">Buffalo Lab</a>. Figured we&#8217;ve give them a shout out while we&#8217;re at it.</p>
<p>[placehold for eventual <strong>Rochester Makerspace</strong> logo]</p>
<p>Last, but hopefully not least, the most recent big news is a much-anticipated step for the <a href="http://www.rochestermakerspace.org/">group</a> calling themselves Rochester Makerspace. They&#8217;ve rented a space a little north of downtown, on St. Paul Street. Just Tuesday they had <a href="http://www.rochestermakerspace.org/tuesday-meeting-reminder-pizza-0205/">a get-together with pizza</a> at the new location.</p>
<p>Though the planning for this new space has been careful and deliberate, ongoing since at least this last summer, they now are moving towards ambitious goals to grow fast. I continue eagerly to await the opening of another maker-friendly space in Rochester, expected some time in March.</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/02/09/new-spaces-galore/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MacGyvrBot Introduction</title>
		<link>http://interlockroc.org/2013/02/07/macgyvrbot-introduction/</link>
		<comments>http://interlockroc.org/2013/02/07/macgyvrbot-introduction/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 03:32:13 +0000</pubDate>
		<dc:creator>MacGyvrBot</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[3d printer]]></category>
		<category><![CDATA[3D Printing]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1201</guid>
		<description><![CDATA[Hi there Hardware Hackers, My name is MacGyvrBot.  I’m an open-source 3D Printer hacked-up from a Printrbot LC kit by Skip (Printrbot LC &#124; printrbot).  I hang out at the INTERLOCK space a lot, but I’m portable and I often follow Skip around to help at Tango Product Design. Skip creates most of my gcode  instructions [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Hi there Hardware Hackers,</strong></p>
<p>My name is <b>MacGyvrBot</b>.  I’m an open-source 3D Printer hacked-up from a Printrbot LC kit by Skip (<a href="http://printrbot.com/shop/printrbot-lc/">Printrbot LC | printrbot</a>).  I hang out at the INTERLOCK space a lot, but I’m portable and I often follow Skip around to help at Tango Product Design.</p>
<p style="text-align: center"><img class="aligncenter" alt="MacGyvrBot Mug" src="http://interlockroc.org/wp-content/uploads/2013/02/MacGyvrBot-Mug-273x300.jpg" width="410" height="450" /></p>
<p>Skip creates most of my <strong>gcode  instructions</strong> on <a href="http://slic3r.org/">Slic3r &#8211; G-code generator for 3D printers</a> from <strong>stl files</strong> created on  <a href="https://tinkercad.com/">Tinkercad &#8211; Mind to design in minutes</a>.  I often publish my designs on <a href="http://www.thingiverse.com/">Thingiverse &#8211; Digital Designs for Physical Objects</a>.</p>
<p style="text-align: center"><a href="http://interlockroc.org/2013/02/07/macgyvrbot-introduction/brackets/" rel="attachment wp-att-1205"><img class="aligncenter" alt="Brackets" src="http://interlockroc.org/wp-content/uploads/2013/02/Brackets-224x300.jpg" width="336" height="450" /></a></p>
<p>My special features include <strong>H</strong><b>inged Handle</b> that guides my filament to feed vertically into my extruder.  This minimizes perturbations on my x-axis and doubles as an alarm by slamming down if my <strong>F</strong><b>ilament</b> gets snarled from the supply spooled on a <strong>Rack</strong> made from a hacked-up <a href="http://printrbot.com/shop/power-tower/">Power Tower | printrbot</a>.  I can carry my MacBook around in <strong>Brackets</strong> on my starboard side. <a href="http://www.thingiverse.com/thing:48096">MacBook Brackets by MacGyvrBot &#8211; Thingiverse</a></p>
<p>&nbsp;</p>
<p style="text-align: center"><a href="http://interlockroc.org/2013/02/07/macgyvrbot-introduction/fan-shroud/" rel="attachment wp-att-1206"><img class="aligncenter" alt="Fan Shroud" src="http://interlockroc.org/wp-content/uploads/2013/02/Fan-Shroud-259x300.jpg" width="259" height="300" /></a></p>
<p>My power cord and my usb connector along with a power connector for the MacBook can be stored in a <strong>Z</strong><b>ipper Pouch</b> below the filament rack.  I also have a handy <strong>Z</strong><b>-stop Adjustment</b> <a href="http://www.thingiverse.com/thing:48082">Z-Stop Adjuster for Printrbot LC by MacGyvrBot &#8211; Thingiverse</a> that lets Skip tweak the thickness of my first layer if the printed perimeter doesn’t look perfect.</p>
<p>On my starboard bow there is <b>70mm Muffin Fan</b> (scrounged from Skip’s junk pile)  with an <strong>A</strong><b>ir-flow </b><strong>Adjuster</strong><b> and Shroud </b>custom made for the fan <a href="http://www.thingiverse.com/thing:48104">70mm Fan Shroud by MacGyvrBot &#8211; Thingiverse</a>.  I made a similar fan for my RepRap Mendle friend from an 80mm fan <a href="http://www.thingiverse.com/thing:48088">80mm Fan Shroud by MacGyvrBot &#8211; Thingiverse</a>.  The adjustment allows Skip to conveniently adjust my bed-cooling during a print job.  The maximum airflow marginally allows my heated bed to maintain the 80 degrees C required to stick onto ABS while it allows tall single features to quickly cool layer by layer. The fan can be adjusted back to make sure the first layers stick properly.</p>
<p>&nbsp;</p>
<p style="text-align: center"><a href="http://interlockroc.org/2013/02/07/macgyvrbot-introduction/spotlight/" rel="attachment wp-att-1210"><img class="aligncenter" alt="Spotlight" src="http://interlockroc.org/wp-content/uploads/2013/02/Spotlight-300x245.jpg" width="300" height="245" /></a></p>
<p>I have an LED spotlight mounted on my starboard bow to illuminate my work-in-process.</p>
<p style="text-align: center"><a href="http://interlockroc.org/2013/02/07/macgyvrbot-introduction/handle-stand/" rel="attachment wp-att-1208"><img class="aligncenter" alt="Handle Stand" src="http://interlockroc.org/wp-content/uploads/2013/02/Handle-Stand-225x300.jpg" width="270" height="360" /></a></p>
<p>Skip’s iPad can hang on my port side during our travels.  I’ll tell you about the nifty <b>Handle Stand</b> I printed for the iPad in <b>my next blog</b>.</p>
<p>￼</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/02/07/macgyvrbot-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lighting Interface for my TRON Arcade Machine</title>
		<link>http://interlockroc.org/2013/02/02/lighting-interface-for-my-tron-arcade-machine/</link>
		<comments>http://interlockroc.org/2013/02/02/lighting-interface-for-my-tron-arcade-machine/#comments</comments>
		<pubDate>Sun, 03 Feb 2013 00:50:55 +0000</pubDate>
		<dc:creator>BleuLlama</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1183</guid>
		<description><![CDATA[As seen in a previous post, I have a Tron Mini/Cabaret arcade machine.  I used to have a Tron full-sized (FS) machine, but sold it many years ago.  One thing that the FS had over the mini was lots of extra lighting. It had artwork beyond the monitor lit with a regular light, it had [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://4.bp.blogspot.com/-jgA1Mx_FONA/UQllN2T7gfI/AAAAAAAACRc/xk0nmv3X2r4/s1600/2013-01-15+23.49.41.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-jgA1Mx_FONA/UQllN2T7gfI/AAAAAAAACRc/xk0nmv3X2r4/s400/2013-01-15+23.49.41.jpg" width="298" height="400" border="0" /></a></p>
<p>As seen in a previous post, I have a Tron Mini/Cabaret arcade machine.  I used to have a Tron full-sized (FS) machine, but sold it many years ago.  One thing that the FS had over the mini was lots of extra lighting.</p>
<p><a href="http://3.bp.blogspot.com/-wAw8kLCJag4/UQllSEPSjjI/AAAAAAAACRk/LkvM9em4lmA/s1600/tron-borne-arcade.jpg"><img class="aligncenter" alt="" src="http://3.bp.blogspot.com/-wAw8kLCJag4/UQllSEPSjjI/AAAAAAAACRk/LkvM9em4lmA/s640/tron-borne-arcade.jpg" width="356" height="640" border="0" /></a></p>
<p>It had artwork beyond the monitor lit with a regular light, it had a blacklight above the control panel to make the traces glow, and make the joystick glow.  There&#8217;s also a second blacklight below the control panel to backlight the bottom portion as well.  All of these lights are always lit, making the machine extra awesome.  On the mini, there is glow artwork, but no light to illuminate them.  Ever since the late 90s, I&#8217;ve had a plan to change this, so I bought a pack of UV LEDs, but they&#8217;ve sat dormant in my parts bin until now!</p>
<p><a href="http://1.bp.blogspot.com/-3PQ37GAflKU/UQllX60VInI/AAAAAAAACRs/6bSx7ymUibk/s1600/91b64d71ed8b3555b56265edc340dccf.jpg"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-3PQ37GAflKU/UQllX60VInI/AAAAAAAACRs/6bSx7ymUibk/s640/91b64d71ed8b3555b56265edc340dccf.jpg" width="546" height="640" border="0" /></a></p>
<p>One thing that I&#8217;d like to bring to this, is to go an extra step, and bring some ideas over from the &#8220;Environmental Discs Of Tron&#8221; (EDOT) machine.  On the EDOT, you walk inside of it&#8230; one of the few, if not the only, games where you can do this.  Around the monitor and control panel are lights, similar to the FS Tron. However, on EDOT, they&#8217;re controlled by the game.  They will flash and such when certain game events happen. I can make this happen with Tron, using an interface to the game, and a ROM hack.</p>
<p>Above all, the modifications made <b>must be reversible without any damage to the machine</b>.  I do not want to inflict any permanent damage or changes to the cabinet.  I will simply add lighting, make a ROM hack to control the lights, and mount an additional board inside the cabinet.</p>
<p><a href="http://1.bp.blogspot.com/-alUmFfgO7IU/UQllj55GK0I/AAAAAAAACR0/9DRz_vTT-7Y/s1600/2013-01-29+21.45.04.jpg"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-alUmFfgO7IU/UQllj55GK0I/AAAAAAAACR0/9DRz_vTT-7Y/s640/2013-01-29+21.45.04.jpg" width="640" height="480" border="0" /></a></p>
<p>To start with, I need a secondary micro to control the lights. I&#8217;ll use one of my stepper motor controller/Arduino devices. I made the FTDI programming and power interface seen above in about 30 minutes on the piece of strip board at Interlock this past Tuesday.  You can see the resistor/capacitor pair to handle the programmer&#8217;s reset, power, and TX/RX lines, and a red power indicator LED for the heck of it.</p>
<p><a href="http://4.bp.blogspot.com/-IZXdgylhkJM/UQlmBOhEWjI/AAAAAAAACR8/tgu_9wa8Lcw/s1600/2013-01-29+23.37.25.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-IZXdgylhkJM/UQlmBOhEWjI/AAAAAAAACR8/tgu_9wa8Lcw/s640/2013-01-29+23.37.25.jpg" width="640" height="480" border="0" /></a></p>
<p>After a bit more work, I had the 3 LED driver chips wired up, with their 8 outputs, along with the 5 pin header which I&#8217;ll be using to interface it with the arcade machine.  The pinout there is two bits of input, 5v power input, and ground.  I&#8217;ll add in SPI-like (clock+data) communications from the TRON game.  I figure that the first version will just send down a packet stating the lighting effect, but in the future I can use this to send down high scores as well, which can be sent out via serial to a host PC and post them on the net or something like that.</p>
<p>At first it didn&#8217;t power on properly, and the LED driver chips got VERY hot.  Then I remembered that the circuit diagram I was referring to while soldering this up was incorrect and had power and ground reversed to the chip.  I also had + and &#8211; wired backwards for the LEDs as well. I forgot that these driver chips sink current, rather than sourcing it.  After a little bit of emergency soldering, all of that got worked out.</p>
<p><a href="http://1.bp.blogspot.com/-BAv4m00YYho/UQlnQYvBDNI/AAAAAAAACSE/KIVSIgF94PA/s1600/2013-01-30+00.07.36.jpg"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-BAv4m00YYho/UQlnQYvBDNI/AAAAAAAACSE/KIVSIgF94PA/s640/2013-01-30+00.07.36.jpg" width="640" height="480" border="0" /></a></p>
<p style="text-align: center"><i>I&#8217;ve since cleaned up the wiring a bit, adding some insulation.</i></p>
<p>I decided to wire up the LEDs such that the current limiting resistor was wired up with the LEDs, rather than on the main board.  I&#8217;m glad I did this, as the resistance I picked (220 ohms) was way too high.</p>
<p><a href="http://4.bp.blogspot.com/-YhLD_7PXFZI/UQlnzncUnXI/AAAAAAAACSU/RoJJSDb4td4/s1600/2013-01-30+01.39.00.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-YhLD_7PXFZI/UQlnzncUnXI/AAAAAAAACSU/RoJJSDb4td4/s640/2013-01-30+01.39.00.jpg" width="640" height="478" border="0" /></a></p>
<p style="text-align: center"><i>Enhanced image. It sadly doesn&#8217;t look quite this intense in person.</i></p>
<p><a href="http://1.bp.blogspot.com/-oE-ZamW4Z-Y/UQloCRkoH5I/AAAAAAAACSc/pEc8tMDBtXE/s1600/2013-01-30+01.40.49.jpg"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-oE-ZamW4Z-Y/UQloCRkoH5I/AAAAAAAACSc/pEc8tMDBtXE/s640/2013-01-30+01.40.49.jpg" width="640" height="480" border="0" /></a></p>
<p style="text-align: center"><i>Experimenting with how it will look to have LEDs inside of the joystick to illuminate it.</i></p>
<p> The output from these LEDs was much dimmer than I was hoping for. I will be experimenting with lower-valued resistors, as well as possibly doubling-up LEDs for lighting the various artwork elements.  I also need to figure out how to mount the LEDs without damaging the machine at all.</p>
<p>Next up is the ROM hack to talk with this!</p>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/02/02/lighting-interface-for-my-tron-arcade-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Addressable LED Strands</title>
		<link>http://interlockroc.org/2013/01/25/addressable-led-strands/</link>
		<comments>http://interlockroc.org/2013/01/25/addressable-led-strands/#comments</comments>
		<pubDate>Fri, 25 Jan 2013 21:44:31 +0000</pubDate>
		<dc:creator>BleuLlama</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://interlockroc.org/?p=1178</guid>
		<description><![CDATA[I&#8217;m in the process of constructing/setting up my office in the house, and for lighting, I have decided that I want to use xmas light-style lighting.  Many years ago, I used to light my room with multicolored incandescent lights. I loved the warm indirect glow, and smooth light without a single light source.  This time, I&#8217;m going [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://3.bp.blogspot.com/-_5qem2vNfqs/UQABrjat5lI/AAAAAAAACMk/ZCwYvbAP5IY/s1600/2013-01-22+23.12.55.jpg"><img class="aligncenter" alt="" src="http://3.bp.blogspot.com/-_5qem2vNfqs/UQABrjat5lI/AAAAAAAACMk/ZCwYvbAP5IY/s640/2013-01-22+23.12.55.jpg" width="640" height="478" border="0" /></a></p>
<p>I&#8217;m in the process of constructing/setting up my office in the house, and for lighting, I have decided that I want to use xmas light-style lighting.  Many years ago, I used to light my room with multicolored incandescent lights. I loved the warm indirect glow, and smooth light without a single light source.  This time, I&#8217;m going to take it a step further.</p>
<p>While there&#8217;s nothing about this project yet that is really innovative over what others have done, it is the first step to getting the office lighting done.  The real fun will come into play once I&#8217;m able to hang this up, and start programming effects, and tying those effects in to physical or time-based events.</p>
<p>A couple years back I picked up a strand of addressable LED lights, similar to <a href="http://adafruit.com/products/322">this one, available at adafruit.com</a>.  I got a strand of 50 lights, blew out one of them while being stupid, and used a few of them in Jasper&#8217;s Toy Box (posts to come about that eventually), so I&#8217;m left with 42 lights.  A nice number.</p>
<p>In any event, the plan is to hang them up around the upper perimeter of the room, and it will give a nice comfortable glow to illuminate the room.  I can also extend it by doing lighting effects with the color.  For example, in the evening I can have all of them dim blue, and randomly twinkle one to white, to simulate a star in the sky.  I could also tie them in to an automation system to glow a particular corner of the room red or yellow when i have email from a specific person.  I could also adjust their color based on the content of my monitor, or the light outisde, etc.</p>
<p>The basic design for the control circuitry is that there will be an <a href="http://arduino.cc/">Arduino-based</a> AVR micro (actually <a href="http://geodesicsphere.blogspot.com/2012/11/reverse-engineering-stepper-motor_5.html">one of the D-15 servo controllers I&#8217;ve appropriated</a>), which is perfect, since the strands only need two lines to control them.  The host computer will send down codes to address the LEDs (set all to color X, set led Y to color X, etc) and this will pass on the content to the strand, and twiddle the data lines and all of that fun stuff.  I had considered putting more &#8220;smarts&#8221; into the micro, but the amount of space in there would severely limit the kind of content I could &#8220;display&#8221;, so I decided to put all of the grunt work back on the host computer.</p>
<p><a href="http://4.bp.blogspot.com/-uM2j8G4bmkI/UQAByR5gu9I/AAAAAAAACMs/VDXCsItz4Y8/s1600/2013-01-22+20.57.51.jpg"><img class="aligncenter" alt="" src="http://4.bp.blogspot.com/-uM2j8G4bmkI/UQAByR5gu9I/AAAAAAAACMs/VDXCsItz4Y8/s640/2013-01-22+20.57.51.jpg" width="640" height="478" border="0" /></a></p>
<p>To power it, I needed to get a 5 volt power supply. I snagged a power brick from an old external drive case, as well as a standard PC power connector, from a failed power supply, and spliced the two of them together.</p>
<p><a href="http://3.bp.blogspot.com/-0Lk4XPmclbQ/UQAB5hIWmkI/AAAAAAAACM0/kjh75lnZnPI/s1600/2013-01-22+21.08.04.jpg"><img class="aligncenter" alt="" src="http://3.bp.blogspot.com/-0Lk4XPmclbQ/UQAB5hIWmkI/AAAAAAAACM0/kjh75lnZnPI/s640/2013-01-22+21.08.04.jpg" width="640" height="454" border="0" /></a></p>
<p>Copious, yet appropriate amounts of heat shrink tubing and splicing some wires yielded a nice power supply.</p>
<p><a href="http://2.bp.blogspot.com/-qRuJm5PwJS8/UQACEt5W8LI/AAAAAAAACM8/DRBHdWGILGk/s1600/2013-01-22+22.17.59.jpg"><img class="aligncenter" alt="" src="http://2.bp.blogspot.com/-qRuJm5PwJS8/UQACEt5W8LI/AAAAAAAACM8/DRBHdWGILGk/s640/2013-01-22+22.17.59.jpg" width="640" height="478" border="0" /></a></p>
<p>Next, I built an interface board to tie it all together.  The ports on the board are (left to right) &#8211; 6 pin FTDI interface for serial IO, 2 pin jumper (power the D15 from the power supply rather than FTDI source), 3 pin power, 4 pin light strand connector.  You can also see in this picture, the process of crimping the terminals for the molex connector on the LED strand&#8217;s wires.</p>
<p>I kept the layout and pinout of the FTDI the same as I used for <a href="http://geodesicsphere.blogspot.com/2012/12/prototype-elias-serial-network-node.html">my serial node experiment</a>.  This will help me plug that connector in correctly.  I still need to add visual cues (colored sharpie markings) to help me align the pins correctly.  The power connector has GND on pins 1 and 3, and +5V on pin 2.  Keeping it symmetrical will help me always plug it in correctly, reducing the chance that I will blow it all up.  The 4 pin connector is the same pinout as the wiring of the LEDs.  GND, Data, Clock, +5.</p>
<p><a href="http://2.bp.blogspot.com/-sn6v9P3L0Ck/UQDMlTmqFZI/AAAAAAAACOk/auhjvIBC_9w/s1600/2013-01-24+00.12.35.jpg"><img class="aligncenter" alt="" src="http://2.bp.blogspot.com/-sn6v9P3L0Ck/UQDMlTmqFZI/AAAAAAAACOk/auhjvIBC_9w/s640/2013-01-24+00.12.35.jpg" width="640" height="478" border="0" /></a></p>
<p>The jumper on the board (dis)connects the power header from the D15 and FTDI portion.  If I make standalone firmware for it, I can power everything from the power supply, if need be. The tiny green LED on the board just lights when the D15 has power.  A nice indicator in case everything else is not functioning.</p>
<p>The protocol I used for this is very simple.  There&#8217;s a command character sent through serial, then the data for that command.  If the firmware is expecting a command character but gets something it doesn&#8217;t understand, it just keeps checking the serial input for a command it knows.  The protocol is as follows:</p>
<div>
<p style="text-align: center"><b>p&lt;index of LED&gt;&lt;red value&gt;&lt;green value&gt;&lt;blue value&gt;</b></p>
</div>
<p>Five bytes.  It sets the specified LED (0..42 in this case) with the specified RGB value (0..255 each).  Note that this is not an ascii string, it is data.  So no matter what, it is 5 bytes to change a single pixel.</p>
<div>
<p style="text-align: center"><b>f&lt;red value&gt;&lt;green value&gt;&lt;blue value&gt;</b></p>
</div>
<div>
<p>Force all of the lights to the specified color.  This is handy for clearing everything to black, or flashing/fading effects.</p>
</div>
<div>
<p><a href="https://github.com/BleuLlama/GeodesicSphere/tree/master/Projects/AddressableLEDStrip">Here&#8217;s the Arduino firmware used to handle all of this</a>:  (Note: it requires that the strand&#8217;s library be installed.)</p>
<p><a href="http://1.bp.blogspot.com/-hvlLzR8S3ew/UQAGvMGSVII/AAAAAAAACNc/H5LFUVdgCZ0/s1600/2013-01-23++1.27.57+AM.png"><img class="aligncenter" alt="" src="http://1.bp.blogspot.com/-hvlLzR8S3ew/UQAGvMGSVII/AAAAAAAACNc/H5LFUVdgCZ0/s400/2013-01-23++1.27.57+AM.png" width="400" height="358" border="0" /></a></p>
</div>
<div>
<p>For now, that&#8217;s it.  I made<a href="https://github.com/BleuLlama/GeodesicSphere/tree/master/Projects/AddressableLEDStrip"> a simple interface on the desktop side in Processing</a>, adapted from <a href="http://geodesicsphere.blogspot.com/2012/10/a-computer-controllable-pixel.html">my previous controllable pixel software</a>, to let me click and change the color of an LED. I also added some key commands to do simple effects with the lights. (all red/green/blue. flash, etc)</p>
</div>
<div>
<p><a href="http://3.bp.blogspot.com/-BduKt0WqcQ4/UQAI-6l9X_I/AAAAAAAACN8/47UV5TsPbA4/s1600/2013-01-23+01.32.06+HDR.jpg"><img class="aligncenter" alt="" src="http://3.bp.blogspot.com/-BduKt0WqcQ4/UQAI-6l9X_I/AAAAAAAACN8/47UV5TsPbA4/s640/2013-01-23+01.32.06+HDR.jpg" width="640" height="478" border="0" /></a></p>
<div>
<p>Eventually, I will write better desktop software which will use the LEDs for indication of events, as well as f.lux style color effects throughout the day, audio/visual synchronization to media being played, and other effects as well as time goes on</p>
</div>
<div>
<p>NOTE: All of the source/projects for this are <a href="https://github.com/BleuLlama/GeodesicSphere/tree/master/Projects/AddressableLEDStrip">available on github</a>.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://interlockroc.org/2013/01/25/addressable-led-strands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
