<?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>[protofusion]</title> <atom:link href="http://protofusion.org/wordpress/feed/" rel="self" type="application/rss+xml" /><link>http://protofusion.org/wordpress</link> <description>Generally Interesting</description> <lastBuildDate>Fri, 03 Feb 2012 21:39:24 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Arduino Leonardo &#8211; Interrupts</title><link>http://protofusion.org/wordpress/2012/01/arduino-leonardo-interrupts/</link> <comments>http://protofusion.org/wordpress/2012/01/arduino-leonardo-interrupts/#comments</comments> <pubDate>Mon, 30 Jan 2012 04:15:40 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Arduino]]></category> <category><![CDATA[Projects]]></category> <category><![CDATA[ATMega32u4]]></category> <category><![CDATA[Leonardo]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1154</guid> <description><![CDATA[As of Arduino 1.0, interrupts are not supported on the Arduino Leonardo. I&#8217;m working on a project using the atmega32u4 ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2012/01/m32u4.jpg" rel="lightbox[1154]"><img
class="alignnone size-large wp-image-1158" title="ATMega32u4" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2012/01/m32u4-500x346.jpg" alt="" width="500" height="346" /></a></p><p>As of Arduino 1.0, interrupts are not supported on the Arduino Leonardo. I&#8217;m working on a project using the atmega32u4 with the Arduino IDE which needs interrupt support for both software serial and frequency counting, so I investigated ways to add interrupt support for this device. I began by checking out the Leonardo pins definition file to see what was missing for interrupt support. Long story short, I ended up copying the macros for interrupt bitmasks/registers from the Teensyduino project, which has a mega32u4 target board. In addition to modifying the pin definition header file, I also needed to modify WInterrupts.c&#8212;swapping out the default AttachInterrupt() and DetachInterrupt() funcitons with those from the Teensyduino project.</p><p><span
id="more-1154"></span></p><p>I have included links below to the pin definition header file and interrupt functions in my project repository. Place these files in the hardware/arduino/core and hardware/arduino/variants/leonardo folders. Note that my current revision of these files <strong>only</strong> support the m32u4, interrupt support for other devices is broken. You can throw some #ifdefs in there and include the existing code to support devices other than the m32u4, I will hopefully get around to adding this in the coming weeks.</p><p>I also want to get SoftwareSerial up and running on the m32u4; I&#8217;ll be looking into the Teensyduino variant of NewSoftSerial this week, check back for more updates in the coming days.</p><h3>Downloads</h3><ul><li><a
href="http://protofusion.org/hg/supermileage/raw-file/53311f25d424/Arduino/Mods/WInterrupts.c" target="_blank">WInterrupts.c</a></li><li><a
href="http://protofusion.org/hg/supermileage/raw-file/53311f25d424/Arduino/Mods/pins_arduino.h" target="_blank">pins_arduino.h</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2012/01/arduino-leonardo-interrupts/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>ZonCoffee v3 PCB</title><link>http://protofusion.org/wordpress/2011/11/zoncoffee-v3-pcb/</link> <comments>http://protofusion.org/wordpress/2011/11/zoncoffee-v3-pcb/#comments</comments> <pubDate>Wed, 09 Nov 2011 16:46:35 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Espresso Mods]]></category> <category><![CDATA[EC155]]></category> <category><![CDATA[Espresso]]></category> <category><![CDATA[PID]]></category> <category><![CDATA[ZonCoffee]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1118</guid> <description><![CDATA[The first prototype ZonCoffee v3 boards have arrived and are nearly up and running. I&#8217;m currently porting the code over ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-sideview.jpg" rel="lightbox[1118]"><img
class="alignnone size-large wp-image-1123" title="ZonCoffee v3" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-sideview-500x251.jpg" alt="" width="500" height="251" /></a></p><p>The first prototype ZonCoffee v3 boards have arrived and are nearly up and running. I&#8217;m currently porting the code over to Arduino 1.0, as this board uses the Arduino Leonardo bootloader. Read on past the break for more info on the new board.</p><p><span
id="more-1118"></span></p><h3>v3 Features:</h3><ul><li>6-Pin AUX port allows use of parallel LCD or custom expansion</li><li>Supports SparkFun serial LCD</li><li>USB port emulates virtual serial port for logging and loading new firmware</li><li>All ports broken out to screw terminals</li><li>Power via USB or external independent power source</li><li>MAX6675-compatible footprint (also supports Maxim-IC&#8217;s newer chips)</li><li>6-Pin ICSP header for flashing custom bootloaders</li><li>Main power and USB power LED indicators</li></ul><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-bottomview.jpg" rel="lightbox[1118]"><img
class="alignnone size-large wp-image-1135" title="ZonCoffee v3 - Bottom of PCB" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-bottomview-500x333.jpg" alt="" width="500" height="333" /></a></p><p>This PCB includes connectors for external power, a SparkFun serial LCD, a pusbutton encoder, a thermocouple probe, a solid-state relay, and an auxiliary port. The auxiliary port pins are all connected to the ADC, allowing additional analog or digital IO for expansion. Note that the logo is silkscreened backwards, which is the only (thankfully superficial!) problem I have encountered with my board so far.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-topview.jpg" rel="lightbox[1118]"><img
class="alignnone size-large wp-image-1136" title="ZonCoffee v3 - Top of PCB" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-topview-500x333.jpg" alt="" width="500" height="333" /></a></p><p>The PCB is populated with an ATMEGA32u4, an 8-bit Automotive-grade microcontroller from Atmel that features a USB interface as well as USART and SPI. This board takes advantage of USART for the SparkFun serial LCD, SPI for interfacing with the MAX6675 thermocouple interface chip, and USB for logging and updating firmware with a computer.  All parts on the PCB aside from headers are surface-mount, allowing a very compact design. For permanent installation, screw terminals can be depopulated and wires soldered directly to the board (except for the thermocouple leads, which cannot be soldered).</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-testsetup.jpg" rel="lightbox[1118]"><img
class="alignnone size-large wp-image-1137" title="ZonCoffee v3 PCB Test Setup" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/11/zc-testsetup-500x343.jpg" alt="" width="500" height="343" /></a></p><p>I have fully populated and tested two of these PCBs so far, and everything is completely functional. There are still a few software quirks from porting my original code to Arduino 1.0, but the boards themselves are fully functional. After a bit of tweaking with the encoder library and creating a drop-in library for attaching a HD44780 LCD to the auxiliary port, this design should be completely usable. I have one board up and running on my espresso machine for both use and development, and I also have a board attached to my roaster (modified Poppery I) that I will be using to experiment with ramping the setpoint for temperature-controlled coffee roasting.</p><h3>Want to get one?</h3><p>I&#8217;m planning on making a small beta run of boards in the coming months. Drop me an <a
href="mailto:ethanzonca@ethanzonca.com">email</a> or a comment below if you&#8217;re interested. I haven&#8217;t priced the beta boards out yet, but they will be available at a reduced price as long as you&#8217;re willing to provide a bit of feedback on the system.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/11/zoncoffee-v3-pcb/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Repairing a Sigma 24-70 EX Lens</title><link>http://protofusion.org/wordpress/2011/10/repairing-sigma-24-70-ex-lens/</link> <comments>http://protofusion.org/wordpress/2011/10/repairing-sigma-24-70-ex-lens/#comments</comments> <pubDate>Sun, 09 Oct 2011 19:48:57 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Projects]]></category> <category><![CDATA[Photography]]></category> <category><![CDATA[Repair]]></category> <category><![CDATA[Technology]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1080</guid> <description><![CDATA[I acquired a free Sigma 24-70 f/2.8 lens that had a few issues&#8211;namely, autofocus was broken and the zoom was ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/sigma24-70-f18.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1087" title="Sigma 24-70 f/1.8" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/sigma24-70-f18-500x587.jpg" alt="" width="500" height="587" /></a></p><p>I acquired a free Sigma 24-70 f/2.8 lens that had a few issues&#8211;namely, autofocus was broken and the zoom was incredibly hard to turn. After using the lens in full manual for a while, I determined that I would attempt to repair it.</p><p><span
id="more-1080"></span><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/opening-lens.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1086" title="Sigma 24-70 f/1.8 with top assembly removed" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/opening-lens-500x333.jpg" alt="" width="500" height="333" /></a></p><p>I first did a quick disassembly of the mount, exposing the autofocus motor and the top of the lens components. It was clear that the metal bracket on the AF/MF switch was broken, one of the metal arms that push down the gear was dangling from the bracket. I removed the bracket and mixed up some J-B weld to glue the pieces back together.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/bad-spring-placement.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1083" title="Improper spring placement" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/bad-spring-placement-500x333.jpg" alt="" width="500" height="333" /></a></p><p>After some googling, I determined that the lens must have already been disassembled for repair (made apparent by scuff marks on screws) as the spring that engages AF was on the wrong side of the gear. This resulted in the bracket pushing down on the gear rather than pulling it up against the spring&#8217;s force, causing the bracket to break.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/glued-bracket.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1085" title="Repaired AF/MF switch bracket" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/glued-bracket-500x333.jpg" alt="" width="500" height="333" /></a></p><p>After gluing up the bracket, I continued disassembly to see if I could do anything about the sticky zoom. Taking the remainder of the lens apart was tough, as Sigma lenses have soldered-on ribbon cables instead of nice detachable ribbon cables like all Canon lenses have. In addition, you must remove a single setscrew to take off the zoom ring which is hidden under the zoom ring&#8217;s rubber grip.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/zoom-ring-removed.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1089" title="Zoom ring removed" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/zoom-ring-removed-500x333.jpg" alt="" width="500" height="333" /></a></p><p>When removing the bottom of the lens, I pulled a bit too hard and ripped the aperture drive motor ribbon cable&#8211;I didn&#8217;t even notice I had broken it until I looked inside the disassembled lens body. Be incredibly careful when pulling apart separate pieces&#8211;these ribbon cables are very fragile! I left the aperture cable broken for the time being, as it will take a fairly long amount of time to solder back up. <em>Note: be very careful when removing focus/zoom rings from your lens, zoom/focus encoder brushes are also very fragile.</em></p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/10/zoomportion.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1109" title="Disassembled Lens–Zoom Portion" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/10/zoomportion-500x562.jpg" alt="" width="500" height="562" /></a></p><p>When I reached the zoom portion, I found several small plastic bushings which were apparently crushed. The previous owner of the lens must have dropped it, crushing the bushings and skewing the alignment of the zoom. Several screws for these bushings were loose, and tightening them did make the zoom a bit easier to use. However, I could not do any more to fix the stuck zoom issue.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/broken-encoder-brushes.jpg" rel="lightbox[1080]"><img
class="alignnone size-large wp-image-1084" title="Broken focus encoder brushes" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/09/broken-encoder-brushes-500x333.jpg" alt="" width="500" height="333" /></a></p><p>I also noticed that the encoder brushes for the focus assembly were bent and broken. I attempted to bend these brushes back in, but I was largely unsuccessful. I couldn&#8217;t find any replacement brushes online that matched the brushes in this lens, so I left them as-is. Interestingly enough, AF worked fine without the encoder brushes.</p><p>After waiting for the J-B weld to cure, I reassembled the lens with the spring in the right location and tested it out. AF worked properly, and the zoom was a bit easier to use. Other than the aperture being stuck at F/2.8, this was a very usable lens.</p><p>I have since repaired the broken aperture cable, and I&#8217;ll throw together a post on that procedure in the near future.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/10/repairing-sigma-24-70-ex-lens/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>DIY Cheap Reservoir Irrigation</title><link>http://protofusion.org/wordpress/2011/09/diy-cheap-reservoir-irrigation/</link> <comments>http://protofusion.org/wordpress/2011/09/diy-cheap-reservoir-irrigation/#comments</comments> <pubDate>Mon, 26 Sep 2011 00:20:07 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Projects]]></category> <category><![CDATA[DIY]]></category> <category><![CDATA[Growing]]></category> <category><![CDATA[Irrigation]]></category> <category><![CDATA[Plants]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1016</guid> <description><![CDATA[When you&#8217;re trying to grow a bunch of plants in a field where a water source is lacking, things can ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Blueberry-Bush.jpg" rel="lightbox[1016]"><img
title="Blueberry bush" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Blueberry-Bush-500x375.jpg" alt="" width="500" height="375" /></a></p><p>When you&#8217;re trying to grow a bunch of plants in a field where a water source is lacking, things can be a bit tough. Hauling water on-site is a very arduous process, even with a tractor/trailer full of buckets. After hauling 5-gallon buckets to water blueberry bushes for months, we began to work on a better reservoir irrigation system that was cheap and easy to automate with expandable capacity.</p><p><span
id="more-1016"></span></p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/55-Gallon-Barrel.jpg" rel="lightbox[1016]"><img
class="alignnone size-large wp-image-1019" title="55-Gallon barrel with a hole in the top (currently closed with foam) for bilge pump" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/55-Gallon-Barrel-500x375.jpg" alt="" width="500" height="375" /></a></p><p>To store water, we decided to use a 55-gallon drum. The drum provides enough water for just over a week of watering every other day. We plan on adding another barrel with a siphon hose connecting it to the main barrel for additional capacity.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Bilge-Pump.jpg" rel="lightbox[1016]"><img
title="Bilge pump. Creates enough pressure to get the job done in most situations." src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Bilge-Pump-500x375.jpg" alt="" width="500" height="375" /></a></p><p>After deciding that a gravity-fed system would be inadequate, we purchased a very inexpensive 1250 GPH bilge pump. As cheap as it is, this pump provides enough pressure to water an entire row of blueberry bushes. If you are planning on a more extensive system, you likely need a more powerful pump (more about this later).</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Bilge-Adapter.jpg" rel="lightbox[1016]"><img
class="alignnone size-large wp-image-1020" title="Adapter from bilge pump tubing to standard garden hose. Allows use of standard hose and sprayers, if needed." src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Bilge-Adapter-500x375.jpg" alt="" width="500" height="375" /></a></p><p>We added garden-hose threaded adapters to both the hose of our bilge pump and the intake of our watering line. Having a garden hose adapter for the bilge pump line allows us to use garden hose and sprayer nozzles to water other plants, if needed. Note that an in-line anti-siphon valve is necessary to prevent water from constantly flowing out&#8211;we eventually added one after these photos were taken.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Spray-Nozzle.jpg" rel="lightbox[1016]"><img
title="Adjustable spray nozzle, works great with low-pressure lines and is fairly cheap." src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Spray-Nozzle-500x375.jpg" alt="" width="500" height="375" /></a></p><p>We used standard black irrigation tubing and spray nozzles for our watering lines. This hose is incredibly cheap and the spray nozzles are about $.50 apiece. These nozzles are adjustable, allowing them to work with the very low water pressure that the bilge pump provides. Our watering hoses are laid on the ground, however lines can be suspended over plants on stakes if necessary (this help keeps dirt and other particles out of the nozzles).</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Hose-Adapter.jpg" rel="lightbox[1016]"><img
class="alignnone size-large wp-image-1023" title="Adapter from irrigation tubing to garden hose, female." src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Hose-Adapter-500x375.jpg" alt="" width="500" height="375" /></a></p><p>We terminated the end of our watering line with a garden hose connector as well, mating nicely with the connector on the bilge pump hose.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Rows-of-Bushes.jpg" rel="lightbox[1016]"><img
class="alignnone size-large wp-image-1024" title="Row of blueberry bushes with irrigation hose and nozzles" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Rows-of-Bushes-500x375.jpg" alt="" width="500" height="375" /></a></p><p>We laid our tubing along the ground without stakes initially, however we ended up staking down the hose between every nozzle to keep it from moving around.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Rows-of-Bushes-Side.jpg" rel="lightbox[1016]"><img
class="alignnone size-large wp-image-1025" title="Rows of blueberry bushes and irrigation setup" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/Rows-of-Bushes-Side-500x375.jpg" alt="" width="500" height="375" /></a></p><p>The setup itself is not incredibly unsightly and does a great job of watering plants in locations that don&#8217;t have a source of water close by. If the barrel is topped up every so often, watering is quick and easy.</p><h3>Future Plans</h3><p>In the near future (likely next season), I plan on adding automation to the system with a relay, microcontroller, and RTC chip. I am developing this system while at school for my small-scale indoor automated watering solution (documentation to come soon).</p><p>In addition, we have purchased an RV pressure-regulated water pump with much greater capacity, allowing us to water more plants and some of our fruit trees next season. If you need greater capacity for your watering system, you can buy one of these pumps for about $50 on eBay. If you need greater water capacity, you can add additional 55-gallon barrels with siphon hoses between them. This is an easy way to increase capacity without making any changes to your existing system.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/09/diy-cheap-reservoir-irrigation/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MNL: Networked LED Lighting</title><link>http://protofusion.org/wordpress/2011/08/mnl-networked-led-lighting/</link> <comments>http://protofusion.org/wordpress/2011/08/mnl-networked-led-lighting/#comments</comments> <pubDate>Mon, 29 Aug 2011 00:13:52 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[AVR]]></category> <category><![CDATA[MNL]]></category> <category><![CDATA[ATTiny]]></category> <category><![CDATA[Lighting]]></category> <category><![CDATA[RGB]]></category> <category><![CDATA[RS485]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1037</guid> <description><![CDATA[MNL is a multi-node high-power RGB lighting system. It consists of a controller (PC or embedded system) and multiple light ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_17-01-56.jpg" rel="lightbox[1037]"><img
class="alignnone size-large wp-image-1060" title="MNL Node and 10W RGB LED" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_17-01-56-500x276.jpg" alt="" width="500" height="276" /></a></p><p>MNL is a multi-node high-power RGB lighting system. It consists of a controller (PC or embedded system) and multiple light nodes networked with RS485. The first prototype nodes are up and running, and we will be developing the second revision of prototypes in the coming months. Read on past the break for more information.</p><p><span
id="more-1037"></span></p><h3></h3><h2>Node Hardware</h2><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_16-33-18.jpg" rel="lightbox[1037]"><img
class="alignnone size-large wp-image-1058" title="MNL Light Controller Node" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_16-33-18-500x292.jpg" alt="" width="500" height="292" /></a></p><p>The node board is a small PCB with two RJ-45 ports and a power terminal strip, along with an ICSP header for flashing firmware. The nodes are designed for daisy-chaining both data and power.</p><p>Current features:</p><ul><li>RS485 communication</li><li>Supports LEDs of up to 1.2A per channel</li><li>Upgradeable firmware for additional features</li><li>TBD: Firmware updates over RS485</li><li>Multiple fade types, dwell modes, etc.</li><li>Hardware-agnostic network supports different types of nodes (e.g., strobe, motor driver, etc)</li></ul><h3></h3><h2>LED Circuit</h2><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_16-33-00.jpg" rel="lightbox[1037]"><img
class="alignnone size-large wp-image-1057" title="10W RGB LED" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_16-33-00-500x279.jpg" alt="" width="500" height="279" /></a></p><p>The LED used for prototyping is a 10W RGB LED from DealExtreme, which provides a generous amount of light with low cost per lumen. Although the heatsink is a bit small, forced-air cooling keeps things at a reasonable temperature.  The PCB includes a fan output which is PWMed according to the average instantaneous luminosity of the node. Forced-air cooling could be helpful for installation in compromising environments, such as can lighting fixtures.</p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_16-34-15.jpg" rel="lightbox[1037]"><img
class="alignnone size-large wp-image-1059" title="Current-Limiting Resistors" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/2011-08-28_16-34-15-500x302.jpg" alt="" width="500" height="302" /></a></p><p>The current design incorporates 3 current-limiting resistors for each channel of the LED. Although this is less efficient than current-regulated supplies, it allows flexibility in LED choice without requiring extensive PCB modifications.</p><h3></h3><h2>Prototype Software</h2><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/Test-Controller-App.png" rel="lightbox[1037]"><img
class="alignnone size-large wp-image-1052" title="MNL Test Application (Processing/Wiring)" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/Test-Controller-App-500x414.png" alt="" width="500" height="414" /></a></p><p>I developed a quick Processing sketch for testing purposes. It creates a FFT of the stereo mix and uses the lowest three bins to determine R/G/B brightness. If the largest of the three values is over the threshold specified by the slider, then an update command is sent to the node. The processing sketch also has an Open Sound Control (OSC) interface, allowing easy control from the TouchOSC app for iPhone or Android over WIFI as well as any software package that supports OSC.</p><p>This project is still under heavy development, and is still in the prototype phase. We are adding additional features to the software and hardware, so expect significant updates in the coming months.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/08/mnl-networked-led-lighting/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>PCB Desktop Background</title><link>http://protofusion.org/wordpress/2011/08/pcb-backgrounds/</link> <comments>http://protofusion.org/wordpress/2011/08/pcb-backgrounds/#comments</comments> <pubDate>Wed, 03 Aug 2011 00:42:51 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Graphics]]></category> <category><![CDATA[Arduino]]></category> <category><![CDATA[LED]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1043</guid> <description><![CDATA[Want a nice hearty printed circuit board desktop background? Well, here you go (right-click, save as). The PCB is an ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/IMG_3516.jpg" rel="lightbox[1043]"><img
class="size-large wp-image-1044 alignnone" title="PCB Background" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/IMG_3516-500x375.jpg" alt="" width="500" height="375" /></a></p><p>Want a nice hearty printed circuit board desktop background? Well, <a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/08/IMG_3516.jpg" rel="lightbox[1043]">here you go</a> (right-click, save as). The PCB is an older Arduino NG board placed on top of one of our 10W MNLC lighting nodes (still under development, more information to come).</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/08/pcb-backgrounds/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>tinyRGB &#8211; an i2c LED driver</title><link>http://protofusion.org/wordpress/2011/06/tinyrgb-an-i2c-led-driver/</link> <comments>http://protofusion.org/wordpress/2011/06/tinyrgb-an-i2c-led-driver/#comments</comments> <pubDate>Wed, 22 Jun 2011 23:33:34 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[AVR]]></category> <category><![CDATA[BlinkM]]></category> <category><![CDATA[LED]]></category> <category><![CDATA[RGB]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=964</guid> <description><![CDATA[tinyRGB is a minimalist blinkM-compatible high-current i2c RGB LED controller consisting of only 10 basic components. The board is small ]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/05/tinyRGB-NPN.png" rel="lightbox[964]"><br
/> </a><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/tinyRGB-bottom1.jpg" rel="lightbox[964]"><img
class="alignnone size-large wp-image-999" title="tinyRGB (bottom)" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/tinyRGB-bottom1-500x375.jpg" alt="" width="500" height="375" /></a></p><p>tinyRGB is a minimalist blinkM-compatible high-current i2c RGB LED controller consisting of only 10 basic components. The board is small and inexpensive, can be fabricated for as little as $1/board, and can easily be assembled by hand with a total component cost of around $3.</p><p><span
id="more-964"></span><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/05/tinyRGB-NPN.png" rel="lightbox[964]"><img
class="alignnone size-full wp-image-965" title="tinyRGB Low-side i2c led driver" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/05/tinyRGB-NPN.png" alt="" width="409" height="499" /></a></p><p>tinyRGB runs the cyz_rgb firmware, providing a simple interface that is completely compatible with blinkM commands.</p><p>This board is designed to run on 5v, which is also exposed on the LED output header. However, this board can easily be used to drive LEDs at higher voltages by providing a higher voltage to the common cathode of the LED.</p><h3>Parts:</h3><ul><li>PCB [$1]</li><li>Pin Headers (if desired)</li><li>3x 2N6427 1.2A / 40V NPN Transistor [$.04, <a
href="http://www.mouser.com/Search/ProductDetail.aspx?R=2N6427_Qvirtualkey51210000virtualkey512-2N6427_Q" target="_blank">mouser</a>]</li><li>ATTINY85 PDIP [$1.82, <a
href="http://www.mouser.com/ProductDetail/Atmel/ATtiny85-20PU/?qs=sGAEpiMZZMvu0Nwh4cA1wUVlLgw9m2DP8LpB74D%2fcic%3d" target="_blank">mouser</a>]</li><li>.1uF 0805 decoupling capacitor (optional) [$.06, <a
href="http://www.mouser.com/ProductDetail/TDK/C2012Y5V1H104Z-060/?qs=sGAEpiMZZMsh%252b1woXyUXj31jWbx3TwxGQKizzdEtIfU%3d" target="_blank">mouser</a>]</li><li>3x 0805 Surface-mount 1k resistors [$.04, <a
href="http://www.mouser.com/ProductDetail/Xicon/292-511K-RC/?qs=sGAEpiMZZMvdGkrng054twBcVY5WwHH3NxfuCETL6jc%3d">mouser</a>] (yes, you really can solder them with a fat wedge tip!)</li><li>3x current-limiting resistors matched to your LEDs</li></ul><p>Total cost: ~$3, plus the cost of your LED and current-limiting resistors.</p><p>For firmware installation and setup instructions see the &#8220;build&#8221; section of <a
title="RGB Multi-Node Lighting" href="http://protofusion.org/wordpress/2011/04/diy-audio-reactive-lighting/" target="_blank">Multi-Node Lighting</a>.</p><p>Board and schematic downloads are included below. Note that the board is a bit rough around the edges (figuratively), and could use some improvement. Drop comments below if you have any suggestions.</p><h3>Downloads:</h3><ul><li><a
href="http://protofusion.org/hg/mnl-hardware/raw-file/00088432df10/i2c-node/MNLC-Node-NPN.sch" target="_blank">EAGLE Schematic</a></li><li><a
href="http://protofusion.org/hg/mnl-hardware/raw-file/00088432df10/i2c-node/MNLC-Node-NPN.brd" target="_blank">EAGLE Board</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/06/tinyrgb-an-i2c-led-driver/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>ZonCoffee PCB</title><link>http://protofusion.org/wordpress/2011/06/zoncoffee-pcb/</link> <comments>http://protofusion.org/wordpress/2011/06/zoncoffee-pcb/#comments</comments> <pubDate>Fri, 03 Jun 2011 03:13:55 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Espresso Mods]]></category> <category><![CDATA[Espresso]]></category> <category><![CDATA[PID]]></category> <category><![CDATA[ZonCoffee]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=1009</guid> <description><![CDATA[The ZonCoffee espresso PID controller board has been fabbed! The silkscreen on the board was a bit messed up; both ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/zc-back.jpg" rel="lightbox[1009]"><img
class="alignnone size-large wp-image-1010" title="ZonCoffee Devel Board - Bottom Layer" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/zc-back-e1307069378241-500x324.jpg" alt="" width="500" height="324" /></a></p><p>The <a
title="ZonCoffee Hardware" href="http://protofusion.org/wordpress/2011/01/zoncoffee-hardware/">ZonCoffee</a> espresso PID controller board has been fabbed!</p><p><span
id="more-1009"></span></p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/zc-top.jpg" rel="lightbox[1009]"><img
class="alignnone size-large wp-image-1011" title="ZonCoffee PCB - Top layer, messed up silkscreen" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/06/zc-top-e1307069499267-500x388.jpg" alt="" width="500" height="388" /></a></p><p>The silkscreen on the board was a bit messed up; both the names layer and my text layers were screened on the board. Nevertheless, the board appears to be very well-manufactured, and I will have a board populated for testing in the near future. The EAGLE brd file and other information will be posted as I have time.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/06/zoncoffee-pcb/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>RGB Multi-Node Lighting</title><link>http://protofusion.org/wordpress/2011/04/diy-audio-reactive-lighting/</link> <comments>http://protofusion.org/wordpress/2011/04/diy-audio-reactive-lighting/#comments</comments> <pubDate>Mon, 04 Apr 2011 13:00:56 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Arduino]]></category> <category><![CDATA[BlinkM]]></category> <category><![CDATA[i2c]]></category> <category><![CDATA[LED]]></category> <category><![CDATA[RGB]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=723</guid> <description><![CDATA[This project uses the open-source i2c RGB LED controller firmware &#8220;cyz_rgb&#8221; to create a modular high-power lighting network. The network ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/tiny85.jpg" rel="lightbox[723]"><img
class="alignnone size-large wp-image-879" title="attiny45 and Bus Pirate" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/tiny85-500x375.jpg" alt="" width="500" height="375" /></a></p><p>This project uses the open-source i2c RGB LED controller firmware &#8220;cyz_rgb&#8221; to create a modular high-power lighting network. The network is controlled by an Arduino, which scans the network for nodes controls them autonomously with onboard scripts, manually via serial console control, or over the serial computer-control interface for interaction with programs on a host machine.</p><p><span
id="more-723"></span></p><h3>Node: BlinkM Clone</h3><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/MNLC-Node.png" rel="lightbox[723]"><img
class="size-large wp-image-829" title="MNLC Node" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/MNLC-Node-500x278.png" alt="" width="500" height="278" /></a></p><h4>Hardware</h4><p>Each node consists of only a few inexpensive components. The total cost of each node, not including shipping or bulk discounts, is around $5.50. If you order more than 3 of the 3W LEDs, the price drops drastically ($2.74 per LED and lower.</p><ul><li><a
href="http://www.mouser.com/ProductDetail/Atmel/ATtiny85V-10PU/?qs=sGAEpiMZZMvu0Nwh4cA1wUVlLgw9m2DP78s3Ei4lJOM%3d">ATTINY85 </a>- $1.82 &#8211; Cheap, small footprint, plenty of memory.</li><li>3W RGB LED from <a
href="http://www.dealextreme.com/p/3w-led-emitter-on-star-multicolored-rgb-4530" target="_blank">DealExtreme</a> &#8211; $3.35</li><li>NPN Darlington transistors (only $.04 from <a
href="http://www.mouser.com/ProductDetail/Fairchild-Semiconductor/2N6427_Q/?qs=sGAEpiMZZMupZfs%2fwBb3DAZvdrKXE1j%2f6Cyj0FX4BoA%3d" target="_blank">Mouser</a>!)</li><li>10uF decoupling capacitor</li><li>Current-limiting resistors for each LED (must be 2W+ rated!)</li><li>Optional: Pin header, screw terminal, reset switch</li></ul><div
id="attachment_861" class="wp-caption alignnone" style="width: 510px"><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/101_0858.jpg" rel="lightbox[723]"><img
class="size-large wp-image-861" title="MNLC Prototype" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/101_0858-500x305.jpg" alt="" width="500" height="305" /></a><p
class="wp-caption-text">Initial Prototype on protoboard (resistors have been upgraded to 2W in the final boards)</p></div><p>The initial prototype node boards are shown below. These nodes include non-standard programming headers, screw-terminal power connectors, and incredibly under-rated resistors (1/4 watt for the red LED resistor!). 2W+ rated resistors are necessary if you are using a  3W+  LED. I would also recommend adding terminals for the clock and data lines, unless you want to run ribbon cable between the ICSP headers of each board which, conveniently enough, breaks out the needed power and data lines.</p><h3>Controller: MNLC</h3><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/MNLC-Amp.png" rel="lightbox[723]"><img
class="size-full wp-image-832" title="MNLC Amplifier Circuit" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2013/12/MNLC-Amp.png" alt="" width="476" height="365" /></a></p><p>The controller for the network of i2c-connected nodes is an Arduino running <a
href="http://protofusion.org/hg/mnlc" target="_blank">MNLC</a>. This sketch provides a simple serial terminal for manually communicating with the network of nodes, and also provides a non-interactive serial mode for host computer control. Included for testing is some code from <a
href="http://jarv.org/blinkm-music.shtml" target="_blank">jarv.org</a> which reads an analog audio signal  and cycles the network of LEDs through various patterns based on the amplitude of the incoming signal.</p><div
id="attachment_974" class="wp-caption alignnone" style="width: 510px"><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/04/mnlc-node.jpg" rel="lightbox[723]"><img
class="size-large wp-image-974" title="MNLC LED controller prototype node board" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/04/mnlc-node-500x318.jpg" alt="" width="500" height="318" /></a><p
class="wp-caption-text">Fully assembled prototype board with proper resistors</p></div><p><strong>Build your own:<br
/> </strong></p><ol><li>Assemble node(s) as shown in schematic above</li><li>Connect programmer to each node and flash ATTINY85 chips with <a
href="http://code.google.com/p/codalyze/wiki/CyzRgb" target="_blank">cyz_rgb_slave</a> firmware</li><li>Unset the divide clock by 8 (DIV8) fuse on each node</li><li>Assemble audio input circuit (if needed) and flash Arduino with <a
href="http://protofusion.org/hg/mnlc" target="_blank">MNLC</a></li><li>One at a time, connect each node to the Arduino</li><li>Once the node is connected, enter the interactive serial interface and use the &#8220;i&#8221; command to set a unique address for each node.</li><li>Daisy-chain clock and data lines of all nodes to the Arduino, add pull-up resistors on both the data and clock line, and run MNLC sketch</li></ol><p>Additional information on the construction of the final design and some notes about scaling this project up to a 12-node network with considerable distance between nodes will be added in the near future.</p> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/04/diy-audio-reactive-lighting/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>SlatePermutate</title><link>http://protofusion.org/wordpress/2011/04/slatepermutate-schedule-yourself/</link> <comments>http://protofusion.org/wordpress/2011/04/slatepermutate-schedule-yourself/#comments</comments> <pubDate>Sat, 02 Apr 2011 03:19:47 +0000</pubDate> <dc:creator>Ethan Zonca</dc:creator> <category><![CDATA[Education]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[College]]></category> <category><![CDATA[Schedule]]></category> <category><![CDATA[SlatePermutate]]></category><guid
isPermaLink="false">http://protofusion.org/wordpress/?p=700</guid> <description><![CDATA[SlatePermutate is a PHP and Javascript-driven interface for college class scheduling. SP parses course identifiers (such as MATH-2500) and autofills ]]></description> <content:encoded><![CDATA[<p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/04/Input.png" rel="lightbox[700]"><img
class="alignnone size-large wp-image-913" title="SlatePermutate - Input Page" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/04/Input-500x346.png" alt="" width="500" height="346" /></a></p><p>SlatePermutate is a PHP and Javascript-driven interface for college class scheduling. SP parses course identifiers (such as MATH-2500) and autofills all available sections associated with the course. After submission, SlatePermutate presents a tabbed interface of all possible schedules, course conflicts excluded.</p><p><span
id="more-700"></span></p><p><a
href="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/04/output.png" rel="lightbox[700]"><img
class="alignnone size-large wp-image-915" title="SlatePermutate - Output" src="http://pf-wordpress.s3.amazonaws.com/wordpress/wp-content/uploads/2011/04/output-e1301718826316-500x362.png" alt="" width="500" height="362" /></a></p><p>SlatePermutate currently supports autofill for:</p><ul><li>Cedarville University</li><li>Calvin College</li><li>University of Michigan (beta)</li><li>Michigan State (beta)</li><li>Community College of Baltimore County</li></ul><p>Support for additional schools is progressing incrementally.</p><p>SlatePermutate is deployed at <a
href="http://cs.cedarville.edu/~permutate/" target="_blank">Cedarville University</a> and <a
href="http://csx.calvin.edu/slate_permutate/" target="_blank">Calvin College</a>, with a deployment on <a
href="http://protofusion.org/sp/" target="_blank">Protofusion </a>available as well. Note that deployments at individual schools will not necessarily crawl course data from all supported institutions.</p><ul><li><a
href="http://protofusion.org/sp/project.php" target="_blank">Project Information</a></li><li><a
href="http://protofusion.org/bugzilla/buglist.cgi?product=SlatePermutate" target="_blank">Bug Tracker</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://protofusion.org/wordpress/2011/04/slatepermutate-schedule-yourself/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 800/936 objects using disk: basic
Content Delivery Network via Amazon Web Services: S3: pf-wordpress.s3.amazonaws.com

Served from: protofusion.org @ 2012-02-05 12:09:03 -->
