<?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>S.G. Vulcan &#187; Electronics</title>
	<atom:link href="http://www.sgvulcan.com/category/electronics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sgvulcan.com</link>
	<description>Silviu&#039;s tech blog. Resources and informations about linux, windows, symbian systems, networks, reviews, microcontrollers, and more.</description>
	<lastBuildDate>Wed, 08 Feb 2012 09:39:01 +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>Fixing a self pressing button on an Asus VW202SR monitor</title>
		<link>http://www.sgvulcan.com/fixing-a-self-pressing-button-on-an-asus-vw202sr-monitor/</link>
		<comments>http://www.sgvulcan.com/fixing-a-self-pressing-button-on-an-asus-vw202sr-monitor/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 18:51:16 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[brightness]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[stuck]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=2006</guid>
		<description><![CDATA[Well, today instead of working I had the pleasure of fixing the monitor The monitor is an older Asus VW202 SR that my wife uses connected to the laptop. I tried everything else (power cycling, another signal cable, another computer) but it turns out to be really the button. The issue manifested itself by the brightness setting window appearing and going eventually all the way to 100. First I thought that the button was stuck in the frame but it was safely depressed. That means a broken button on the pcb board. I thought it would be pretty easy to solder a new one in place. But first I had to disassemble it: 1. Search and remove. There are 7 philips screws. 2 under rubber caps, 2 under flat foil, 2 holding the stand and 1 on the middle of the bottom frame. Make notes that the two of the stand are a different size. One is hidden under the warranty seal. Don&#8217;t loose the rubber caps and place the flat ones with the adhesive side facing up. This way you can reuse them. There are two openings in the frame at the bottom. Place the monitor facing up and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0379.jpg" rel="lightbox[2006]"><img class="alignleft  wp-image-2016" title="Broken button Asus Monitor showing Brightness menu" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0379-300x200.jpg" alt="" width="210" height="140" /></a></p>
<p>Well, today instead of working I had the pleasure of fixing the monitor <img src='http://www.sgvulcan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The monitor is an older Asus VW202 SR that my wife uses connected to the laptop. I tried everything else (power cycling, another signal cable, another computer) but it turns out to be really the button. The issue manifested itself by the brightness setting window appearing and going eventually all the way to 100. First I thought that the button was stuck in the frame but it was safely depressed. That means a broken button on the pcb board. I thought it would be pretty easy to solder a new one in place.</p>
<p><span id="more-2006"></span></p>
<p>But first I had to disassemble it:</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0366_v1.jpg" rel="lightbox[2006]"><img class="alignnone  wp-image-2007" title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0366_v1-464x333.jpg" alt="Asus monitor dissasembly step" width="464" height="333" /></a></p>
<p>1. Search and remove. There are 7 philips screws. 2 under rubber caps, 2 under flat foil, 2 holding the stand and 1 on the middle of the bottom frame. Make notes that the two of the stand are a different size.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0368_v1.jpg" rel="lightbox[2006]"><img class="alignnone size-500 wp-image-2008" title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0368_v1-500x213.jpg" alt="Asus monitor dissasembly step" width="500" height="213" /></a></p>
<p>One is hidden under the warranty seal.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0369_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0369_v1-216x333.jpg" alt="Asus monitor dissasembly step" width="216" height="333" /></a></p>
<p>Don&#8217;t loose the rubber caps and place the flat ones with the adhesive side facing up. This way you can reuse them.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0371_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0371_v1-500x96.jpg" alt="Asus monitor dissasembly step" width="500" height="96" /></a></p>
<p>There are two openings in the frame at the bottom. Place the monitor facing up and use a plastic tool (or if, like me, you don&#8217;t care about marks you can use a flat-head screwdriver) <strong>Pull very gently</strong> as the frame holds a small pcb board with the buttons and the power led. Disconnect it before lifting the frame.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0372_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0372_v1-500x287.jpg" alt="Asus monitor dissasembly step" width="500" height="287" /></a></p>
<p>That is the PCB that needs removing. You need to bend one of the plastic posts holding it in place. Be very careful not to snap it.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0373_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0373_v1-500x105.jpg" alt="Asus monitor dissasembly step" width="500" height="105" /></a></p>
<p>Make note of the button causing you troubles. For me it was menu right (toggles brightness when not in menu)</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0375_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0375_v1-500x239.jpg" alt="Asus monitor dissasembly step" width="500" height="239" /></a></p>
<p><strong>Try not to open the wrong one</strong> like I did!The problem was that I didn&#8217;t have buttons like this to solder in place. So I tried to see if I can fix it. Ok this is a bit tricky. Use a magnifying glass if you need to. The button has a metal casing held in place by 4 <em>clamps</em> (clasp? &#8211; for lack of a better term). I used a snapped syringe needle to gently lift it over the four clamps. Inside you will find a dome shaped metal disk (this is the one closing the circuit) and two plastic parts. Try to lift the casing without moving them and make note (take a picture) of their arrangement. It is important that they face the same way when assembling the button.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0376_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0376_v1-500x245.jpg" alt="Asus monitor dissasembly step" width="500" height="245" /></a></p>
<p>Not a good picture but enough detail on the bad button. The problem was caused by 1-2 metal particulates in the button. I cleaned it with a cotton swab. After you put the disc and the two plastic parts in place simply press the casing to snap in place.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0377_v1.jpg" rel="lightbox[2006]"><img title="Asus monitor dissasembly step" src="http://www.sgvulcan.com/wp-content/uploads/2012/01/IMG_0377_v1-500x227.jpg" alt="Asus monitor dissasembly step" width="500" height="227" /></a></p>
<p>Don&#8217;t forget to connect the cable back to the PCB.</p>
<p>Do everything you did to get here in reverse to assemble the monitor!</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/fixing-a-self-pressing-button-on-an-asus-vw202sr-monitor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cigar Box Portable Amplifier</title>
		<link>http://www.sgvulcan.com/cigar-box-portable-amplifier/</link>
		<comments>http://www.sgvulcan.com/cigar-box-portable-amplifier/#comments</comments>
		<pubDate>Tue, 17 May 2011 13:07:59 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[amplifier]]></category>
		<category><![CDATA[bass]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[cigar]]></category>
		<category><![CDATA[guitar]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[portable]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=1396</guid>
		<description><![CDATA[Thanks to this article I have come up with a nice use for a wooden cigar box I had around. A nice portable amplifier that I can use with a portable radio when barbecuing or that I can borrow to my guitar playing friends. Read more for the full gallery. &#160;]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1406" href="http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0029/"><img class="alignleft size-thumbnail wp-image-1406" title="IMG_0029" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0029-150x150.jpg" alt="" width="150" height="150" /></a>Thanks to <a href="http://hackaweek.com/hacks/?p=131" target="_blank">this article</a> I have come up with a nice use for a wooden cigar box I had around. A nice portable amplifier that I can use with a portable radio when barbecuing or that I can borrow to my guitar playing friends.</p>
<p>Read more for the full gallery.</p>
<p><span id="more-1396"></span>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0014/' title='IMG_0014'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0014-150x150.jpg" class="attachment-thumbnail" alt="IMG_0014" title="IMG_0014" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0016/' title='IMG_0016'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0016-150x150.jpg" class="attachment-thumbnail" alt="IMG_0016" title="IMG_0016" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0017/' title='IMG_0017'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0017-150x150.jpg" class="attachment-thumbnail" alt="IMG_0017" title="IMG_0017" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0018/' title='IMG_0018'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0018-150x150.jpg" class="attachment-thumbnail" alt="IMG_0018" title="IMG_0018" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0021/' title='IMG_0021'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0021-150x150.jpg" class="attachment-thumbnail" alt="IMG_0021" title="IMG_0021" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0022/' title='IMG_0022'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0022-150x150.jpg" class="attachment-thumbnail" alt="IMG_0022" title="IMG_0022" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0023/' title='IMG_0023'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0023-150x150.jpg" class="attachment-thumbnail" alt="IMG_0023" title="IMG_0023" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0026/' title='IMG_0026'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0026-150x150.jpg" class="attachment-thumbnail" alt="IMG_0026" title="IMG_0026" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0027/' title='IMG_0027'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0027-150x150.jpg" class="attachment-thumbnail" alt="IMG_0027" title="IMG_0027" /></a>
<a href='http://www.sgvulcan.com/cigar-box-portable-amplifier/img_0029/' title='IMG_0029'><img width="145" height="145" src="http://www.sgvulcan.com/wp-content/uploads/2011/05/IMG_0029-150x150.jpg" class="attachment-thumbnail" alt="IMG_0029" title="IMG_0029" /></a>
</p>
<p>&nbsp;</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/cigar-box-portable-amplifier/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Another free e-book about Microcontrollers</title>
		<link>http://www.sgvulcan.com/another-free-e-book-about-microcontrollers/</link>
		<comments>http://www.sgvulcan.com/another-free-e-book-about-microcontrollers/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 18:09:39 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[mikroelectronica]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=604</guid>
		<description><![CDATA[Mikroelektronica, beign the nice guys they are released another free e-book about programming PIC microcontrollers this time it&#8217;s about programming in C. The title is, unsurprisingly: PIC Microcontrollers &#8211; Programming in C What are microcontrollers, anyway? Electronics built in one single chip capable of controlling a small submarine, a crane or an elevator… It’s up to you to decide what you want them to do and dump a program containing appropriate instructions into the chip. Author: Milan Verle You can read the book online (or print it for that matter) at http://www.mikroe.com/en/books/pic-books/mikroc/ . You can also order there the printed version of the book accompanied by a CD. Should you find the book useful you might want to consider buying it in order to support them. PIC Microcontrollers &#8211; Programming in CPIC]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-605" title="book_with_cd" src="http://www.sgvulcan.com/wp-content/uploads/2009/12/book_with_cd.gif" alt="book_with_cd" width="150" height="148" />Mikroelektronica, beign the nice guys they are released another free e-book about programming PIC microcontrollers this time it&#8217;s about programming in C. The title is, unsurprisingly:</p>
<p><strong>PIC Microcontrollers &#8211; Programming in C</strong></p>
<blockquote><p>What are microcontrollers, anyway? Electronics built in one single chip capable of controlling a small submarine, a crane or an elevator… It’s up to you to decide what you want them to do and dump a program containing appropriate instructions into the chip.</p></blockquote>
<p><em><strong>Author:</strong> Milan Verle </em></p>
<p>You can read the book online (or print it for that matter) at <a href="http://www.mikroe.com/en/books/pic-books/mikroc/" target="_blank">http://www.mikroe.com/en/books/pic-books/mikroc/</a> .</p>
<p>You can also order there the printed version of the book accompanied by a CD. Should you find the book useful you might want to consider buying it in order to support them.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<h1>PIC Microcontrollers &#8211; Programming in CPIC</h1>
</div>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/another-free-e-book-about-microcontrollers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bmp2h converter for ks0108 GLCD</title>
		<link>http://www.sgvulcan.com/bmp2h-converter-for-ks0108-glcd/</link>
		<comments>http://www.sgvulcan.com/bmp2h-converter-for-ks0108-glcd/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 15:41:43 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ks0108]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=595</guid>
		<description><![CDATA[This is a converter I wrote with the graphics library for the PIC16F microcontrollers. Others work but this one works for sure. If you want to see the source code (I&#8217;m not particulary proud of it )  drop a comment and I&#8217;ll send it to you. If the bitmap is smaller than 128&#215;64 it will be left as is, if not it will be resized proportionally to 128&#215;64. You can set the name you want your variable to have and you can also set if you want the picture inverted or not. Depending on your lcd colors you might want to invert the result. You can download the converter here: glcd_convert.]]></description>
			<content:encoded><![CDATA[<p>This is a converter I wrote with the graphics library for the PIC16F microcontrollers. Others work but this one works for sure.</p>
<p>If you want to see the source code (I&#8217;m not particulary proud of it <img src='http://www.sgvulcan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )  drop a comment and I&#8217;ll send it to you.</p>
<p>If the bitmap is smaller than 128&#215;64 it will be left as is, if not it will be resized proportionally to 128&#215;64.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2009/12/bmp2ks0108.jpg" rel="lightbox[595]"><img class="aligncenter size-full wp-image-596" title="bmp2ks0108" src="http://www.sgvulcan.com/wp-content/uploads/2009/12/bmp2ks0108.jpg" alt="bmp2ks0108" width="618" height="485" /></a></p>
<p>You can set the name you want your variable to have and you can also set if you want the picture inverted or not. Depending on your lcd colors you might want to invert the result.</p>
<p>You can download the converter here: <a href="http://www.sgvulcan.com/wp-content/uploads/2009/12/glcd_convert.zip">glcd_convert</a>.</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/bmp2h-converter-for-ks0108-glcd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>KS0108 Graphics Library for PIC16F microcontrollers</title>
		<link>http://www.sgvulcan.com/ks0108-graphics-library-for-pic16f-microcontrollers/</link>
		<comments>http://www.sgvulcan.com/ks0108-graphics-library-for-pic16f-microcontrollers/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 15:23:50 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[easypic5]]></category>
		<category><![CDATA[ks0108]]></category>
		<category><![CDATA[mikroc]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=588</guid>
		<description><![CDATA[Not that I&#8217;m not happy with the default mikroC library for the KS0108 graphic displays, as I always I wanted something with the source available. Considering that I&#8217;m a beginner with microcontrolers having the source available to hack around is a very valuable learning tool. The project is based on the source found here: http://en.radzio.dxp.pl/ks0108/ The source is made pretty universal, still it took some work and modifications to have it working in mikroC. The archive is a ready working project for mikroC. I tested and developed it on the EasyPIC5 development board with a PIC16F887 microcontroller. You have to have the board  configured for the touchscreen panel and GLCD display &#8211; i suppose you know how to do that, if not you should consult the EasyPIC5 manual. The project has everything you need: a small demo program that uses text and bitmaps so you can see how the touchscreen, graphics, images and text work a font file a file to host your bitmap data graphic functions ks0108 functions microcontroller dependent functions. Download everything HERE.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-592" title="easypic5" src="http://www.sgvulcan.com/wp-content/uploads/2009/12/easypic5.jpg" alt="easypic5" width="133" height="111" />Not that I&#8217;m not happy with the default mikroC library for the KS0108 graphic displays, as I always I wanted something with the source available. Considering that I&#8217;m a beginner with microcontrolers having the source available to hack around is a very valuable learning tool.</p>
<p>The project is based on the source found here:</p>
<p><a href="http://en.radzio.dxp.pl/ks0108/" target="_blank">http://en.radzio.dxp.pl/ks0108/</a></p>
<p>The source is made pretty universal, still it took some work and modifications to have it working in mikroC. The archive is a ready working project for mikroC.</p>
<p>I tested and developed it on the EasyPIC5 development board with a PIC16F887 microcontroller. You have to have the board  configured for the touchscreen panel and GLCD display &#8211; i suppose you know how to do that, if not you should consult the EasyPIC5 manual.</p>
<p>The project has everything you need:</p>
<ul>
<li>a small demo program that uses text and bitmaps so you can see how the touchscreen, graphics, images and text work</li>
<li>a font file</li>
<li>a file to host your bitmap data</li>
<li>graphic functions</li>
<li>ks0108 functions</li>
<li>microcontroller dependent functions.</li>
</ul>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2009/12/ks0108_glcd.zip">Download everything HERE</a>.</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/ks0108-graphics-library-for-pic16f-microcontrollers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A free e-book from Texas Instruments &#8211; LED Reference Design Cookbook</title>
		<link>http://www.sgvulcan.com/a-free-e-book-from-texas-instruments-led-reference-design-cookbook/</link>
		<comments>http://www.sgvulcan.com/a-free-e-book-from-texas-instruments-led-reference-design-cookbook/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 12:23:38 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[texas instruments]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=565</guid>
		<description><![CDATA[The guys over at Make were kind enough to signal this free e-book from Texas instruments. It is a 41-page &#8220;cookbook&#8221; of circuit designs and application notes for TI&#8217;s LED-related components. Makes for an interesting read even if you don&#8217;t use TI&#8217;s stuff. What&#8217;s inside: Small LCD Backlight with Digital and PWM Dimming Small LCD Backlight from LDO Medium-Size LCD Backlight Large-LCD Backlight Driver Constant Current Driver with PFC Boost Controller with PFC Replacement for Standard Lightbulb 25-Watt Dimmable Driver with PFC 100-Watt, Constant-Current, Non-Isolated Driver with PFC 110-Watt, Constant-Current, Isolated Driver with PFC 10-Watt, Green-Mode PWM LED Driver Wireless-Controlled Triple LED Drive Low Voltage Buck Boost for LED Torch Boost Driver with Integrated Power Switch Nonsynchronous Boost LED Driver Wide Input DC Voltage Range SEPIC Driver 3-Watt Solar Lantern LED Reference Design Cookbook [PDF]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-566 alignright" title="texas instruments free led cookbook" src="http://www.sgvulcan.com/wp-content/uploads/2009/11/texas-instruments-free-led-cookbook-230x300.jpg" alt="texas instruments free led cookbook" width="130" height="168" />The guys over at <a href="http://blog.makezine.com/archive/2009/11/free_led_cookbook_from_ti.html" target="_blank">Make </a>were kind enough to signal this free e-book from Texas instruments.</p>
<p>It is a 41-page &#8220;cookbook&#8221; of circuit designs and application notes for TI&#8217;s  LED-related components. Makes for an interesting read even if you don&#8217;t use TI&#8217;s stuff.</p>
<h2>What&#8217;s inside:</h2>
<ul>
<li>Small LCD Backlight with Digital and PWM Dimming</li>
<li>Small LCD Backlight from LDO</li>
<li>Medium-Size LCD Backlight</li>
<li>Large-LCD Backlight Driver</li>
<li>Constant Current Driver with PFC</li>
<li>Boost Controller with PFC</li>
<li>Replacement for Standard<br />
Lightbulb</li>
<li>25-Watt Dimmable Driver<br />
with PFC</li>
<li>100-Watt, Constant-Current,<br />
Non-Isolated Driver with PFC</li>
<li>110-Watt, Constant-Current,<br />
Isolated Driver with PFC</li>
<li>10-Watt, Green-Mode PWM<br />
LED Driver</li>
<li>Wireless-Controlled Triple<br />
LED Drive</li>
<li>Low Voltage Buck Boost for<br />
LED Torch</li>
<li>Boost Driver with Integrated<br />
Power Switch</li>
<li>Nonsynchronous Boost LED<br />
Driver</li>
<li>Wide Input DC Voltage Range<br />
SEPIC Driver</li>
<li>3-Watt Solar Lantern</li>
</ul>
<p><a href="http://focus.ti.com/lit/sg/slyt349/slyt349.pdf">LED Reference  Design Cookbook</a> [PDF]</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/a-free-e-book-from-texas-instruments-led-reference-design-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mini breadboard PSU</title>
		<link>http://www.sgvulcan.com/mini-breadboard-psu/</link>
		<comments>http://www.sgvulcan.com/mini-breadboard-psu/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 07:14:40 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Circuits]]></category>
		<category><![CDATA[breadboard]]></category>
		<category><![CDATA[lm7805]]></category>
		<category><![CDATA[psu]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=506</guid>
		<description><![CDATA[I bet this was discussed and sampled 1000 times before but here is the mini 5V PSU I use for my microcontroler breadboard projects. Usually you will use a 5 volt DC power supply for your microcontroller projects. Since I got tired of breadboarding the power source part all the time, I built a small PSU to power up my projects. I used a screw-in terminal for power input and I simply soldered pins that stick directly into the bread board for the output part. I&#8217;ll follow up with pictures soon. C1 should be at least 25V. C3 can be lower (16V, etc.) R1 should be adequate for the LED you choose at 5V &#8211; use an online led calculator for that. I sugest 480 &#8211; 1K for a red led. You can power it up using a 9V battery or a small DC adapter depending on your projects need. If the consumption is high you&#8217;ll need to use a heatsink  for the LM7805 regulator. Have fun!]]></description>
			<content:encoded><![CDATA[<p>I bet this was discussed and sampled 1000 times before but here is the mini 5V PSU I use for my microcontroler breadboard projects. Usually you will use a 5 volt DC power supply for your microcontroller projects. Since I got tired of breadboarding the power source part all the time, I built a small PSU to power up my projects. I used a screw-in terminal for power input and I simply soldered pins that stick directly into the bread board for the output part.</p>
<p style="text-align: center;"><a href="http://www.sgvulcan.com/wp-content/uploads/2009/09/5v_mini_psu.png" rel="lightbox[506]"><img class="aligncenter size-full wp-image-507" title="5v_mini_psu" src="http://www.sgvulcan.com/wp-content/uploads/2009/09/5v_mini_psu.png" alt="5v_mini_psu" width="632" height="246" /></a></p>
<p>I&#8217;ll follow up with pictures soon.</p>
<p>C1 should be at least 25V. C3 can be lower (16V, etc.) R1 should be adequate for the LED you choose at 5V &#8211; use an online led calculator for that. I sugest 480 &#8211; 1K for a red led.</p>
<p>You can power it up using a 9V battery or a small DC adapter depending on your projects need. If the consumption is high you&#8217;ll need to use a heatsink  for the LM7805 regulator.</p>
<p>Have fun!</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/mini-breadboard-psu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick and dirty way to breadboard a circuit</title>
		<link>http://www.sgvulcan.com/quick-and-dirty-way-to-breadboard-a-circuit/</link>
		<comments>http://www.sgvulcan.com/quick-and-dirty-way-to-breadboard-a-circuit/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 20:17:07 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[breadboard]]></category>
		<category><![CDATA[circuit]]></category>
		<category><![CDATA[staples]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=502</guid>
		<description><![CDATA[Since I didn&#8217;t want to pay for a kit of precut and bent wires for a breadboard and I am also lazy enough to put up trying a few ideeas because it involves cutting wires, I looked around and found an easy way to make connections on a breadboard: staples! Just use a stapler so that it dispenses the staples without bending them or a cutter (watch the fingers) to obtain individual staples. Since staples come in many sizes it&#8217;s easy to prepare a nice kit that should cut down on the number of wires hanging off your breadboard. Just make sure the staple is not too thick to damage your breadboard. Have fun !]]></description>
			<content:encoded><![CDATA[<p>Since I didn&#8217;t want to pay for a kit of precut and bent wires for a breadboard and I am also lazy enough to put up trying a few ideeas because it involves cutting wires, I looked around and found an easy way to make connections on a breadboard: staples!</p>
<p>Just use a stapler so that it dispenses the staples without bending them or a cutter (watch the fingers) to obtain individual staples.</p>
<p><a href="http://www.sgvulcan.com/wp-content/uploads/2009/09/IMG_9240_i.jpg" rel="lightbox[502]"><img class="aligncenter size-medium wp-image-503" title="IMG_9240_i" src="http://www.sgvulcan.com/wp-content/uploads/2009/09/IMG_9240_i-300x206.jpg" alt="IMG_9240_i" width="300" height="206" /></a></p>
<p>Since staples come in many sizes it&#8217;s easy to prepare a nice kit that should cut down on the number of wires hanging off your breadboard. Just make sure the staple is not too thick to damage your breadboard.</p>
<p>Have fun !</p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/quick-and-dirty-way-to-breadboard-a-circuit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A little fun with the 12F675 and mikroC</title>
		<link>http://www.sgvulcan.com/a-little-fun-with-the-12f675-and-mikroc/</link>
		<comments>http://www.sgvulcan.com/a-little-fun-with-the-12f675-and-mikroc/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 18:19:19 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=484</guid>
		<description><![CDATA[I have a small example that should get you going with the PIC 12F675 microcontroller and mikroC PRO. I am using the EasyPIC5 development board but I am sure you can adapt it to many development systems. It&#8217;s just a small introduction you can use as a tutorial on getting started with a comon, cheap and simple microcontroller. View Code C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 bit oldstate; // Old state flag &#160; void main&#40;&#41; &#123; ANSEL = 0; // Configure AN pins as digital CMCON = 7; // Turn off the comparators TRISIO = 0; // configure pins of GPIO as output TRISIO3_bit = 1; GPIO = 0xFF; do &#123; if &#40;Button&#40;&#38;amp;GPIO, 3, 1, 1&#41;&#41; &#123; // Detect logical one oldstate = 1; // Update flag &#125; if &#40;oldstate &#38;amp;&#38;amp; Button&#40;&#38;amp;GPIO, 3, 1, 0&#41;&#41; &#123; // Detect one-to-zero transition GPIO = ~GPIO; // Invert GPIO oldstate = 0; // Update flag &#125; // beginning of a repeat loop &#125; while&#40;1&#41;; // endless loop &#125; Copy and paste the code above in MikroC PRO. You can use the free version as the PIC12F675 only has 1K flash [...]]]></description>
			<content:encoded><![CDATA[<p>I have a small example that should get you going with the PIC 12F675 microcontroller and mikroC PRO. I am using the EasyPIC5 development board but I am sure you can adapt it to many development systems. It&#8217;s just a small introduction you can use as a tutorial on getting started with a comon, cheap and simple microcontroller.</p>
<p><span id="more-484"></span></p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p484code2'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4842"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code" id="p484code2"><pre class="c" style="font-family:monospace;">bit oldstate<span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// Old state flag</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  ANSEL  <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// Configure AN pins as digital</span>
  CMCON  <span style="color: #339933;">=</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// Turn off the comparators</span>
  TRISIO <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// configure pins of GPIO as output</span>
  TRISIO3_bit <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
  GPIO <span style="color: #339933;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">do</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>Button<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>GPIO<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  <span style="color: #666666; font-style: italic;">// Detect logical one</span>
      oldstate <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>                <span style="color: #666666; font-style: italic;">// Update flag</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>oldstate <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> Button<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>GPIO<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #666666; font-style: italic;">// Detect one-to-zero transition</span>
      GPIO <span style="color: #339933;">=</span> ~GPIO<span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// Invert GPIO</span>
      oldstate <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// Update flag</span>
    <span style="color: #009900;">&#125;</span>                     <span style="color: #666666; font-style: italic;">// beginning of a repeat loop</span>
  <span style="color: #009900;">&#125;</span>  <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>           <span style="color: #666666; font-style: italic;">// endless loop</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Copy and paste the code above in MikroC PRO. You can use the free version as the PIC12F675 only has 1K flash memory. This small example changes the state of the LEDs on every press on the GPIO3 button (RA3 on the EasyPIC5). Don&#8217;t forget to set MCLR and oscillator as <strong>internal</strong> &#8211; so you get three extra pins! GPIO3 is input only so we will use it for a button. Should you want to test this on a breadboard or something similar this should be the schematic:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-486" title="schema_12f675_leds" src="http://www.sgvulcan.com/wp-content/uploads/2009/09/schema_12f675_leds.png" alt="schema_12f675_leds" width="526" height="361" /></p>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/a-little-fun-with-the-12f675-and-mikroc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>I have a linux Jukebox ! [2011 update]</title>
		<link>http://www.sgvulcan.com/i-have-a-linux-jukebox/</link>
		<comments>http://www.sgvulcan.com/i-have-a-linux-jukebox/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 19:30:04 +0000</pubDate>
		<dc:creator>silviu</dc:creator>
				<category><![CDATA[*nix]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[blaupunkt]]></category>
		<category><![CDATA[esekeyd]]></category>
		<category><![CDATA[jukebox]]></category>
		<category><![CDATA[lcd-stuff]]></category>
		<category><![CDATA[lcdproc]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mpc]]></category>
		<category><![CDATA[mpd]]></category>
		<category><![CDATA[numpad]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.sgvulcan.com/?p=462</guid>
		<description><![CDATA[Finally, after years of putting it away, after a few design changes and a fried motherboard I have a linux jukebox. Well, not a jukebox but more an internet radio. Check at the bottom for the latest updates. When I first had the ideea I noticed an old ~ &#8217;50s Blaupunkt Radio my father had in his basement. I investigated if the radio was worth restoring but the inside was rusted, the capacitors were long gone and most of the tubes were missing. It was more a case of rebuilding rather than restoring. I checked around the internet and saw that many models like this one existed, so it was not rare. And so, the radio was gutted and the insides went away. I cleaned and repaired the case as best as I could. The first ideea was to have a big harddrive inside, an amp and external speakers hooked to it. It worked like this for a while until the motherboard I used fried and so did the amp. The project was eventualy put aside. Anyways recently, I aquired an old Pentium III Compaq. By the case I could swear it was a small motherboard. It was NOT, and [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, after years of putting it away, after a few design changes and a fried motherboard I have a linux jukebox. Well, not a jukebox but more an internet radio.</p>
<p><strong>Check at the bottom for the latest updates.</strong></p>
<div id="attachment_463" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sgvulcan.com/wp-content/uploads/2009/08/IMG_9095_i.jpg" rel="lightbox[462]"><img class="size-medium wp-image-463" title="Linux Webradio" src="http://www.sgvulcan.com/wp-content/uploads/2009/08/IMG_9095_i-300x200.jpg" alt="Linux Webradio" width="300" height="200" /></a><p class="wp-caption-text">Linux internet radio inside a vintage Blaupunkt radio case</p></div>
<p>When I first had the ideea I noticed an old ~ &#8217;50s Blaupunkt Radio my father had in his basement. I investigated if the radio was worth restoring but the inside was rusted, the capacitors were long gone and most of the tubes were missing. It was more a case of rebuilding rather than restoring. I checked around the internet and saw that many models like this one existed, so it was not rare. And so, the radio was gutted and the insides went away. I cleaned and repaired the case as best as I could.</p>
<p>The first ideea was to have a big harddrive inside, an amp and external speakers hooked to it. It worked like this for a while until the motherboard I used fried and so did the amp. The project was eventualy put aside.</p>
<p>Anyways recently, I aquired an old Pentium III Compaq. By the case I could swear it was a small motherboard. It was NOT, and also the custom compaq psu had very short wires, but I managed to fit it inside. Since I have a media center pc hooked to the tv and the surround with all the music on it I decided to change the original ideea and make it what it originally was: a radio.</p>
<p>So, I gutted an old set of very good sounding Altec Lansing computer speakers and installed the small amp and speakers inside. I also mounted the motherboard and psu inside. One small fan on a side does the job of cooling everything down. I use one of the buttons on the front for the amp and another one for the computer.</p>
<p>I gave up the harddrive from the original design for a compact flash &lt;-&gt; ide adapter and the system now boots from a 4 Gb compact flash card. I think I could have squeezed everything on a smaller card but I decided to do all the compiling in place and since cards are cheap I went for a big one. The adapter has space for a second card and, if I want I can fit a second, bigger card, to hold some music.</p>
<p>I have a usb numpad for control and the <a href="http://www.sgvulcan.com/4x20-lcd-screen-with-usb-interface/">usb lcd display</a> featured some time ago on this site for display.</p>
<p>Software:</p>
<ul>
<li><a href="http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki" target="_blank">mpd</a> for playback</li>
<li><a href="http://mpd.wikia.com/wiki/Client:Mpc" target="_blank">mpc</a> for mpd control</li>
<li><a href="http://lcdproc.omnipotent.net/" target="_blank">Lcdproc</a> and <a href="http://lcd-stuff.berlios.de/">lcd-stuff</a> for usb lcd display</li>
<li><a href="http://www.burghardt.pl/tag/keyboard/" target="_blank">esekeyd</a> for numpad control</li>
<li>a bunch of bash scripts to glue everything in place</li>
</ul>
<p>I hit a few problems:</p>
<ul>
<li>Event Music Player Client daemon does not work, at least with my keypad. So I had to use an external daemon &#8211; esekeyd with mpc to control mpd.</li>
<li>lcd-stuff does not display the Name tag (that would be the radio station name, just the artist and track name. Fortunately it has a configuration tag to use as a title for the screen &#8211; on every playlist change a bashscript modifies that configuration setting to reflect the radio station&#8217;s name and reloads lcd-stuff &#8211; it&#8217;s ugly but it works.</li>
<li>I didn&#8217;t find a way to save .pls and .m3u files and have them recognized by the mpd database. So a script is called at boot time (and also can be started from one of the keys on the keypad) to generate a playlist of the radio stations. Control is easy after that, it&#8217;s a matter of play/stop, next / prev</li>
<li>I wanted to have a way to shut down the system safely from the keypad. OTOH I didn&#8217;t want shutting down every time I hit the wrong key. But esekeyd doesn&#8217;t support combinations. So I had <strong>*</strong> create a file, <strong>/</strong> create a second one but only if the first file (created by *) existed and on backspace press verify if the two files exist and if yes poweroff.</li>
</ul>
<p>I&#8217;ll post soon more photos, the insides and the configuration files and bash scripts used.</p>
<p><strong>2011 Update</strong></p>
<p>It never functioned reliably and so I decided on rebuilding it once more <img src='http://www.sgvulcan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li>The Compaq Deskpro EN was reassembled and donated to charity.</li>
<li>I bought the cheapest intel motherboard with an atom processor.</li>
<li>With the motherboard I also bought a small, slim PSU which happened to have the loudest annoying fan I ever heard. Fortunately the motherboard and disk use small amounts of power so no heat is produced. I hooked the fan to 5v and now it&#8217;s quiet.</li>
<li>I got a good deal on a pair of Microlab powered speakers (were the last in stock, open box) so I hooked those up to the radio. It&#8217;s still possible to use the insternal speakers but why would you want to <img src='http://www.sgvulcan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Used a 500Gb sata disk that I also had around.</li>
<li>Took the oportunity to update slackware, mpd and everything else to the latest versions.</li>
<li>Took out the LCD until I can find time to build it in a nice case</li>
<li>The usb numpad is still there but I&#8217;m having trouble finding a daemon that actually works between two reboots</li>
<li>I use Client175 for web control and also Sonata on n800 and DroidMPD on my wife&#8217;s tablet to control it. Having 500Gb it&#8217;s got it&#8217;s music back (not only internet radio).</li>
<li>Since playlist support seems to be better now I have each radio stored in a playlist that DroidMPD or Client175 can simply load.</li>
<li>The best thing is that there are no custom hackish scripts left that could break all the time. It&#8217;s just stock mpd, playlists and the clients. Oh, I also have the command line clients installed for when I ssh into it using my n900.</li>
<li>The only problematic thing left is the shitty usb wi-fi adapter I use (don&#8217;t know, might be the drivers) it&#8217;s slow and sometimes connection drops. I added <strong>ping -c1 GATEWAY_IP </strong>in cron every 2 minutes and this seems to help.</li>
</ul>
<p>Somebody in the comments asked for the configurations and scripts  The original ones, from the compact flash should still be in backups somewhere but I don&#8217;t see how they could help, as they point to old or discontinued versions.  (lcd-stuff comes to mind). The configuration I use now is as stock as one can get with mpd. Let me know if you have questions about it and also <strong><em>please</em></strong> recommend me a daemon that can listen for keystrokes from the usb keypad and it&#8217;s stable.</p>
<p>Have fun.</p>
<h1 class="ha"><span id=":4g" class="hP"> I have a linux Jukebox !</span></h1>
<div id="in_post_ad_bottom_1" style="clear:both;margin: 5px;padding: 0px;"><p> </p>
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7825242150714747";
/* Dupa articol 468x60, created 8/19/09 */
google_ad_slot = "8916341192";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></div><div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.sgvulcan.com/i-have-a-linux-jukebox/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

