<?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>edeca.net &#187; Electronics</title>
	<atom:link href="http://edeca.net/wp/category/electronics/feed/" rel="self" type="application/rss+xml" />
	<link>http://edeca.net/wp</link>
	<description>Musings of a geek</description>
	<lastBuildDate>Sat, 10 Jul 2010 11:10:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cooking with gas, my first SMD board</title>
		<link>http://edeca.net/wp/2010/05/cooking-with-gas-my-first-smd-board/</link>
		<comments>http://edeca.net/wp/2010/05/cooking-with-gas-my-first-smd-board/#comments</comments>
		<pubDate>Mon, 10 May 2010 18:30:29 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://edeca.net/wp/?p=512</guid>
		<description><![CDATA[My first bunch of boards arrived back from BatchPCB and I&#8217;m really impressed.  Great printing for the silkscreen and a really professional looking product.  One of the boards I ordered was a breakout board for the SMD PIC 18F2321, the first surface mount board I have tried. The original board was designed and kindly sent [...]]]></description>
			<content:encoded><![CDATA[<p>My first bunch of boards arrived back from BatchPCB and I&#8217;m really impressed.  Great printing for the silkscreen and a really professional looking product.  One of the boards I ordered was a breakout board for the SMD PIC 18F2321, the first surface mount board I have tried.<br />
<span id="more-512"></span><br />
The original board was designed and kindly sent to me by 3v0, I tidied up the silkscreen before shipping it off to be produced.</p>
<div id="attachment_513" class="wp-caption aligncenter" style="width: 285px"><a href="http://edeca.net/wp/wp-content/uploads/2010/05/PCB0001-board.png"><img class="size-full wp-image-513" title="PCB0001 board" src="http://edeca.net/wp/wp-content/uploads/2010/05/PCB0001-board.png" alt="" width="275" height="137" /></a><p class="wp-caption-text">Copper layers</p></div>
<p style="text-align: left;">
<div id="attachment_514" class="wp-caption aligncenter" style="width: 285px"><a href="http://edeca.net/wp/wp-content/uploads/2010/05/PCB0001-silkscreen.png"><img class="size-full wp-image-514" title="PCB0001 silkscreen" src="http://edeca.net/wp/wp-content/uploads/2010/05/PCB0001-silkscreen.png" alt="" width="275" height="137" /></a><p class="wp-caption-text">Silkscreen</p></div>
<p style="text-align: left;">This board uses 0803 SMD parts, but boy are they tiny.  These are some of the larger surface mount components, I definitely would not try the smaller ones.  After applying paste by hand to the board (I used <a href="http://uk.farnell.com/edsyn/cr44/solder-paste-in-syringe/dp/876768">this stuff</a>) I carefully placed the components using a <a href="http://uk.farnell.com/shesto/cl5044/seizer-straight-jaw-125mm/dp/202708">pair of tweezers</a> I bought specially.</p>
<p style="text-align: left;">Most board houses will apply a solder mask to manufactured PCBs, this is a special layer on top of the board that covers up everything except the pads.  This means a thin line of paste can be run along all the pins of the chip, there is no need to try and put an individual dot on every pad!  As the paste heats up and turns into solder the flux will evaporate and surface tension pulls the solder paste back onto each pad.</p>
<p style="text-align: left;">The original board, paste and tweezers can be seen in the image below.</p>
<p style="text-align: left;">
<div id="attachment_517" class="wp-caption aligncenter" style="width: 310px"><a href="http://edeca.net/wp/wp-content/uploads/2010/05/SMD-tools.jpg"><img class="size-medium wp-image-517" title="SMD tools" src="http://edeca.net/wp/wp-content/uploads/2010/05/SMD-tools-300x199.jpg" alt="" width="300" height="199" /></a><p class="wp-caption-text">SMD board tools</p></div>
<p style="text-align: left;">After assembly came the fun bit, cooking time!  I kept an old frying pan specially for this, into which I placed the board.  Cooking time was no more than a few minutes, it is very visible when the paste starts to reflow and turn into molten solder.  As soon as that happened I turned off the gas hob and left it to cool.</p>
<p style="text-align: left;">
<div id="attachment_518" class="wp-caption aligncenter" style="width: 209px"><a href="http://edeca.net/wp/wp-content/uploads/2010/05/Cooking-SMD-PCB.jpg"><img class="size-medium wp-image-518" title="Cooking SMD PCB" src="http://edeca.net/wp/wp-content/uploads/2010/05/Cooking-SMD-PCB-199x300.jpg" alt="" width="199" height="300" /></a><p class="wp-caption-text">Cooking an SMD PCB!</p></div>
<p>Note that the oven thermometer really doesn&#8217;t work, it had barely reached 50°C by the time the board was finished.  A non contact IR thermometer apparently works much better and should be considered if you want to roughly follow a specific reflow profile.</p>
<p style="text-align: left;">The final result is shown below, after the header pins were hand soldered.</p>
<p style="text-align: left;">
<div id="attachment_519" class="wp-caption aligncenter" style="width: 310px"><a href="http://edeca.net/wp/wp-content/uploads/2010/05/Finished-SMD-PCB.jpg"><img class="size-medium wp-image-519" title="Finished SMD PCB" src="http://edeca.net/wp/wp-content/uploads/2010/05/Finished-SMD-PCB-300x199.jpg" alt="" width="300" height="199" /></a><p class="wp-caption-text">The finished SMD PCB</p></div>
<p style="text-align: left;">Did it work first time?  Well, mostly.  The PIC powered up, the LED blinked on and it talked to PICKit2 on the PC.  After a little examination I found that two of the pads on the chip were not properly soldered, which played havoc with some code I was writing.</p>
<p style="text-align: left;">Next time I think I would use more paste, I was quite frugal with the syringe and had to fix the two bad joints by hand.  I also probably wouldn&#8217;t design all future PCBs as SMD, populating and reflowing the board is easy but the parts are fairly expensive compared to standard &#8220;through hole&#8221; alternatives.</p>
<p style="text-align: left;">One more picture now of it in use.  This little thing really speeds up prototyping time, no need to connect a pull-up resistor, power and ICSP lines manually.  If only writing code was so easy..</p>
<p style="text-align: left;">
<div id="attachment_523" class="wp-caption aligncenter" style="width: 310px"><a href="http://edeca.net/wp/wp-content/uploads/2010/05/SMD-breakout-in-use.jpg"><img class="size-medium wp-image-523" title="SMD breakout in use" src="http://edeca.net/wp/wp-content/uploads/2010/05/SMD-breakout-in-use-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">SMD breakout in use with a graphic LCD</p></div>
<p>For more information, watch this <a href="http://www.youtube.com/watch?v=lqYjPJJBiZo">useful video</a> on Youtube and read the excellent <a href="http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=36">SMD How To</a> from Sparkfun.</p>
]]></content:encoded>
			<wfw:commentRss>http://edeca.net/wp/2010/05/cooking-with-gas-my-first-smd-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the hardware USART with BoostC and a PIC</title>
		<link>http://edeca.net/wp/2010/04/using-the-hardware-usart-with-boostc-and-a-pic/</link>
		<comments>http://edeca.net/wp/2010/04/using-the-hardware-usart-with-boostc-and-a-pic/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 17:08:17 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://edeca.net/wp/?p=416</guid>
		<description><![CDATA[This post looks at what is needed to get a serial connectiong working with BoostC using a PIC with a hardware USART. A later post will cover the BoostC software implementation, when I have finished figuring it out. By the end of this post there will be a PIC uC talking to Hyperterminal on the [...]]]></description>
			<content:encoded><![CDATA[<p>This post looks at what is needed to get a serial connectiong working with <a href="http://www.sourceboost.com/">BoostC</a> using a PIC with a hardware USART.  A later post will cover the BoostC software implementation, when I have finished figuring it out.</p>
<p>By the end of this post there will be a PIC uC talking to Hyperterminal on the PC using less than 50 lines of code.<br />
<span id="more-416"></span></p>
<h3>Pros &amp; cons of using the BoostC library</h3>
<p>There main advantage to using this library to implement serial communication is that it sets up all registers and control bits for you (including <tt>TRIS</tt> for the <tt>TX</tt> and <tt>RX</tt> pins).  This means limited digging around in the datasheet, you can code without worrying about the underlying hardware.</p>
<p>However it may be a disadvantage too.  The limited control over the hardware means that certain things are fixed.  For example, 8-bit transmission is the default.  It might be possible to change these by modifying the PIC registers directly but I haven&#8217;t tried this yet.  Leave a comment if you know it works!</p>
<h3>Requirements</h3>
<p>A few things are necessary to make this work.  Firstly a PIC with hardware USART support, in this post I&#8217;ll be using the PIC 18F1320 as an example.  The hardware USART is listed under &#8220;peripherals&#8221; in datasheets.</p>
<p>In order to talk to a PC we also need some form of level convertor from logic levels (+5v/0v) to <a href="http://en.wikipedia.org/wiki/RS-232">RS-232</a> (maximum voltage range +12/-12v).  I use a MAX232 breakout board that I built myself, but <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=449">this board</a> or <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=133">this board</a> from Sparkfun should work just fine.</p>
<h3>Connecting it up</h3>
<p>The purpose of this post isn&#8217;t to discuss connectivity, but briefly the PIC <tt>TX</tt> and <tt>RX</tt> pins need to be connected to the level shifter, as do +5v and GND.  The serial pins on the PIC can be found in diagrams in the datasheet.  Remember which pins they are as they are needed later.</p>
<h3>Find the right values</h3>
<p>The BoostC library is incredibly easy to use but there are a three values to work out first.  Remember the choices so they can be used in the code later.</p>
<h4>bit_time</h4>
<p>The first value is <tt>bit_time</tt>, which is the number of CPU instruction cycles per bit (note that the header file says this is used by the software USART, but code will not compile without it so it is included here for reference).</p>
<p>Take the clock speed in hz, divide by four and then divide by your desired bit rate.  I recommend starting slow (e.g. 1200 baud) and trying to faster when it works, so for an 8Mhz clock and 1200 baud we get:</p>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">bit_time = 8000000 / 4 / 1200<br />
bit_time = 1666</div></div>
<h4>Baud rate generator mode</h4>
<p>The second thing to work out is whether we need high or low speed mode and what divisor to use.  Fortunately these are fairly simple as they are explained in the datasheet.</p>
<p>If using a <strong>slow</strong> baud rate with a <strong>fast</strong> oscillator, the datasheet recommends using the high baud rate generator.  The datasheet also suggests that it might help to reduce baud rate error.  Enabling this means using a <tt>mode</tt> of 1.  </p>
<p>For this example I used the 8Mhz internal oscillator (fairly low speed) and did not use the high speed generator, so I set <tt>mode</tt> to 0.</p>
<h4>Baud rate generator divisor</h4>
<p>Finding the divisor number is as easy as reading the datasheet to find the &#8220;SPBRG value&#8221;.  There are tables with the combinations of oscillator speed and baud rate showing the correct value.  Be careful to use the correct table for whether you plan to work with the high or low speed generator!</p>
<p>For 1200 baud at 8Mhz using the low speed generator, the value is 103.</p>
<h3>Using the code</h3>
<p>Below is example code which shows how to use the information described above.  It was adapted from the file <tt>serial_test.c</tt> which comes with BoostC.</p>
<p>For some reason the BoostC examples use the hexadecimal locations of the correct registers.  It is possible to use their names instead, e.g. <tt>TRISB</tt>/<tt>LATB</tt>/<tt>PORTB</tt> as I have below.</p>
<p>In the code below it is necessary to change 4 things:</p>
<ul>
<li>the ports and pin numbers for <tt>TX</tt> and <tt>RX</tt> (e.g. if <tt>TX</tt> is <tt>RA6</tt>, use 6)</li>
<li>the <tt>bit_time</tt> value calculated above</li>
<li>the call to <tt>uart_init</tt>, which will need the high/low speed flag and the divisor value</li>
<li>the clock frequency, if 8Mhz is not used</li>
</ul>
<h3>Code example</h3>
<div class="codecolorer-container c twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">/********<br />
* &nbsp; Date: 11th April 2010<br />
* Author: David Cannings<br />
*<br />
* Example BoostC code for hardware USART on a PIC18F1320<br />
********/</span><br />
<span style="color: #339933;">#pragma CLOCK_FREQ 8000000</span><br />
<br />
<span style="color: #339933;">#include &lt;system.h&gt;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Standard 18F1320 configuration, included to pacify PICkit2</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG1H, _IESO_ON_1H &amp; _INTIO2_OSC_1H</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG2L, _PWRT_ON_2L &amp; _BOR_OFF_2L</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG2H, _WDT_OFF_2H</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG3H, _MCLRE_ON_3H</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG4L, _DEBUG_OFF_4L</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG5L, _CP0_OFF_5L &amp; _CP1_OFF_5L</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG5H, _CPB_OFF_5H &amp; _CPD_OFF_5H</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG6L, _WRT0_OFF_6L &amp; _WRT1_OFF_6L</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG6H, _WRTC_OFF_6H &amp; _WRTB_OFF_6H &amp; _WRTD_OFF_6H</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG7L, _EBTR0_OFF_7L &amp; _EBTR1_OFF_7L</span><br />
<span style="color: #339933;">#pragma DATA &nbsp;_CONFIG7H, _EBTRB_OFF_7H</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Setup the hardware USART</span><br />
<span style="color: #666666; font-style: italic;">// TODO: Set the next 6 values to the right ports and pin numbers</span><br />
<span style="color: #339933;">#define TX_PORT &nbsp; &nbsp; PORTB</span><br />
<span style="color: #339933;">#define TX_TRIS &nbsp; &nbsp; TRISB</span><br />
<span style="color: #339933;">#define TX_BIT&nbsp; &nbsp; &nbsp; 1</span><br />
<span style="color: #339933;">#define RX_PORT &nbsp; &nbsp; PORTB</span><br />
<span style="color: #339933;">#define RX_TRIS &nbsp; &nbsp; TRISB</span><br />
<span style="color: #339933;">#define RX_BIT&nbsp; &nbsp; &nbsp; 4</span><br />
<br />
<span style="color: #666666; font-style: italic;">// The following values are for 18F parts, for 16F see rs232_driver.h</span><br />
<span style="color: #339933;">#define e_SPBRG &nbsp; &nbsp; 0x0faf</span><br />
<span style="color: #339933;">#define e_RCREG &nbsp; &nbsp; 0x0fae</span><br />
<span style="color: #339933;">#define e_TXREG &nbsp; &nbsp; 0x0fad</span><br />
<span style="color: #339933;">#define e_TXSTA &nbsp; &nbsp; 0x0fac</span><br />
<span style="color: #339933;">#define e_RCSTA &nbsp; &nbsp; 0x0fab</span><br />
<span style="color: #339933;">#define e_TXIF_PIR&nbsp; 0x0f9e</span><br />
<span style="color: #339933;">#define e_RCIF_PIR&nbsp; 0x0f9e</span><br />
<span style="color: #339933;">#define e_TXIF_BIT&nbsp; 4</span><br />
<span style="color: #339933;">#define e_RCIF_BIT&nbsp; 5</span><br />
<span style="color: #339933;">#define MODE&nbsp; &nbsp; &nbsp; &nbsp; (USART_reset_wdt | USART_HW)</span><br />
<br />
<span style="color: #666666; font-style: italic;">// bit_time = FOSC / 4 / baud_rate, so 1200 baud at 8Mhz</span><br />
<span style="color: #666666; font-style: italic;">// TODO: Set bit_time here</span><br />
<span style="color: #339933;">#define bit_time 1666</span><br />
<br />
<span style="color: #339933;">#include &lt;rs232_driver.h&gt;</span><br />
<br />
<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><br />
&nbsp; &nbsp; osccon <span style="color: #339933;">=</span> <span style="color: #208080;">0x72</span><span style="color: #339933;">;</span>&nbsp; <span style="color: #666666; font-style: italic;">// 8Mhz internal oscillator</span><br />
<br />
&nbsp; &nbsp; adcon0 <span style="color: #339933;">=</span> <span style="color: #208080;">0x00</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">// Disable internal ADC</span><br />
&nbsp; &nbsp; adcon1 <span style="color: #339933;">=</span> <span style="color: #208080;">0x7F</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">// Set all PORTB to digital I/O</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Setup the USART, arguments are baud rate generator mode</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// and divisor</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// TODO: Set mode and divisor here</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// I chose 0 for low speed mode and 103 for 1200 baud at 8Mhz</span><br />
&nbsp; &nbsp; uart_init<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">103</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Send some text from the PIC to PC</span><br />
&nbsp; &nbsp; puts<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Hello, world&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// If a character is received from the PC, send it back</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>kbhit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; puts<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;You pressed: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; putc<span style="color: #009900;">&#40;</span>getc<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; puts<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>Setting up a PC client</h3>
<p>As I mentioned above the settings for serial communication are fixed by the library.  You will need to set 1200 bits per second, 8 data bits, no parity, 1 stop bit and Xon/Xoff flow control.  This is often shortened to &#8220;1200 8-N-1&#8243;.</p>
<p>If you use Hyperterminal, all settings are on the properties page for the relevant serial port.</p>
<h3>Conclusion</h3>
<p>And finally, some proof that it actually works!  If you find this post useful, or you need further help, please leave a comment below.<br />

<a href='http://edeca.net/wp/2010/04/using-the-hardware-usart-with-boostc-and-a-pic/pic-hardware-usart-test/' title='PIC hardware USART test'><img width="150" height="150" src="http://edeca.net/wp/wp-content/uploads/2010/04/PIC-hardware-USART-test-150x150.jpg" class="attachment-thumbnail" alt="PIC hardware USART test" title="PIC hardware USART test" /></a>
<a href='http://edeca.net/wp/2010/04/using-the-hardware-usart-with-boostc-and-a-pic/rs232-breakout-board/' title='RS232 breakout board'><img width="150" height="150" src="http://edeca.net/wp/wp-content/uploads/2010/04/RS232-breakout-board-150x150.jpg" class="attachment-thumbnail" alt="RS232 breakout board" title="RS232 breakout board" /></a>
<a href='http://edeca.net/wp/2010/04/using-the-hardware-usart-with-boostc-and-a-pic/pic-rs232-screenshot/' title='PIC RS232 screenshot'><img width="150" height="150" src="http://edeca.net/wp/wp-content/uploads/2010/04/PIC-RS232-screenshot-150x150.png" class="attachment-thumbnail" alt="PIC RS232 screenshot" title="PIC RS232 screenshot" /></a>
</p>
<h3>Update</h3>
<p>Mike (K8LH) has posted a great little utility <a href="http://www.microchip.com/forums/tm.aspx?m=76411&#038;mpage=1&#038;key=&#">on the Microchip forums</a> that can help work out the correct values, if you don&#8217;t fancy digging through datasheets.</p>
]]></content:encoded>
			<wfw:commentRss>http://edeca.net/wp/2010/04/using-the-hardware-usart-with-boostc-and-a-pic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eagle components library added</title>
		<link>http://edeca.net/wp/2010/03/eagle-components-library-added/</link>
		<comments>http://edeca.net/wp/2010/03/eagle-components-library-added/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 19:51:15 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://edeca.net/wp/?p=407</guid>
		<description><![CDATA[A very short note to say that I have (finally) published my Eagle components library on this site. Right now it doesn&#8217;t contain many parts, but I will add to it as I make more boards.]]></description>
			<content:encoded><![CDATA[<p>A very short note to say that I have (finally) published my <a href="http://edeca.net/wp/electronics/">Eagle components library</a> on this site.  Right now it doesn&#8217;t contain many parts, but I will add to it as I make more boards.</p>
]]></content:encoded>
			<wfw:commentRss>http://edeca.net/wp/2010/03/eagle-components-library-added/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY pcb making &#8211; my first board</title>
		<link>http://edeca.net/wp/2009/07/diy-pcb-making-my-first-board/</link>
		<comments>http://edeca.net/wp/2009/07/diy-pcb-making-my-first-board/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 18:58:37 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://edeca.net/newsite/?p=59</guid>
		<description><![CDATA[After getting back into electronics recently, I decided to have a go at making a PCB.  A friend pointed me to Pulsar Pro FX, a special toner release paper. I learned a few things along the way: use thin board, this makes a huge difference.  I found 0.0032&#8243; board at Crownhill in the UK, which [...]]]></description>
			<content:encoded><![CDATA[<p>After getting back into electronics recently, I decided to have a go at making a PCB.  A friend pointed me to <a href="http://www.pulsarprofx.com/PCBfx/main_site/pages/index.html">Pulsar Pro FX</a>, a special toner release paper.</p>
<p>I learned a few things along the way<span id="more-59"></span>:</p>
<ul>
<li>use thin board, this makes a huge difference.  I found 0.0032&#8243; board at <a href="http://www.crownhill.co.uk/">Crownhill</a> in the UK, which seems perfect</li>
<li>let the laminator warm up enough, wait at least 15 minutes after the light comes on</li>
<li>always leave enough of an edge on the paper and board, excess can always be trimmed off later</li>
</ul>
<p>Failing to do these wastes time, paper and energy and results in lots of cleaning up to do.</p>
<p>Below is a sample of what the finished PCB looks like.  The slight roughness round the edges is due to cutting it with scissors and the black tint is because I did not have acetone to clean the toner off with.</p>
<div id="attachment_67" class="wp-caption aligncenter" style="width: 160px"><a href="http://edeca.net/wp/wp-content/uploads/2009/07/first_pcb.jpg"><img class="size-thumbnail wp-image-67  " title="First PCB made with Pulsar Pro FX" src="http://edeca.net/wp/wp-content/uploads/2009/07/first_pcb-150x150.jpg" alt="First PCB made with Pulsar Pro FX" width="150" height="150" /></a><p class="wp-caption-text">First PCB made with Pulsar Pro FX</p></div>
<p>There is an <a href="http://www.ultrakeet.com/index.php?id=article&amp;name=makepcbs">excellent guide</a> to using the paper which includes step-by-step pictures and the finished result.  SMD and double sided boards are perfectly possible, but I haven&#8217;t tried yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://edeca.net/wp/2009/07/diy-pcb-making-my-first-board/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
