<?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>MightyOhm &#187; pic</title>
	<atom:link href="http://mightyohm.com/blog/tag/pic/feed/" rel="self" type="application/rss+xml" />
	<link>http://mightyohm.com/blog</link>
	<description>Join the resistance.</description>
	<lastBuildDate>Wed, 16 May 2012 17:02:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>EEVblog &#8211; The Electrical Engineering Video Blog Podcast</title>
		<link>http://mightyohm.com/blog/2009/11/eevblog/</link>
		<comments>http://mightyohm.com/blog/2009/11/eevblog/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 16:07:03 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[EEVblog]]></category>
		<category><![CDATA[electrical engineering]]></category>
		<category><![CDATA[Microchip]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[the australians are coming]]></category>

		<guid isPermaLink="false">http://www.mightyohm.com/blog/?p=2553</guid>
		<description><![CDATA[David L. Jones, maker of, among many other things, the awesome uWatch, is producing a really cool Electrical Engineering-themed video blog/podcast called &#8216;EEVblog&#8216;.  I don&#8217;t why it took me this long to realize what an informative and hilarious video podcast this is, but a couple recent episodes really sucked me in.  I am now a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eevblog.com/about/">David L. Jones</a>, maker of, among many other things, the awesome <a href="http://www.calcwatch.com/">uWatch</a>, is producing a really cool Electrical Engineering-themed video blog/podcast called &#8216;<a href="http://www.eevblog.com">EEVblog</a>&#8216;.  I don&#8217;t why it took me this long to realize what an informative and hilarious video podcast this is, but a couple recent episodes really sucked me in.  I am now a huge fan.</p>
<p>David&#8217;s blog actually sprang to life in April of this year, so if you want to watch all of the episodes you have <a href="http://www.eevblog.com/2009/04/page/3/">some catching up to do</a>.  However, some of the most hilarious episodes are also the most recent.  For example, here is David&#8217;s very honest review of the <a href="http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130">Microchip PICkit 3</a>, a development tool for <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=69">Microchip PIC microcontrollers</a>:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LjfIS65mwn8&amp;hl=en&amp;fs=1&amp;rel=0&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/LjfIS65mwn8&amp;hl=en&amp;fs=1&amp;rel=0&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>And here is Microchip&#8217;s equally hilarious response:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/3YUvlrVlNao&amp;hl=en&amp;fs=1&amp;rel=0&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/3YUvlrVlNao&amp;hl=en&amp;fs=1&amp;rel=0&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>David&#8217;s blog has covered a lot of other cool topics, such as <a href="http://www.eevblog.com/2009/11/04/eevblog-42-exploding-capacitors-in-high-speed/">exploding capacitors</a>, <a href="http://www.eevblog.com/2009/10/12/eevblog-37-rigol-ds1052e-oscilloscope-teardown/">equipment teardowns</a>, and <a href="http://www.eevblog.com/2009/09/14/eevblog-31-microcontroller-datasheet-utopia/">microcontroller datasheets</a>.  Check <a href="http://www.eevblog.com">EEVblog</a> out!</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2009/11/eevblog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Celebrating one year of hacks and projects at mightyohm.com!</title>
		<link>http://mightyohm.com/blog/2009/07/celebrating-one-year-of-hacks-and-projects-at-mightyohm-com/</link>
		<comments>http://mightyohm.com/blog/2009/07/celebrating-one-year-of-hacks-and-projects-at-mightyohm-com/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 14:46:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Kits]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[anniversary]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[cooler]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[handset]]></category>
		<category><![CDATA[hotplate]]></category>
		<category><![CDATA[mightyohm.com]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pid]]></category>
		<category><![CDATA[rescue shield]]></category>
		<category><![CDATA[soldering]]></category>
		<category><![CDATA[space invaders]]></category>
		<category><![CDATA[wifiradio]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=2079</guid>
		<description><![CDATA[Wow!  I can&#8217;t believe it&#8217;s been a year! Based on the date of my first post, last Wednesday marked the one year anniversary of my blog. While I pour a toast, here are a few highlights of the past year: PID Controlled Solder Paste Fridge The first project I documented on the site, my solder [...]]]></description>
			<content:encoded><![CDATA[<p>Wow!  I can&#8217;t believe it&#8217;s been a year!</p>
<p>Based on the date of my first post, last Wednesday marked the <a href="http://mightyohm.com/blog/2008/07/welcome-to-mightyohm/">one year anniversary</a> of my blog.</p>
<p>While I pour a toast, here are a few highlights of the past year:</p>
<h3>PID Controlled Solder Paste Fridge</h3>
<p><a class="tt-flickr tt-flickr-Medium" title="PID Controller closeup" href="http://mightyohm.com/blog/2008/07/pid/"></a><a class="tt-flickr tt-flickr-Small" title="PID Controller closeup" href="http://mightyohm.com/blog/2008/07/pid/"><img class="alignnone" src="http://farm4.static.flickr.com/3070/2706936015_5d8ef1cfd5.jpg" alt="PID Controller closeup" width="400" height="300" /></a></p>
<p>The first pro<a href="http://mightyohm.com/blog/products/avr-hv-rescue-shield/">j</a>ect I documented on the site, my solder paste fridge was the end result of a weekend effort to turn an old beer chest into a <a href="http://mightyohm.com/blog/2008/07/pid/">PID-controlled Peltier cooler</a> for storing tubes of solder paste.  A year later, the cooler has a permanent home under my workbench and is still going strong, keeping its contents at a chilly 36 degrees F.  Besides solder paste, I keep my <a href="http://www.amazon.com/gp/product/B0006ZA8CY?ie=UTF8&amp;tag=mightyohm-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0006ZA8CY">POR-15 rust proofing epoxy paint</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=mightyohm-20&amp;l=as2&amp;o=1&amp;a=B0006ZA8CY" border="0" alt="" width="1" height="1" /> and a few tubes of superglue in the fridge (they never dry out!).</p>
<h3>Space Invaders!  Making RGB video with the PIC</h3>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=4dd79d8f49&amp;photo_id=2846423028" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=71377" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=4dd79d8f49&amp;photo_id=2846423028"></embed></object></p>
<p>I needed an excuse to learn assembly language programming on the <a href="http://microchip.com">PIC</a>, and this project fit the bill perfectly.  Instead of slogging through yet another <a href="http://mightyohm.com/blog/2008/12/programming-and-customizing-picmicro-microcontrollers-by-myke-predko/">PIC tutorial</a> I decided to &#8220;<a href="http://mightyohm.com/blog/2008/09/pic-microcontroller-rgb-video-animations/">just do it</a>&#8221; and the video above shows the result.  One of my favorite projects of last year, I have plans to build more of these and make some electronic artwork for the lab.</p>
<h3>Bluetooth Handset Hack</h3>
<p><a class="tt-flickr tt-flickr-Small" title="Charging" href="http://mightyohm.com/blog/2008/11/bluetooth-handset-hack/"><img class="alignnone" src="http://farm4.static.flickr.com/3035/3040037338_0204123c58.jpg" alt="Charging" width="400" height="300" /></a></p>
<p>One aging bluetooth headset plus one obsolete telephone handset equals <a href="http://mightyohm.com/blog/2008/11/bluetooth-handset-hack/">one retro-fabulous hack</a> that I still use today.  The best part: Look for this one in <a href="http://makezine.com">Make:</a> volume 20!</p>
<h3>DIY PID-Controlled Soldering Hotplate</h3>
<p><a class="tt-flickr tt-flickr-Small" title="PID Controlled Hotplate" href="http://mightyohm.com/blog/2009/01/diy-pid-controlled-soldering-hotplate/"><img class="alignnone" src="http://farm4.static.flickr.com/3428/3201234462_f5021c46dc.jpg" alt="PID Controlled Hotplate" width="400" height="300" /></a></p>
<p>I&#8217;m a big fan of the hotplate (aka <a href="http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=59">reflow skillet</a>) method of surface mount soldering.  Over the course of a few months I designed, machined, and assembled this <a href="http://mightyohm.com/blog/2009/01/diy-pid-controlled-soldering-hotplate/">PID-controlled soldering hotplate</a> to help build the first few prototypes of my <a href="http://mightyohm.com/blog/products/avr-hv-rescue-shield/">AVR HV Rescue Shield</a> kit.  Hacking around in the garage is always fun, but creating a new tool is one of the most rewarding things I have can think of.</p>
<p>Here&#8217;s a video of the hotplate in action, reflowing the step-up converter on the Rescue Shield:<br />
<object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=9cd22b9308&#038;photo_id=3324520391"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=9cd22b9308&#038;photo_id=3324520391" height="300" width="400"></embed></object></p>
<h3>The AVR HV Rescue Shield</h3>
<p><a class="tt-flickr tt-flickr-Small" title="AVR HV Rescue Shield" href="http://mightyohm.com/blog/products/avr-hv-rescue-shield/"><img class="alignnone" src="http://farm4.static.flickr.com/3558/3348049023_71fb537bcb.jpg" alt="AVR HV Rescue Shield" width="400" height="300" /></a></p>
<p>What started as a simple hack to save a <a href="http://mightyohm.com/blog/2008/09/i-programmed-the-rstdisbl-fuse/">crippled AVR microcontroller</a> eventually became <a href="http://mightyohm.com/blog/products/avr-hv-rescue-shield/">a kit</a> that I&#8217;ve sold to AVR enthusiasts around the world.  The <a href="http://mightyohm.com/blog/products/avr-hv-rescue-shield/">AVR HV Rescue Shield</a> includes a cool custom PCB, integrated 5V-12V step-up power supply, and is completely open source.   I only made one batch of these, and when they&#8217;re gone, they&#8217;re gone, so head over to the <a href="http://mightyohm.com/blog/products/avr-hv-rescue-shield/">AVR HV Rescue Shield</a> product page to order one today!</p>
<h3>Wifi Radio Project</h3>
<p><a class="tt-flickr tt-flickr-Small" title="Finished Wifi Radio" href="http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/"><img class="alignnone" src="http://farm4.static.flickr.com/3593/3567599841_c6666d770c.jpg" alt="Finished Wifi Radio" width="400" height="300" /></a></p>
<p>Certainly <a href="http://www.engadget.com/2009/06/06/diy-wifi-radio-built-with-asus-wl-520gu-router-sweat-and-tears/">the most famous</a> project on the site, my <a href="http://mightyohm.com/wifiradio/">Wifi Radio</a> project <a href="http://mightyohm.com/blog/2009/07/building-a-wifi-radio-leave-a-comment-here/">has inspired many readers</a> to start playing with cheap wireless routers and embedded Linux.  If you haven&#8217;t seen it before, the finished project sounds something like this:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=3eb85e7268&amp;photo_id=3567748147" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=71377" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&amp;photo_secret=3eb85e7268&amp;photo_id=3567748147"></embed></object></p>
<p>I brought the Wifi Radio to the <a href="http://makerfaire.com/pub/e/2315">Maker Faire</a> in San Mateo in May.  Everyone loved it, including some of the Make: staff, which got me <a href="http://mightyohm.com/blog/2009/06/we-rocked-the-maker-faire/">a blue ribbon</a> for the project.  Awesome!</p>
<h3>Onward!</h3>
<p>Well, that&#8217;s it for year one&#8230;  If I missed one of your favorite posts from the past year, leave a comment!  If you&#8217;re new to the blog, happy reading, you have some catching up to do.  <img src='http://mightyohm.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Here&#8217;s to another fantastic year of hacks, projects, kits, tools, and resources at mightyohm.com!</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2009/07/celebrating-one-year-of-hacks-and-projects-at-mightyohm-com/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Microchip Internet Radio Demonstration Board</title>
		<link>http://mightyohm.com/blog/2009/06/microchip-internet-radio-demonstration-board/</link>
		<comments>http://mightyohm.com/blog/2009/06/microchip-internet-radio-demonstration-board/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 14:22:21 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[Microchip]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[PIC18F67J60]]></category>
		<category><![CDATA[wifiradio]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=2024</guid>
		<description><![CDATA[Microchip Technology, makers of the PIC microcontroller, have released a demo board for the 8-bit PIC18F67J60 that is pre-programmed to function as an internet radio receiver. Anyone familiar with the blog knows that I have a special love for internet streaming radio, so it shouldn&#8217;t be a surprise that this demo board immediate caught my [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en536047"><img class="alignnone size-full wp-image-2026" title="Microchip Internet Radio Demonstration Board" src="http://mightyohm.com/blog/wp-content/uploads/2009/06/95837-1.png" alt="Microchip Internet Radio Demonstration Board" width="336" height="227" /></a></p>
<p><a href="http://www.microchip.com">Microchip Technology,</a> makers of the <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=74">PIC microcontroller</a>, have released a demo board for the 8-bit <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026445">PIC18F67J60</a> that is pre-programmed to function as an internet radio receiver.</p>
<p>Anyone familiar with the blog knows that I have a special love for <a href="http://mightyohm.com/blog/2009/05/building-a-wifi-radio-part-10-building-the-box/">internet streaming radio</a>, so it shouldn&#8217;t be a surprise that this demo board immediate caught my eye.</p>
<p>The demo board&#8217;s features include ethernet, a dedicated MP3 decoder IC, pushbutton user interface, and a cool <a href="http://en.wikipedia.org/wiki/Oled">OLED</a> matrix display.  The PIC18F67J60 includes an ethernet <a href="http://en.wikipedia.org/wiki/PHY">PHY</a> on-chip,  which makes for a very simple way to add network connectivity to the microcontroller.  Sadly, unlike <a href="http://mightyohm.com/blog/2008/10/detailed-specs-for-the-asus-wl-520gu-uber-hacking-platform/">my usual hacking platform</a>, there isn&#8217;t any wireless on-board, but given the extremely small size and downloadable source code, I am really tempted to get one of these to play with.</p>
<p>Here&#8217;s a short video about the board by <a href="http://www.youtube.com/user/MicrochipTechnology">MicrochipTechnology</a> on YouTube:</p>
<p><object width="480" height="385" data="http://www.youtube.com/v/wwUViJNvRAI&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/wwUViJNvRAI&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p><a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en536047">Internet Radio Demonstration Board</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2009/06/microchip-internet-radio-demonstration-board/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programming and Customizing PICmicro Microcontrollers, by Myke Predko</title>
		<link>http://mightyohm.com/blog/2008/12/programming-and-customizing-picmicro-microcontrollers-by-myke-predko/</link>
		<comments>http://mightyohm.com/blog/2008/12/programming-and-customizing-picmicro-microcontrollers-by-myke-predko/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:26:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Books and Resources]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=723</guid>
		<description><![CDATA[Programming &#38; Customizing PICmicro Microcontrollers, by Myke Predko, is probably the best book out there for someone who is starting out with the PIC series of microcontrollers from Microchip.  I used Myke&#8217;s book as both a tutorial and reference when I created my PIC RGB Video Display.  Since then, I have referred back to this [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=mightyohm-20&amp;l=as2&amp;o=1&amp;a=0071361723" border="0" alt="" width="1" height="1" /><a href="http://www.amazon.com/gp/product/0071361723?ie=UTF8&amp;tag=mightyohm-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0071361723"><img class="size-full wp-image-894 alignnone" title="Programming and Customizing PICmicro Microcontrollers" src="http://mightyohm.com/blog/wp-content/uploads/2008/12/mpbook.jpg" alt="Programming and Customizing PICmicro Microcontrollers" width="250" height="320" /></a></p>
<p><a href="http://www.amazon.com/gp/product/0071361723?ie=UTF8&amp;tag=mightyohm-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0071361723">Programming &amp; Customizing PICmicro Microcontrollers</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=mightyohm-20&amp;l=as2&amp;o=1&amp;a=0071361723" border="0" alt="" width="1" height="1" />, by <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26tag%3Dmozilla-20%26index%3Dblended%26link%255Fcode%3Dqs%26field-keywords%3Dmyke%2520predko%26sourceid%3DMozilla-search&amp;tag=mightyohm-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">Myke Predko</a><img style="border:none !important; margin:0px !important;" src="https://www.assoc-amazon.com/e/ir?t=mightyohm-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" />, is probably the best book out there for someone who is starting out with the <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=74">PIC</a> series of microcontrollers from <a href="http://www.microchip.com">Microchip</a>.  I used Myke&#8217;s book as both a tutorial and reference when I created my <a href="http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/">PIC RGB Video Display</a>.  Since then, I have referred back to this book countless times even when working with other microcontrollers, like Atmel&#8217;s <a href="http://www.atmel.com/products/avr/overview.asp?family_id=607">AVR family</a>, because it contains so much useful architecture-independent technical information.  I have referred to this book for information about topics including LCD interfacing, debouncing switches, RS-232 serial interfaces, and multiplexed LED drivers.  As a technical reference it easily surpasses the majority of AVR books that are out there.</p>
<p>The book is starting to show it&#8217;s age by not including some of the latest PIC micros in the examples (like the PIC16F628), but the code is easily ported to newer/faster/better microcontrollers, a good learning excercise in itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2008/12/programming-and-customizing-picmicro-microcontrollers-by-myke-predko/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PIC RGB Video &#8211; Technical Details</title>
		<link>http://mightyohm.com/blog/2008/09/pic-rgb-video-technical-details/</link>
		<comments>http://mightyohm.com/blog/2008/09/pic-rgb-video-technical-details/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 20:41:27 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[NTSC]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=235</guid>
		<description><![CDATA[This page summarizes the technical details behind my PIC LCD video project.  This is a basic tutorial on how to generate analog RGB video using a PIC16F628 microcontroller. Previous posts on this project: PIC Microcontroller RGB Video &#8211; Animations! Space Invaders! Generating Analog RGB Video with a PIC Microcontroller Materials needed: An LCD screen like [...]]]></description>
			<content:encoded><![CDATA[<p>This page summarizes the technical details behind my <a href="http://mightyohm.com/blog/2008/09/pic-microcontroller-rgb-video-animations/">PIC LCD video project</a>.  This is a basic tutorial on how to generate analog RGB video using a PIC16F628 microcontroller.</p>
<p><strong>Previous posts on this project:</strong></p>
<ul>
<li><a title="Permanent Link to PIC Microcontroller RGB Video - Animations!" href="../2008/09/pic-microcontroller-rgb-video-animations/?phpMyAdmin=pfRTB12SN5iI6CmsWzU3sxfiZw0" rel="bookmark">PIC Microcontroller RGB Video &#8211; Animations!</a></li>
<li><a title="Permanent Link to Space Invaders!" href="http://mightyohm.com/blog/2008/09/space-invaders/" rel="bookmark">Space Invaders!</a></li>
<li><a title="Permanent Link to Generating Analog RGB Video with a PIC Microcontroller" href="../2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/?phpMyAdmin=pfRTB12SN5iI6CmsWzU3sxfiZw0" rel="bookmark">Generating Analog RGB Video with a PIC Microcontroller</a></li>
</ul>
<p><strong>Materials needed:</strong></p>
<ul>
<li>An LCD screen like the <a href="http://store.earthlcd.com/Sharp-4LU4EB-4-B-W-Video-LCD">Sharp 4L-U4EB</a> that accepts a noninterlaced NTSC analog RGB video signal (red/green/blue and composite sync all as separate signals).  <a href="http://mightyohm.com/blog/wp-content/uploads/2008/09/sharp_bw_lcd_manual.pdf">Poor quality datasheet here.</a></li>
<li>(1) <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010209">PIC16F628</a> (the <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010210">PIC16F628A</a> should be a drop-in replacement.  Sorry, I have old PICs lying around.)</li>
<li>A PIC programmer &#8211; I am using a <a href="http://kitsrus.com/pic.html">K128</a>, but support for it has been discontinued.  <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en023805">Microchip&#8217;s PICkit2 </a>is probably your best bet, but I haven&#8217;t used one (yet).</li>
<li><a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en019469&amp;part=SW007002">MPLAB </a>- the free Microchip IDE, or a compatible PIC assembler</li>
<li>(1) 20MHz crystal (HC-18 or whatever fits your breadboard)</li>
<li>(2) 22pF ceramic capacitors</li>
<li>(3) 470 Ohm 1/8W resistors</li>
<li>(5) 10K 1/8W resistors</li>
<li>A 1K potentiometer for brightness control (if needed, my LCD needs one to display anything)</li>
<li>A regulated 5V supply for the PIC, and my LCD needed an 8V supply of its own</li>
<li>Anything else specific to your LCD &#8211; hopefully not much.</li>
</ul>
<p><strong>Firmware:</strong></p>
<ul>
<li>Source code (for use with <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en019469&amp;part=SW007002">MPLAB</a>) &#8211; <a href="http://mightyohm.com/blog/wp-content/uploads/2008/09/lcd_video7.asm">lcd_video7.asm</a></li>
<li>Hex file &#8211; <a href="http://mightyohm.com/blog/wp-content/uploads/2008/09/lcd_video7.hex">lcd_video7.hex</a></li>
<li>Listing file (<a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en019469&amp;part=SW007002">MPLAB</a> output) &#8211; <a href="http://mightyohm.com/blog/wp-content/uploads/2008/09/lcd_video7.lst">lcd_video7.lst</a></li>
</ul>
<p><strong>Schematic:</strong><em></em></p>
<p><em>(click to enlarge)</em></p>
<p><a href="http://mightyohm.com/blog/wp-content/uploads/2008/09/lcd_video.png"><img class="size-medium wp-image-253 alignnone" title="lcd_video schematic" src="http://mightyohm.com/blog/wp-content/uploads/2008/09/lcd_video-300x244.png" alt="Schematic" width="300" height="244" /></a></p>
<p><strong>Theory of Operation:</strong></p>
<p>The LCD I chose for this project needs four main electrical signals to display video.  Three of them carry color information &#8211; red, green, and blue.  These three signals can vary from 0V (black) to 0.7V (full brightness).  To achieve this, I placed 470 ohm resistors in series with each, as shown in the schematic.  The LCD terminates each color signal with a 75 ohm resistor, so the 470 ohm series resistors serve to convert the 5V output of the PIC to a 0.7V max signal for the LCD (using a resistive divider).</p>
<p>The other signal the LCD needs is CSYNC &#8211; an inverse TTL composite sync signal.  This signal provides both the horizontal and vertical sync for the LCD.  Without these sync signals the image rolls across the display because the LCD doesn&#8217;t know where the image starts or ends.  Composite sync seems to be a little bit unusual &#8211; most RGB video signals have separate horizontal and vertical sync signals on separate wires.</p>
<p>A horizontal line of NTSC video is roughly 64μs long. (μs = microseconds)  At the beginning of each line, CSYNC is held low for 4us, then set high again.  The RGB lines are held low during sync and stay low for 8μs after sync, then set to the desired levels display the desired image on that line.  2μs before the end of the line, RGB are set low again to signal the end of the visible image.  At 64μs, the program loops back to start another line.</p>
<p>You can generate video like this but there would be no vertical hold &#8211; the image would be stable in the horizontal direction because we are generating a horizontal sync but not in the vertical direction.</p>
<p>To create a stable image with vertical sync, you have to create a valid &#8220;<a href="http://en.wikipedia.org/wiki/Video_field">field</a>&#8221; of video.  We&#8217;re creating non-interlaced video, so every field is the same (in contrast with <a href="http://en.wikipedia.org/wiki/Ntsc">ordinary interlaced video used in television</a>.)  A field is composed of 262 horizontal lines.  The first line is blank, with CSYNC set low for the entire line.  This is the vertical sync.  The next 17 lines are called the &#8220;<a href="http://en.wikipedia.org/wiki/Vertical_blanking_interval">blanking interval</a>&#8221; and occur above the visible image, during these lines horizontal sync is applied but no RGB signals.  The next line is the first visible line and consists of both a horizontal sync and RGB signals as discussed earlier.  243 lines later, we write one blank line, then loop back and repeat the process all over again.  Now we have a valid non-interlaced analog RGB video signal.</p>
<p>The blank lines are mostly due to compatibility with old television sets that needed time to reset the electron gun for the next field.  The nice thing is that they give us time to do housekeeping before displaying the next field.  For example, during the blanking interval I load the image to display into memory so it can be easily read back later.</p>
<p>The critical thing with regards to timing is that the PIC needs to execute the same number of instructions each time it loops, such that the sync signals always occur at the right time.  This is why there are a lot of &#8216;nop&#8217; instructions in my code &#8211; to pad the program execution in the right spots and maintain sync.  I started by counting instructions to figure out where to put the &#8216;nop&#8217;s, but by the end of writing the program I was using <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en019469&amp;part=SW007002">MPLAB&#8217;s builtin &#8220;Stopwatch&#8221; feature</a> instead.</p>
<p>That&#8217;s it for now!  If you have any questions, make use of these routines in your own projects, or just find this interesting, please leave a comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2008/09/pic-rgb-video-technical-details/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PIC Microcontroller RGB Video &#8211; Animations!</title>
		<link>http://mightyohm.com/blog/2008/09/pic-microcontroller-rgb-video-animations/</link>
		<comments>http://mightyohm.com/blog/2008/09/pic-microcontroller-rgb-video-animations/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 18:06:10 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[invaders]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=216</guid>
		<description><![CDATA[Update: For those who are interested in seeing how this is done, I have posted schematics and source along with some technical details about this project.  Click here to learn more. After two days of straight coding, this is the result &#8211; two more aliens and an animation routine that toggles between 2 images for [...]]]></description>
			<content:encoded><![CDATA[<object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=1.161" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <param name="flashvars" value="photo_id=2846423028&amp;photo_secret=0&amp;flickr_show_info_box=true"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=1.161"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><param name="wmode" value="opaque"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=1.161" bgcolor="#000000" allowfullscreen="true" flashvars="photo_id=2846423028&amp;photo_secret=0&amp;flickr_show_info_box=true" wmode="opaque" height="300" width="400"></embed></object>
<p><strong>Update: </strong>For those who are interested in seeing how this is done, I have posted schematics and source along with some technical details about this project.  <a href="http://mightyohm.com/blog/2008/09/pic-rgb-video-technical-details/">Click here to learn more.</a></p>
<p>After two days of straight coding, this is the result &#8211; two more aliens and an animation routine that toggles between 2 images for each alien and changes aliens every n frames.  The alien selection routine is implemented as a state machine and uses way too many instructions, but fit within a blank line of video so I called it good.  The hardest part again was maintaining a constant number of clock cycles regardless of the program flow through the display loop.  This is required to maintain the video timing and keep the LCD happy.</p>
<p>I also changed the image lookup table routine so that the image to be displayed is loaded during the blanking interval above the top of the visible screen.  This makes the pixel display much more efficient during the field but at the cost of a bunch of memory.  Now instead of execution time during the horizontal line limiting the max resolution, it&#8217;s memory instead&#8230;  sometimes you can&#8217;t win.  If I encoded color more efficiently the memory limitation would go away.</p>
<p>I need to clean up the code and add some more comments, but I&#8217;ll post the source in case anyone else is interested in learning how to generate RGB video with a PIC or wants to try a similar project.</p>
<p><strong>Update: </strong>The LCD display I am using is a Sharp 4L-U4EB I bought surplus years ago.  I haven&#8217;t been able to find any more of them since, does anyone have a source?</p>
<p>Here are some still images showing the animation sequence for each alien.  Click on each for a bigger version.</p>
<p><a class="tt-flickr tt-flickr-Small" href="http://www.flickr.com/photos/mightyohm/2845579559/"><img src="http://farm4.static.flickr.com/3021/2845579559_4a81f1af7d_m.jpg" border="0" alt="Still images from space invaders animation" width="240" height="180" /> Red!</a></p>
<p><a class="tt-flickr tt-flickr-Small" href="http://www.flickr.com/photos/mightyohm/2845579651/"><img src="http://farm4.static.flickr.com/3094/2845579651_8ae7f7fcd3_m.jpg" border="0" alt="Still images from space invaders animation" width="240" height="180" /> Green!</a></p>
<p><a class="tt-flickr tt-flickr-Small" href="http://www.flickr.com/photos/mightyohm/2846412660/"><img src="http://farm4.static.flickr.com/3255/2846412660_8ee3178085_m.jpg" border="0" alt="Still images from space invaders animation" width="240" height="180" /> Blue!</a></p>
<p>Previous posts related to this project:</p>
<p><a href="http://mightyohm.com/blog/2008/09/space-invaders/">http://mightyohm.com/blog/2008/09/space-invaders/</a></p>
<p><a href="http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/">http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/</a></p>
<p>Also check out my flickr set, <a href="http://www.flickr.com/photos/mightyohm/sets/72157607122118335/">PIC Microcontroller RGB Video</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2008/09/pic-microcontroller-rgb-video-animations/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Space Invaders!</title>
		<link>http://mightyohm.com/blog/2008/09/space-invaders/</link>
		<comments>http://mightyohm.com/blog/2008/09/space-invaders/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 02:51:07 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[invaders]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=205</guid>
		<description><![CDATA[More progress using a PIC microcontroller to generate video.  What next?  Color is easy.  Animations perhaps? PS: If you start looking, these guys are everywhere.]]></description>
			<content:encoded><![CDATA[<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/mightyohm/2835124664/"><img src="http://farm4.static.flickr.com/3259/2835124664_3346a3cd42.jpg" border="0" alt="Space Invaders!!!" width="500" height="375" /></a></p>
<p>More progress <a href="http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/">using a PIC microcontroller to generate video</a>.  What next?  Color is easy.  Animations perhaps?</p>
<p>PS: If you start looking, these guys are <a href="http://www.space-invaders.com/">everywhere</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2008/09/space-invaders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generating Analog RGB Video with a PIC Microcontroller</title>
		<link>http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/</link>
		<comments>http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:55:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://mightyohm.com/blog/?p=182</guid>
		<description><![CDATA[Here is a PIC16F628 microcontroller clocked at 20MHz generating an analog RGB video signal with composite sync. This project was inspired by Rickard Gunee&#8217;s PIC Video Howto which gave me a big headstart in writing the code.  Thanks Rickard!  I have been wanting to work on this project since reading the tutorial several years ago, [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010209">PIC16F628 microcontroller</a> clocked at 20MHz generating an analog RGB video signal with composite sync.</p>
<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/28042570@N08/sets/72157607122118335/"><img src="http://farm4.static.flickr.com/3279/2830216800_9a86edacb1.jpg" border="0" alt="PIC Microcontroller RGB Video" width="500" height="375" /></a></p>
<p>This project was inspired by <a href="http://www.rickard.gunee.com/projects/video/pic/howto.php">Rickard Gunee&#8217;s PIC Video Howto</a> which gave me a big headstart in writing the code.  Thanks Rickard!  I have been wanting to work on this project since reading the tutorial several years ago, and finally got a chance to start it last week.</p>
<p>There are few fundamental differences in my approach compared to Rickard&#8217;s and others I have seen in the past.  His tutorial was written a few years ago before 20MHz PICs were commonly available (it uses an overclocked <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010229">PIC16F84</a>.)  He also focuses on generating composite video to drive a standard television (using the AV inputs).  I am generating RGB video which will interface with the Sharp LCD I had sitting on the shelf.  RGB is a little different in that it uses a separate sync signal (composite horizontal and vertical sync on one inverted TTL line) and each color is brought out as a separate 0.7Vpp signal.  These two differences make the RGB interface considerably easier (in my opinon) to work with, especially since the approach to composite video Rickard uses is limited to black and white.</p>
<p>So far the biggest challenges have been with getting the video timing right.  I am writing the whole program in PIC assembly and every clock cycle counts.</p>
<p>More on this project soon, but until then, there are a few <a href="http://www.flickr.com/photos/mightyohm/sets/72157607122118335/">more photos on flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mightyohm.com/blog/2008/09/generating-analog-rgb-video-with-a-pic-microcontroller/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

