<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: 8&#215;8 RGB Matrix &#8212; first prototype on perfboard</title>
	<atom:link href="http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/</link>
	<description>&#34;Another visitor! Stay a while. Staaaaay, FOREVER!&#34;</description>
	<lastBuildDate>Thu, 09 Feb 2012 21:40:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: josh</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-490</link>
		<dc:creator>josh</dc:creator>
		<pubDate>Wed, 27 Jan 2010 20:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-490</guid>
		<description>thanks for the quick reply!

yes i think 512 bytes might be too much too - i was just trying to use DMX as an example of the serial message i could send. if i just send 3 color bytes per LED and let the order in which i send dictate the WHICH LED (i.e. 1st byte sets LED 1 Red; 2nd byte sets LED 1 Green; 4th byte sets LED 2, Red; etc.) that would only take 24 bytes per row - or 192 bytes for a whole &#039;frame&#039; - that&#039;s my theory anyway. perhaps your code needs extra data?

i saw your &#039;live video&#039; post - that looks cool! though, i&#039;ve got a setup that will take either custom 8 pixel animations or text or whatever and send it out to this stream of bytes. 

so my question is: if i have a list of these color bytes, are there hooks in your code i could feed it into?

or to put it another way, does your code have a way to set the brightness (through PWM) of each color of a specific LED?

sorry if i&#039;m missing something obvious. as i said, i know a little basic code, but yours is quite advanced for me - but it seemed better to adapt yours than start over from scratch. maybe not though.. = )

thanks for your time!</description>
		<content:encoded><![CDATA[<p>thanks for the quick reply!</p>
<p>yes i think 512 bytes might be too much too &#8211; i was just trying to use DMX as an example of the serial message i could send. if i just send 3 color bytes per LED and let the order in which i send dictate the WHICH LED (i.e. 1st byte sets LED 1 Red; 2nd byte sets LED 1 Green; 4th byte sets LED 2, Red; etc.) that would only take 24 bytes per row &#8211; or 192 bytes for a whole &#8216;frame&#8217; &#8211; that&#8217;s my theory anyway. perhaps your code needs extra data?</p>
<p>i saw your &#8216;live video&#8217; post &#8211; that looks cool! though, i&#8217;ve got a setup that will take either custom 8 pixel animations or text or whatever and send it out to this stream of bytes. </p>
<p>so my question is: if i have a list of these color bytes, are there hooks in your code i could feed it into?</p>
<p>or to put it another way, does your code have a way to set the brightness (through PWM) of each color of a specific LED?</p>
<p>sorry if i&#8217;m missing something obvious. as i said, i know a little basic code, but yours is quite advanced for me &#8211; but it seemed better to adapt yours than start over from scratch. maybe not though.. = )</p>
<p>thanks for your time!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: robert</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-489</link>
		<dc:creator>robert</dc:creator>
		<pubDate>Wed, 27 Jan 2010 03:16:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-489</guid>
		<description>I don&#039;t know if there is enough CPU time and RAM available to receive a DMX frame of 512 bytes length and do all of the PWM. I&#039;ve already written something like what you seem to be planning some time ago. It is not fully optimized, as it always sends pixel coordinates and color values, which takes 43 bytes per row. If you can live with always sending a full row when updating, this could go down to 26 bytes and speed things up. It also needs some more intelligence to allow automatic re-synchronization if data gets dropped. The post is called &quot;Showing live video on my 64-pixel display&quot;.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know if there is enough CPU time and RAM available to receive a DMX frame of 512 bytes length and do all of the PWM. I&#8217;ve already written something like what you seem to be planning some time ago. It is not fully optimized, as it always sends pixel coordinates and color values, which takes 43 bytes per row. If you can live with always sending a full row when updating, this could go down to 26 bytes and speed things up. It also needs some more intelligence to allow automatic re-synchronization if data gets dropped. The post is called &#8220;Showing live video on my 64-pixel display&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: josh</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-486</link>
		<dc:creator>josh</dc:creator>
		<pubDate>Tue, 26 Jan 2010 22:53:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-486</guid>
		<description>hello Robert! thanks for sharing all your great work - i&#039;ve used your ideas to help me build my own Matrix. i built the actual LED matrix by hand, soldering all 64 RGB LEDS into a grid. it was a chore, but works pretty well and gave me a large 16&quot; x 16&quot; x 64 RGB &#039;pixel&#039; display. 

your code runs great and i have tweaked it a little to get different effects. what i want to do now is feed it data over serial/usb to display graphics in realtime. i was hoping this could work since the matrix would simply act as a dumb, unbuffered display, so RAM would not be an issue. it simply receives a &#039;frame&#039; (a list of rgb values for each LED/pixel), and sets all LEDs to those levels,hopefully using your PWM code to get full color mixing. does this sound possible? 

i&#039;ve managed to send a a single BYTE over serial to set all 8 LEDs in a row to &#039;off&#039; or &#039;on&#039;. and i could probably set this up as an array or list that would set each row. but again, this only sends 1 BIT to each LED: ON or OFF. is there a way that i could send a string or series of bytes to Arduino, that your code could interpret and set each color of each LED to an 8bit value (approximated using PWM)?

the first thing that comes to mind is something like DMX512 - the serial control protocol for lighting systems. it sends 512 bytes, each corresponding to a &#039;channel&#039; or the brightness of a single light. for an RGB light fixture, 3 Channels or 3 bytes would set the brightness of red, green, and blue lights. the beginning of the 512 byte message is marked with a &#039;header&#039; and repeats itself over and over at 250kbaud until a change in the message is made. the message is updated then sent repeatedly. there is a timing component, but i dont think that would be crucial in my case.

so my question is: does your code offer an elegant way of accepting data in this or a similar structure? can i pass a byte to get a corresponding brightness using the PWM part of your code? or maybe your code isn&#039;t required? although from what i can tell your code is fast and efficient - and the use of SPI leaves some room for other operations to go on at the same time. maybe i would need this for receiving and storing the serial data? i know some code, but yours is more complex then im used to - so i can&#039;t tell just by looking at it if there&#039;s a way to do this.

any ideas?
thanks! 
-josh</description>
		<content:encoded><![CDATA[<p>hello Robert! thanks for sharing all your great work &#8211; i&#8217;ve used your ideas to help me build my own Matrix. i built the actual LED matrix by hand, soldering all 64 RGB LEDS into a grid. it was a chore, but works pretty well and gave me a large 16&#8243; x 16&#8243; x 64 RGB &#8216;pixel&#8217; display. </p>
<p>your code runs great and i have tweaked it a little to get different effects. what i want to do now is feed it data over serial/usb to display graphics in realtime. i was hoping this could work since the matrix would simply act as a dumb, unbuffered display, so RAM would not be an issue. it simply receives a &#8216;frame&#8217; (a list of rgb values for each LED/pixel), and sets all LEDs to those levels,hopefully using your PWM code to get full color mixing. does this sound possible? </p>
<p>i&#8217;ve managed to send a a single BYTE over serial to set all 8 LEDs in a row to &#8216;off&#8217; or &#8216;on&#8217;. and i could probably set this up as an array or list that would set each row. but again, this only sends 1 BIT to each LED: ON or OFF. is there a way that i could send a string or series of bytes to Arduino, that your code could interpret and set each color of each LED to an 8bit value (approximated using PWM)?</p>
<p>the first thing that comes to mind is something like DMX512 &#8211; the serial control protocol for lighting systems. it sends 512 bytes, each corresponding to a &#8216;channel&#8217; or the brightness of a single light. for an RGB light fixture, 3 Channels or 3 bytes would set the brightness of red, green, and blue lights. the beginning of the 512 byte message is marked with a &#8216;header&#8217; and repeats itself over and over at 250kbaud until a change in the message is made. the message is updated then sent repeatedly. there is a timing component, but i dont think that would be crucial in my case.</p>
<p>so my question is: does your code offer an elegant way of accepting data in this or a similar structure? can i pass a byte to get a corresponding brightness using the PWM part of your code? or maybe your code isn&#8217;t required? although from what i can tell your code is fast and efficient &#8211; and the use of SPI leaves some room for other operations to go on at the same time. maybe i would need this for receiving and storing the serial data? i know some code, but yours is more complex then im used to &#8211; so i can&#8217;t tell just by looking at it if there&#8217;s a way to do this.</p>
<p>any ideas?<br />
thanks!<br />
-josh</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: robert</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-459</link>
		<dc:creator>robert</dc:creator>
		<pubDate>Fri, 01 Jan 2010 02:34:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-459</guid>
		<description>Good God! I was so hoping 2010 would be a better year for me, and now this! After just about 3&#189; hours into the new year. This is a bad omen. When I wake up again, I will run a full backup on my computer.

BTW. Happy New Year.</description>
		<content:encoded><![CDATA[<p>Good God! I was so hoping 2010 would be a better year for me, and now this! After just about 3&frac12; hours into the new year. This is a bad omen. When I wake up again, I will run a full backup on my computer.</p>
<p>BTW. Happy New Year.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-458</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Fri, 01 Jan 2010 02:00:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-458</guid>
		<description>Just a heads up, I got an email from King Electronics after placing my order that they are only able to ship less than half of my order because they are now out of stock. You might want to &quot;pre-order&quot; yours to make sure they have stock.</description>
		<content:encoded><![CDATA[<p>Just a heads up, I got an email from King Electronics after placing my order that they are only able to ship less than half of my order because they are now out of stock. You might want to &#8220;pre-order&#8221; yours to make sure they have stock.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: robert</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-455</link>
		<dc:creator>robert</dc:creator>
		<pubDate>Thu, 31 Dec 2009 11:40:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-455</guid>
		<description>Glad you&#039;ve found that out ;-)

I&#039;d be happy to hear from you again, once you&#039;ve had some time to deal with the chips. I&#039;ll order mine soon, but would like to hear if there are any traps to avoid.</description>
		<content:encoded><![CDATA[<p>Glad you&#8217;ve found that out ;-)</p>
<p>I&#8217;d be happy to hear from you again, once you&#8217;ve had some time to deal with the chips. I&#8217;ll order mine soon, but would like to hear if there are any traps to avoid.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-454</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 30 Dec 2009 21:40:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-454</guid>
		<description>Awesome...I just ordered 15 of them! For some reason, I thought they were in the UK, but after reading your post more closely, I realize they are here in the US. Can&#039;t wait to see how they work...thanks again! Great find on those Macroblock chips!</description>
		<content:encoded><![CDATA[<p>Awesome&#8230;I just ordered 15 of them! For some reason, I thought they were in the UK, but after reading your post more closely, I realize they are here in the US. Can&#8217;t wait to see how they work&#8230;thanks again! Great find on those Macroblock chips!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: robert</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-453</link>
		<dc:creator>robert</dc:creator>
		<pubDate>Wed, 30 Dec 2009 17:37:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-453</guid>
		<description>Kingelectronics.com sell the MBI5168 in a DIP16 package! And no more soldering of millions of resistors ;-)</description>
		<content:encoded><![CDATA[<p>Kingelectronics.com sell the MBI5168 in a DIP16 package! And no more soldering of millions of resistors ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-452</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 30 Dec 2009 16:09:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-452</guid>
		<description>Ahh cool. Yeah, I had been looking at all of the chips you listed below (especially the MBI5168 that you were discussing on your main page), but here in the US, I can&#039;t find suppliers for any of those in the DIP package except the TPIC6C595 (I don&#039;t have surface mount soldering experience or equipment.) I ordered some UDN2981s to play with, but as you discovered, it looks like they are going to be a bit too slow to do good high speed switching. Perhaps I&#039;ll grab some TPICs as well and play with them. I have it working just fine, but the brightness isn&#039;t what I&#039;d like. I also ordered some resistor networks to make the board cleaner (8 isolated resistors in a single 16-pin DIP.)</description>
		<content:encoded><![CDATA[<p>Ahh cool. Yeah, I had been looking at all of the chips you listed below (especially the MBI5168 that you were discussing on your main page), but here in the US, I can&#8217;t find suppliers for any of those in the DIP package except the TPIC6C595 (I don&#8217;t have surface mount soldering experience or equipment.) I ordered some UDN2981s to play with, but as you discovered, it looks like they are going to be a bit too slow to do good high speed switching. Perhaps I&#8217;ll grab some TPICs as well and play with them. I have it working just fine, but the brightness isn&#8217;t what I&#8217;d like. I also ordered some resistor networks to make the board cleaner (8 isolated resistors in a single 16-pin DIP.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: robert</title>
		<link>http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/#comment-449</link>
		<dc:creator>robert</dc:creator>
		<pubDate>Wed, 30 Dec 2009 07:54:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.spitzenpfeil.org/wordpress/?p=159#comment-449</guid>
		<description>The chips are not getting hot. I doubt they&#039;d get hot even if you tried pulling 100mA out of them, if it worked at all. Their internal resistance is too high.

I&#039;ve just now measured the peak current for the red LEDs with my scope and it is about 5.5mA (1.5V voltage drop on the 270&#937; resistors). That stays way below the maximum. Still you already see slight variation in brightness depending on how many LEDs are on per row. Pulling about 50mA (peak, not effective) out of a single pin is about the maximum it tolerates. For more &quot;bang&quot; one really needs good and fast source drivers (kind of hard to get with low turn on/off times and small V(CE)-sat.) and proper sink drivers (much easier to find and get, e.g. MBI5168, STP08CP05 - both are current regulated - or TPIC6C595 - unregulated).</description>
		<content:encoded><![CDATA[<p>The chips are not getting hot. I doubt they&#8217;d get hot even if you tried pulling 100mA out of them, if it worked at all. Their internal resistance is too high.</p>
<p>I&#8217;ve just now measured the peak current for the red LEDs with my scope and it is about 5.5mA (1.5V voltage drop on the 270&Omega; resistors). That stays way below the maximum. Still you already see slight variation in brightness depending on how many LEDs are on per row. Pulling about 50mA (peak, not effective) out of a single pin is about the maximum it tolerates. For more &#8220;bang&#8221; one really needs good and fast source drivers (kind of hard to get with low turn on/off times and small V(CE)-sat.) and proper sink drivers (much easier to find and get, e.g. MBI5168, STP08CP05 &#8211; both are current regulated &#8211; or TPIC6C595 &#8211; unregulated).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

