<?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>Appnotes &#8211; The Longhorn Engineer</title>
	<atom:link href="https://longhornengineer.com/category/pcba/appnotes/feed/" rel="self" type="application/rss+xml" />
	<link>https://longhornengineer.com</link>
	<description>Robotics, Pinball, Hacking, Portables</description>
	<lastBuildDate>Fri, 13 Jan 2023 04:46:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Unboxing a DC2254A-A Evaluation board for the LTC2965-1</title>
		<link>https://longhornengineer.com/2023/01/12/unboxing-a-dc2254a-a-evaluation-board-for-the-ltc2965-1/</link>
		
		<dc:creator><![CDATA[Parker]]></dc:creator>
		<pubDate>Fri, 13 Jan 2023 04:46:56 +0000</pubDate>
				<category><![CDATA[Appnotes]]></category>
		<category><![CDATA[Breakout Boards]]></category>
		<category><![CDATA[PCBA & ENG]]></category>
		<category><![CDATA[Cat Feeder Unreminder]]></category>
		<category><![CDATA[DC2254A-B]]></category>
		<category><![CDATA[LTC2956]]></category>
		<guid isPermaLink="false">https://longhornengineer.com/?p=3611</guid>

					<description><![CDATA[For keeping the time for the Cat Feeder Unreminder I am planning on using the LTC2956-1 which is a super low power timer that has push button reset control. It can accurately handle very long timers that a traditional RC style timers (think 555 timer) wouldn&#8217;t be able to do. To see if this chip &#8230; <a href="https://longhornengineer.com/2023/01/12/unboxing-a-dc2254a-a-evaluation-board-for-the-ltc2965-1/" class="more-link">Continue reading <span class="screen-reader-text">Unboxing a DC2254A-A Evaluation board for the LTC2965-1</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p>For keeping the time for the Cat Feeder Unreminder I am planning on using the <a href="https://www.analog.com/en/products/ltc2956.html" data-type="URL" data-id="https://www.analog.com/en/products/ltc2956.html" target="_blank" rel="noreferrer noopener">LTC2956-1</a> which is a super low power timer that has push button reset control. It can accurately handle very long timers that a traditional RC style timers (think 555 timer) wouldn&#8217;t be able to do.</p>



<p>To see if this chip will work for my application I picked up the <a href="https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/dc2254a-a.html" data-type="URL" data-id="https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/dc2254a-a.html" target="_blank" rel="noreferrer noopener">DC2254A-A evaluation board</a>. </p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="774" src="https://longhornengineer.com/wp-content/uploads/image-174-1024x774.png" alt="" class="wp-image-3612" srcset="https://longhornengineer.com/wp-content/uploads/image-174-1024x774.png 1024w, https://longhornengineer.com/wp-content/uploads/image-174-800x605.png 800w, https://longhornengineer.com/wp-content/uploads/image-174-150x113.png 150w, https://longhornengineer.com/wp-content/uploads/image-174-768x581.png 768w, https://longhornengineer.com/wp-content/uploads/image-174-1536x1161.png 1536w, https://longhornengineer.com/wp-content/uploads/image-174-2048x1549.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">The box the DC2254A-A evaluation board comes in.</figcaption></figure>



<p></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="719" src="https://longhornengineer.com/wp-content/uploads/image-175-1024x719.png" alt="" class="wp-image-3613" srcset="https://longhornengineer.com/wp-content/uploads/image-175-1024x719.png 1024w, https://longhornengineer.com/wp-content/uploads/image-175-800x562.png 800w, https://longhornengineer.com/wp-content/uploads/image-175-150x105.png 150w, https://longhornengineer.com/wp-content/uploads/image-175-768x540.png 768w, https://longhornengineer.com/wp-content/uploads/image-175-1536x1079.png 1536w, https://longhornengineer.com/wp-content/uploads/image-175-2048x1439.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Inside the box.</figcaption></figure>



<p></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" src="https://longhornengineer.com/wp-content/uploads/image-176-622x1024.png" alt="" class="wp-image-3614" width="371" height="611" srcset="https://longhornengineer.com/wp-content/uploads/image-176-622x1024.png 622w, https://longhornengineer.com/wp-content/uploads/image-176-800x1318.png 800w, https://longhornengineer.com/wp-content/uploads/image-176-91x150.png 91w, https://longhornengineer.com/wp-content/uploads/image-176-768x1265.png 768w, https://longhornengineer.com/wp-content/uploads/image-176-932x1536.png 932w, https://longhornengineer.com/wp-content/uploads/image-176.png 987w" sizes="(max-width: 371px) 100vw, 371px" /><figcaption class="wp-element-caption">The Evaluation Board</figcaption></figure></div>


<p></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://longhornengineer.com/wp-content/uploads/image-177-1024x918.png" alt="" class="wp-image-3615" width="546" height="489" srcset="https://longhornengineer.com/wp-content/uploads/image-177-1024x918.png 1024w, https://longhornengineer.com/wp-content/uploads/image-177-800x717.png 800w, https://longhornengineer.com/wp-content/uploads/image-177-150x134.png 150w, https://longhornengineer.com/wp-content/uploads/image-177-768x688.png 768w, https://longhornengineer.com/wp-content/uploads/image-177.png 1147w" sizes="(max-width: 546px) 100vw, 546px" /></figure></div>


<p></p>



<p>Here is the datasheet for the <a href="https://www.analog.com/media/en/technical-documentation/user-guides/DC2254AF.PDF" data-type="URL" data-id="https://www.analog.com/media/en/technical-documentation/user-guides/DC2254AF.PDF" target="_blank" rel="noreferrer noopener">evaluation board</a>. </p>



<p>For my use case, I am going to pull ONMAX to GND which will disable the timer that turns off the AWAKE timer. I will toggle the Sleep pin from low to high to low to reset the timer. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="656" src="https://longhornengineer.com/wp-content/uploads/image-178-1024x656.png" alt="" class="wp-image-3617" srcset="https://longhornengineer.com/wp-content/uploads/image-178-1024x656.png 1024w, https://longhornengineer.com/wp-content/uploads/image-178-800x512.png 800w, https://longhornengineer.com/wp-content/uploads/image-178-150x96.png 150w, https://longhornengineer.com/wp-content/uploads/image-178-768x492.png 768w, https://longhornengineer.com/wp-content/uploads/image-178-1536x984.png 1536w, https://longhornengineer.com/wp-content/uploads/image-178-2048x1312.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>Seems to work!</p>



<p> </p>



<p></p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Appnote: Parallax Propeller layout. Dual SMD footprint.</title>
		<link>https://longhornengineer.com/2014/01/01/appnote-parallax-propeller-layout-dual-smd-footprint/</link>
		
		<dc:creator><![CDATA[Parker]]></dc:creator>
		<pubDate>Thu, 02 Jan 2014 01:46:26 +0000</pubDate>
				<category><![CDATA[Appnotes]]></category>
		<category><![CDATA[PCBA & ENG]]></category>
		<category><![CDATA[P8X32A-M44]]></category>
		<category><![CDATA[P8X32A-Q44]]></category>
		<category><![CDATA[Parallax Propeller]]></category>
		<category><![CDATA[Parallax Propeller Dual SMT Footprint]]></category>
		<guid isPermaLink="false">https://longhornengineer.com/?p=1969</guid>

					<description><![CDATA[The Parallax Propeller MCU runs in 3 different flavors. A DIP-40 package (P8X32A-D40), a LQFP-44 package (P8X32A-Q44), and a QFN-44 package (P8X32A-M44). This appnote covers the two SMD packages; LQFP-44 and QFN-44. The schematic is fairly simple as its just to show a typical layout of for the Propeller. The part number for the crystal &#8230; <a href="https://longhornengineer.com/2014/01/01/appnote-parallax-propeller-layout-dual-smd-footprint/" class="more-link">Continue reading <span class="screen-reader-text">Appnote: Parallax Propeller layout. Dual SMD footprint.</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>The <a href="http://www.parallax.com/catalog/microcontrollers/propeller">Parallax Propeller</a> MCU runs in 3 different flavors. A DIP-40 package (P8X32A-D40), a LQFP-44 package (P8X32A-Q44), and a QFN-44 package (P8X32A-M44). This appnote covers the two SMD packages; LQFP-44 and QFN-44.</p>
<p><a href="https://longhornengineer.com/wp-content/uploads/Schematic-3.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-3134" src="https://longhornengineer.com/wp-content/uploads/Schematic-3-800x1032.png" alt="" width="800" height="1032" srcset="https://longhornengineer.com/wp-content/uploads/Schematic-3-800x1032.png 800w, https://longhornengineer.com/wp-content/uploads/Schematic-3-794x1024.png 794w, https://longhornengineer.com/wp-content/uploads/Schematic-3-116x150.png 116w, https://longhornengineer.com/wp-content/uploads/Schematic-3-768x991.png 768w, https://longhornengineer.com/wp-content/uploads/Schematic-3-1191x1536.png 1191w, https://longhornengineer.com/wp-content/uploads/Schematic-3-1588x2048.png 1588w, https://longhornengineer.com/wp-content/uploads/Schematic-3.png 1697w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>The schematic is fairly simple as its just to show a typical layout of for the Propeller. The part number for the crystal is a 6MHz which will run the Propeller at 96MHz. It is a common HC-49/US package so the standard 5MHz type crystal can be used with this layout.</p>
<p><a href="https://longhornengineer.com/wp-content/uploads/Layout-7.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-3135" src="https://longhornengineer.com/wp-content/uploads/Layout-7-800x539.png" alt="" width="800" height="539" srcset="https://longhornengineer.com/wp-content/uploads/Layout-7-800x539.png 800w, https://longhornengineer.com/wp-content/uploads/Layout-7-150x101.png 150w, https://longhornengineer.com/wp-content/uploads/Layout-7-768x518.png 768w, https://longhornengineer.com/wp-content/uploads/Layout-7.png 902w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>I made a special footprint that can use both the P8X32A-Q44 and P8X32A-M44. This way a part shortage on either package won&#8217;t hurt production. I made sure to leave plenty of room around the chip and supporting circuitry for easy fanout of the I/O. Just make sure to route away from the X0 and X1 crystal I/O to reduce EMF.</p>
<p>Files can be found on the <a href="https://github.com/LonghornEngineer/Appnotes_Propeller_LQFP-QFN-44">GitHub repository</a> and the footprint itself can be found in the my <a href="https://github.com/LonghornEngineer/Eagle_Part_Libraries">Eagle Library</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Appnote: Using mosfets to expand the WS2801 LED Driver</title>
		<link>https://longhornengineer.com/2013/12/26/appnote-using-mosfets-to-expand-the-ws2801-led-driver/</link>
		
		<dc:creator><![CDATA[Parker]]></dc:creator>
		<pubDate>Thu, 26 Dec 2013 21:41:59 +0000</pubDate>
				<category><![CDATA[Appnotes]]></category>
		<category><![CDATA[PCBA & ENG]]></category>
		<category><![CDATA[WS2801]]></category>
		<guid isPermaLink="false">https://longhornengineer.com/?p=1947</guid>

					<description><![CDATA[The WS2801 is an interesting chip. It is a constant current LED driver with 3 drivers that the current can be set individually. This lends the WS2801 to be useful when driving RGB LEDs. Each channel runs off an internal 8-bit PWM (total 24-bits) that is serially clocked in over a 2-wire (data and clock) &#8230; <a href="https://longhornengineer.com/2013/12/26/appnote-using-mosfets-to-expand-the-ws2801-led-driver/" class="more-link">Continue reading <span class="screen-reader-text">Appnote: Using mosfets to expand the WS2801 LED Driver</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>The <a href="https://longhornengineer.com/github/Appnotes_WS2801_MOSFET/WS2801_Datasheet.pdf">WS2801</a> is an interesting chip. It is a constant current LED driver with 3 drivers that the current can be set individually. This lends the WS2801 to be useful when driving RGB LEDs. Each channel runs off an internal 8-bit PWM (total 24-bits) that is serially clocked in over a 2-wire (data and clock) scheme. This gives each channel 256 levels of brightness. The WS2801 can also be chained together with other WS2801 chips to reduce I/O usage. It can drive up to 30mA of current per channel from 3.3V to 5V which is a fair bit of power.</p>
<p>What if more power and current are needed though? Page 9 and 10 of the datasheet shows that a NPN transistor like a 2n2904 can be used to increase the current sinking capacity. This is all good unless you need even more power. N-type mosfets can be gated to the outputs of the WS2801 in a similar fashion.</p>
<p><a href="https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-3170" src="https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-800x474.png" alt="" width="800" height="474" srcset="https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-800x474.png 800w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-1024x607.png 1024w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-150x89.png 150w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-768x455.png 768w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-1536x911.png 1536w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_SCH-2048x1214.png 2048w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>Above is an example schematic on how to connect the mosfets to a pair of WS2801 chips. The polarity pin (POL pin3) is pulled down to put the WS2801 into driving mode. The feedback pins (XFB pin4,5,6) are pulled to ground putting the driver in constant voltage driving mode. Pull up resistors are needed on the mosfet gates as the outputs of the WS2801 are open-drain gates.</p>
<p><a href="https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-3169" src="https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY-800x656.png" alt="" width="800" height="656" srcset="https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY-800x656.png 800w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY-1024x839.png 1024w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY-150x123.png 150w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY-768x629.png 768w, https://longhornengineer.com/wp-content/uploads/WS2801_MOSFET_Demo_LAY.png 1064w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>Demo layout of the dual WS2801 schematic. The WS2801 chip is a really nice chip to layout as the pinout is well thought out. Because two power sources are used (3.3V and voltage for the LEDs) the grounds must be connected to give the same reference voltage. A zero ohm resistor at R7 is used to connect these two grounds. A ferrite bead could be used here as well to reduce noise crossover if the high voltage LED power source is noisy.</p>
<p><a href="https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-3168" src="https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade-800x1016.png" alt="" width="800" height="1016" srcset="https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade-800x1016.png 800w, https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade-806x1024.png 806w, https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade-118x150.png 118w, https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade-768x976.png 768w, https://longhornengineer.com/wp-content/uploads/WS2801_LED_Cascade.png 1094w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>The high power LEDs should be connected to the mosfet drain through a current limiting resistor. Multiple LEDs can be connected together serially if the supply voltage is high enough. The voltage drop across the mosfets can be generally ignored as the resistance is usually around .2ohms for low resistance series (RSon) mosfets.</p>
<p><code>R1 = (V_LED - (V_F x N))/ I </code></p>
<p><pre><code>
</code></pre><pre><code>Where
R1 = Resistor value
V_LED = High voltage LED source
V_F = Forward voltage of the LEDs
N = Number of LEDs
I = Forward current of LEDs
</code></pre></p>
<p>Also you have to make sure your resistors are large enough to handle the current load.</p>
<p><code>RW = (V_LED - (V_F x N)) x I</code></p>
<p><pre><code>
</code></pre><pre><code>Where
RW = Resistor watt rating
V_LED = High voltage LED source
V_F = Forward voltage of the LEDs
N = Number of LEDs
I = Forward current of LEDs
</code></pre></p>
<p>For example the <a href="http://www.optekinc.com/datasheets/ovsprgbcr4.pdf">OVSPRGBCR4</a> RGB LED will be used. The source voltage will be 24V and 7 LEDs will be chained together. The forward current (If) of all 3 channels is 250mA. The forward voltage (Vf) of the red channel is 2.3V and the Vf of the green and blue channel is 3.4V.</p>
<p><pre><code>RED:
(24V - (2.3V x 7))/ .25A = 31.6ohms
(24V - (2.3V x 7)) x .25A = 1.975W</code></pre></p>
<p><pre><code>
</code></pre><pre><code>GREEN &amp;amp; BLUE:
(24V - (3.4V x 7))/ .25 = .8ohms
(24V - (3.4V x 7)) x .25A = .05W
</code></pre></p>
<p>Finding a resister to work with the Green and Blue channels of the LED is fairly easy but the Red channel is a bit difficult due to the high power rating needed. A quick look on mouser yields limited selection of 32ohm resistors in a big enough size to handle 2W but two 16ohm 1W resistors in series would work just as well and are much easier to find.</p>
<p>I am using this method to drive banks of RGB LEDs on the <a href="https://github.com/LonghornEngineer/Pinheck_Pinball_System">PinHeck Pinball System</a> for general cabinet illumination. The Eagle files of the schematics and board layout are on <a href="https://github.com/LonghornEngineer/Appnotes_WS2801_MOSFET">GitHub</a>. I also have some <a href="https://longhornengineer.com/projects/code/parallax-propeller/ws2801-3-channel-pwm/">demo SPIN code</a> for the Parallax Propeller chip to drive the WS2801 that I wrote awhile back.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MSP-430 LaunchPad UART and FIFO</title>
		<link>https://longhornengineer.com/2012/05/06/msp-430-launchpad-uart-and-fifo/</link>
		
		<dc:creator><![CDATA[Parker]]></dc:creator>
		<pubDate>Sun, 06 May 2012 15:56:04 +0000</pubDate>
				<category><![CDATA[Appnotes]]></category>
		<category><![CDATA[PCBA & ENG]]></category>
		<category><![CDATA[FIFO]]></category>
		<category><![CDATA[PrintF Functions]]></category>
		<category><![CDATA[UART]]></category>
		<guid isPermaLink="false">https://longhornengineer.com/?p=1045</guid>

					<description><![CDATA[This code is currently for the MSP430G2553 on the Ti LaunchPad. The MSP430G2553 has a built in USCI that can be used for UART. Unlike lower end models of the value line you do not have to make a slow software UART. I looked online and did not see any UART libraries that where nice &#8230; <a href="https://longhornengineer.com/2012/05/06/msp-430-launchpad-uart-and-fifo/" class="more-link">Continue reading <span class="screen-reader-text">MSP-430 LaunchPad UART and FIFO</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>This code is currently for the <a href="http://www.ti.com/product/msp430g2553">MSP430G2553</a> on the <a href="http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29">Ti LaunchPad</a>. The MSP430G2553 has a built in USCI that can be used for <a href="http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter">UART</a>. Unlike lower end models of the value line you do not have to make a slow software UART. I looked online and did not see any UART libraries that where nice to work with without hacking them apart. I did not see any <a href="http://en.wikipedia.org/wiki/FIFO">FIFO</a> implementations at all either. They generally waited on the UART to finish its business before sending more data.</p>
<p>The advantage of the FIFO allows the MSP430 to push that data into the FIFO as fast as it can and let the hardware UART do the rest of the job. This frees up the CPU to do allot more stuff. The only bad thing is that if the FIFO gets full you start loosing data. The code has a global flag to let the main code know that the FIFOs are full.</p>
<p>The Receive (RX) portions of the code also have a global mailbox flag to notify the rest of the code that the UART received something. This would be useful if you need to send commands to a robot or device.</p>
<p>There are 4 different flavors of the code.</p>
<p>1. RX TX<br />
2. RX TX with a FIFO<br />
3. TX only<br />
4. TX only with a FIFO</p>
<p>The code without the FIFOs waits on the UART during the transmission but uses far less memory then the FIFO code. You have to sacrifice speed or memory on this one. The TX only code strips out the RX portions if you just want to have the msp-430 print to a terminal. This is useful for debugging purposes.</p>
<p>If you are going to use this on the MSP-430 LaunchPad then you will need to cross the RX and TX lines. This <a href="http://www.ti.com/lit/ml/swru312b/swru312b.pdf">pdf</a> I found on the internet explains on page 3 (step 6) what I am talking about.</p>
<p><a href="https://longhornengineer.com/code/MSP430/UART/uart_terminal.png"><img loading="lazy" decoding="async" alt="" src="https://longhornengineer.com/code/MSP430/UART/uart_terminal.png" class="aligncenter" width="641" height="172"></a></p>
<p><strong>RX TX UART Code (CCS V5)</strong><br />
<a href="https://longhornengineer.com/code/MSP430/UART/UART_Ver1_0.zip">Project File</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART/main.c">main.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART/uart.c">uart.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART/uart.h">uart.h</a></p>
<p><strong>RX TX UART FIFO Code (CCS V5)</strong><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO/UART_FIFO_Ver1_0.zip">Project File</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO/main.c">main.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO/uart_fifo.c">uart_fifo.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO/uart_fifo.h">uart_fifo.h</a></p>
<p><strong>TX UART Code (CCS V5)</strong><br />
<a href="https://longhornengineer.com/code/MSP430/UART_TX_ONLY/UART_TX_ONLY_Ver1_0.zip">Project File</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_TX_ONLY/main.c">main.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_TX_ONLY/uart_tx.c">uart_tx.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_TX_ONLY/uart_tx.h">uart_tx.h</a></p>
<p><strong>TX UART FIFO Code (CCS V5)</strong><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO_TX_ONLY/UART_FIFO_TX_ONLY_Ver1_0.zip">Project File</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO_TX_ONLY/main.c">main.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO_TX_ONLY/uart_fifo_tx.c">uart_fifo_tx.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/UART_FIFO_TX_ONLY/uart_fifo_tx.h">uart_fifo_tx.h</a></p>
<p><strong>FIFO Code (CCS V5)</strong><br />
<a href="https://longhornengineer.com/code/MSP430/FIFO/FIFO_Ver1_0.zip">Project File</a><br />
<a href="https://longhornengineer.com/code/MSP430/FIFO/fifo.c">fifo_.c</a><br />
<a href="https://longhornengineer.com/code/MSP430/FIFO/fifo.h">fifo.h</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WS2801 – 3 Channel PWM</title>
		<link>https://longhornengineer.com/2011/07/22/ws2801-3-channel-pwm/</link>
		
		<dc:creator><![CDATA[Parker]]></dc:creator>
		<pubDate>Sat, 23 Jul 2011 01:33:39 +0000</pubDate>
				<category><![CDATA[Appnotes]]></category>
		<category><![CDATA[PCBA & ENG]]></category>
		<category><![CDATA[Parallax Propeller]]></category>
		<category><![CDATA[WS2801]]></category>
		<guid isPermaLink="false">https://longhornengineer.com/?p=2643</guid>

					<description><![CDATA[The WS2801 is a 3-channel constant current LED drivers that is designed for controlling chains of RGB LEDs. The IC is controlled by a 2-wire serial control scheme that allows multiple WS2801 to be chained together. You can find the WS2801 in the link below. This demo code basically shifts out 24 bits (8bits per &#8230; <a href="https://longhornengineer.com/2011/07/22/ws2801-3-channel-pwm/" class="more-link">Continue reading <span class="screen-reader-text">WS2801 – 3 Channel PWM</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>The WS2801 is a 3-channel constant current LED drivers that is designed for controlling chains of RGB LEDs. The IC is controlled by a 2-wire serial control scheme that allows multiple WS2801 to be chained together. You can find the WS2801 in the link below. This demo code basically shifts out 24 bits (8bits per color) using a 2-wire protocol. This code only works for one WS2801. There is a object designed for multiple WS2801 already in the propeller OBEX. That design uses too many resources for use on my pinball machine so I wrote this to use as little resources as possible (no new cog).</p>
<p>The idea would be to have the WS2801 PWM a set of mosfets which would in turn be connected to the string of LEDs. This way you could light up a bunch of RGB LEDs without allot of CPU time taken from the Propeller. The Propeller only has to mess with the WS2801 when it needs to change the PWM signals.</p>
<p>Where to buy the <a href="http://www.sparkfun.com/products/10444">WS2801</a>.<br />
<a href="https://longhornengineer.com/code/WS2801_Driver.zip">Demo Driver</a></p>
<div style="text-align:center">
http://www.youtube.com/watch?v=EugcTOxVHx8</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
