<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Parts: 8bit IO Expander (PCF8574)</title>
	<atom:link href="http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Tue, 24 Nov 2009 21:36:45 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: rf</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-104617</link>
		<dc:creator>rf</dc:creator>
		<pubDate>Thu, 29 Oct 2009 15:29:12 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-104617</guid>
		<description>As Adam Schabtach on Dec 28th, 2008 already mentioned, the chip can drive only ~20mA for a LED in pull-down mode. So the schematic is wrong.

please fix it, or (unskilled) readers of hack a day will produce more electronic waste ...

2nd hint: if you use Arduino, the pull-ups on SCL/SDA are not nessescary, because the Wire lib activates the internal pullups of the atmega. 

greetz

rf</description>
		<content:encoded><![CDATA[<p>As Adam Schabtach on Dec 28th, 2008 already mentioned, the chip can drive only ~20mA for a LED in pull-down mode. So the schematic is wrong.</p>
<p>please fix it, or (unskilled) readers of hack a day will produce more electronic waste &#8230;</p>
<p>2nd hint: if you use Arduino, the pull-ups on SCL/SDA are not nessescary, because the Wire lib activates the internal pullups of the atmega. </p>
<p>greetz</p>
<p>rf</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Code</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-80494</link>
		<dc:creator>Code</dc:creator>
		<pubDate>Mon, 06 Jul 2009 12:35:27 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-80494</guid>
		<description>Cleaning up my room, Found me Arduino back.
Also already orderd a Bus-Pirate.

And found a bag of samples (PCF8574) So i&#039;m busy this Vacation :P</description>
		<content:encoded><![CDATA[<p>Cleaning up my room, Found me Arduino back.<br />
Also already orderd a Bus-Pirate.</p>
<p>And found a bag of samples (PCF8574) So i&#8217;m busy this Vacation :P</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ramzi</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-71922</link>
		<dc:creator>ramzi</dc:creator>
		<pubDate>Mon, 27 Apr 2009 21:57:15 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-71922</guid>
		<description>Hi

 I have a project and want to help. I need to have an assembly which connects 4 channels PCF8574 output port 8-bit ( &#039;output x8), connected to an I2C bus operated by the 16F877.

Contact me if you enjoy it on my email directly. Ramzi.bk @ hotmail.com

thank you in advance.</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p> I have a project and want to help. I need to have an assembly which connects 4 channels PCF8574 output port 8-bit ( &#8216;output x8), connected to an I2C bus operated by the 16F877.</p>
<p>Contact me if you enjoy it on my email directly. Ramzi.bk @ hotmail.com</p>
<p>thank you in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: heretic</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-57106</link>
		<dc:creator>heretic</dc:creator>
		<pubDate>Mon, 29 Dec 2008 16:17:50 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-57106</guid>
		<description>@ njay:

when i wrote &quot;low-speed&quot;, what i was thinking was &quot;slower than the microcontrollers gpio pins&quot;.
It&#039;s still very fast, yes.</description>
		<content:encoded><![CDATA[<p>@ njay:</p>
<p>when i wrote &#8220;low-speed&#8221;, what i was thinking was &#8220;slower than the microcontrollers gpio pins&#8221;.<br />
It&#8217;s still very fast, yes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: error404</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-57073</link>
		<dc:creator>error404</dc:creator>
		<pubDate>Mon, 29 Dec 2008 06:17:08 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-57073</guid>
		<description>I use the MCP23008 (8 bit) and MCP23016 (16 bit) from Microchip. They&#039;re available in SPI variants as well (I find I2C simpler to use, and it uses quite a bit less uC IO too) as MCP23Sxx. The 16 bit version is around the same price as this TI chip, it comes in DIP, SOIC or SSOP (or QFN if you&#039;re insane) and it can source/sink 25mA on every pin. Pretty much nicer in every way ;)</description>
		<content:encoded><![CDATA[<p>I use the MCP23008 (8 bit) and MCP23016 (16 bit) from Microchip. They&#8217;re available in SPI variants as well (I find I2C simpler to use, and it uses quite a bit less uC IO too) as MCP23Sxx. The 16 bit version is around the same price as this TI chip, it comes in DIP, SOIC or SSOP (or QFN if you&#8217;re insane) and it can source/sink 25mA on every pin. Pretty much nicer in every way ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jetblack</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-57060</link>
		<dc:creator>jetblack</dc:creator>
		<pubDate>Mon, 29 Dec 2008 02:45:45 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-57060</guid>
		<description>thanks for the write up , good work keep them coming</description>
		<content:encoded><![CDATA[<p>thanks for the write up , good work keep them coming</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Njay</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-57052</link>
		<dc:creator>Njay</dc:creator>
		<pubDate>Mon, 29 Dec 2008 00:14:24 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-57052</guid>
		<description>4094 is also a good option, I&#039;ve use a pair of them in a project. &quot;low-speed&quot;? What&#039;s low-speed for you,  heretic? In my project I had it running at ~302.5KBit/s, including the routine&#039;s RET instruction and non-optimized code&amp;algorithm.

i2c looks &quot;pretty&quot;, but I actually don&#039;t like it much. The problem is that, even if you have a hardware peripheral for that, you need a lot of code to handle it correctly, when compared to SPI or UART.</description>
		<content:encoded><![CDATA[<p>4094 is also a good option, I&#8217;ve use a pair of them in a project. &#8220;low-speed&#8221;? What&#8217;s low-speed for you,  heretic? In my project I had it running at ~302.5KBit/s, including the routine&#8217;s RET instruction and non-optimized code&amp;algorithm.</p>
<p>i2c looks &#8220;pretty&#8221;, but I actually don&#8217;t like it much. The problem is that, even if you have a hardware peripheral for that, you need a lot of code to handle it correctly, when compared to SPI or UART.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Schabtach</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-57003</link>
		<dc:creator>Adam Schabtach</dc:creator>
		<pubDate>Sun, 28 Dec 2008 17:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-57003</guid>
		<description>There&#039;s a hidden gotcha with this part which I just encountered (unfortunately after having PC boards fabricated). The outputs can&#039;t actually source much current. The statement on the data sheet that says &quot;latched outputs with high-current drive capability for directly driving leds&quot; actually refers to inverse-logic current sinking, not sourcing. If you look at the current ratings on the Absolute Maximum Ratings table you&#039;ll see that they seem to be &quot;backwards&quot; if you&#039;re thinking in terms of a positive-logic current-sourcing configuration.

The schematic for this article shows a current-sourcing configuration. Personally I can&#039;t get this chip to drive even a single LED as shown in this schematic, but it works fine in a current-sink configuration.

See http://www.picaxeforum.co.uk/showthread.php?p=81787 for further discussion.</description>
		<content:encoded><![CDATA[<p>There&#8217;s a hidden gotcha with this part which I just encountered (unfortunately after having PC boards fabricated). The outputs can&#8217;t actually source much current. The statement on the data sheet that says &#8220;latched outputs with high-current drive capability for directly driving leds&#8221; actually refers to inverse-logic current sinking, not sourcing. If you look at the current ratings on the Absolute Maximum Ratings table you&#8217;ll see that they seem to be &#8220;backwards&#8221; if you&#8217;re thinking in terms of a positive-logic current-sourcing configuration.</p>
<p>The schematic for this article shows a current-sourcing configuration. Personally I can&#8217;t get this chip to drive even a single LED as shown in this schematic, but it works fine in a current-sink configuration.</p>
<p>See <a href="http://www.picaxeforum.co.uk/showthread.php?p=81787" rel="nofollow">http://www.picaxeforum.co.uk/showthread.php?p=81787</a> for further discussion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: heretic</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56972</link>
		<dc:creator>heretic</dc:creator>
		<pubDate>Sun, 28 Dec 2008 09:34:16 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56972</guid>
		<description>If you need lots of low-speed digital inputs/outputs, you might consider using chained shift registers, eg. 4094&#039;s. They&#039;re cheap, widely available and easy to interface with.


Using I²C on AVRs is quite simple using this library:
http://homepage.hispeed.ch/peterfleury/avr-software.html

I really like it, since it enables you to use the TWI or a software implementation of the protocol via the same interface. Didn&#039;t try the TWI-based stuff, but the software-only part worked great. Just include the header file, add the assembler file to your makefile, adjust the delay routine if necessary and you&#039;re done.</description>
		<content:encoded><![CDATA[<p>If you need lots of low-speed digital inputs/outputs, you might consider using chained shift registers, eg. 4094&#8217;s. They&#8217;re cheap, widely available and easy to interface with.</p>
<p>Using I²C on AVRs is quite simple using this library:<br />
<a href="http://homepage.hispeed.ch/peterfleury/avr-software.html" rel="nofollow">http://homepage.hispeed.ch/peterfleury/avr-software.html</a></p>
<p>I really like it, since it enables you to use the TWI or a software implementation of the protocol via the same interface. Didn&#8217;t try the TWI-based stuff, but the software-only part worked great. Just include the header file, add the assembler file to your makefile, adjust the delay routine if necessary and you&#8217;re done.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jproach</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56965</link>
		<dc:creator>jproach</dc:creator>
		<pubDate>Sun, 28 Dec 2008 07:26:52 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56965</guid>
		<description>Software i2c on an avr/pic is quite simple IMO. Here is the first avr example I found: http://google.com/codesearch/p?hl=en#u1hJZLnlbRM/lcd_i2c/i2c.c&amp;q=i2c%20avr

Hardware is definitely more complex, but also offers a lot more features (see atmel appnote AVR315). Also see &quot;two-wire serial interface&quot; in most avr&#039;s datasheets to understand the hardware behind it.

Anyway, as for the micro vs. a custom IC: think of ease of design (writing/testing firmware), and ease of manufacturing when used commercially.</description>
		<content:encoded><![CDATA[<p>Software i2c on an avr/pic is quite simple IMO. Here is the first avr example I found: <a href="http://google.com/codesearch/p?hl=en#u1hJZLnlbRM/lcd_i2c/i2c.c&amp;q=i2c%20avr" rel="nofollow">http://google.com/codesearch/p?hl=en#u1hJZLnlbRM/lcd_i2c/i2c.c&amp;q=i2c%20avr</a></p>
<p>Hardware is definitely more complex, but also offers a lot more features (see atmel appnote AVR315). Also see &#8220;two-wire serial interface&#8221; in most avr&#8217;s datasheets to understand the hardware behind it.</p>
<p>Anyway, as for the micro vs. a custom IC: think of ease of design (writing/testing firmware), and ease of manufacturing when used commercially.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andrew</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56949</link>
		<dc:creator>andrew</dc:creator>
		<pubDate>Sun, 28 Dec 2008 03:56:39 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56949</guid>
		<description>*woops, i meant @bau</description>
		<content:encoded><![CDATA[<p>*woops, i meant @bau</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andrew</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56948</link>
		<dc:creator>andrew</dc:creator>
		<pubDate>Sun, 28 Dec 2008 03:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56948</guid>
		<description>@joel:
i agree.  i use avr&#039;s and stay far away from i2c.  i&#039;m currently working on a pretty big project with and i&#039;ve made sure to use all spi ic&#039;s in the design.  just reading about i2c makes my head spin.  i can see it being *really* nice for those ucontrollers with hardware support for it, but the avr is not one of them.</description>
		<content:encoded><![CDATA[<p>@joel:<br />
i agree.  i use avr&#8217;s and stay far away from i2c.  i&#8217;m currently working on a pretty big project with and i&#8217;ve made sure to use all spi ic&#8217;s in the design.  just reading about i2c makes my head spin.  i can see it being *really* nice for those ucontrollers with hardware support for it, but the avr is not one of them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Njay</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56938</link>
		<dc:creator>Njay</dc:creator>
		<pubDate>Sun, 28 Dec 2008 02:46:16 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56938</guid>
		<description>I have used (actually, built) this one, ED1021:

http://embeddeddreams.com/site/products-page/edchips/ed1021---io-expander-with-uart-interface/

Additionally to the general purpose I/O pins, it can read an analog signal from almost any pin and it has a calibrated internal reference, which means you can read voltages from 0 to around 2.5V with precision of a few mV. It can also connect almost directly (2 resistors required) to most (if not all) typical PC UART ports.

Feel free to give me improvements/changes suggestions :)!</description>
		<content:encoded><![CDATA[<p>I have used (actually, built) this one, ED1021:</p>
<p><a href="http://embeddeddreams.com/site/products-page/edchips/ed1021---io-expander-with-uart-interface/" rel="nofollow">http://embeddeddreams.com/site/products-page/edchips/ed1021&#8212;io-expander-with-uart-interface/</a></p>
<p>Additionally to the general purpose I/O pins, it can read an analog signal from almost any pin and it has a calibrated internal reference, which means you can read voltages from 0 to around 2.5V with precision of a few mV. It can also connect almost directly (2 resistors required) to most (if not all) typical PC UART ports.</p>
<p>Feel free to give me improvements/changes suggestions :)!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jimmys</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56914</link>
		<dc:creator>jimmys</dc:creator>
		<pubDate>Sat, 27 Dec 2008 21:59:41 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56914</guid>
		<description>brianbek-
thanks but if you&#039;re trying to help someone not familiar with these chips then you might want to give a little more info.

UDN2981A
8 channel source driver. 80v / 500ma max.

ULN2003A
7 channel darlington array. 50v / 500ma.

TLC2543CN
11 channel, 12bit adc</description>
		<content:encoded><![CDATA[<p>brianbek-<br />
thanks but if you&#8217;re trying to help someone not familiar with these chips then you might want to give a little more info.</p>
<p>UDN2981A<br />
8 channel source driver. 80v / 500ma max.</p>
<p>ULN2003A<br />
7 channel darlington array. 50v / 500ma.</p>
<p>TLC2543CN<br />
11 channel, 12bit adc</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brianbek</title>
		<link>http://hackaday.com/2008/12/27/parts-8bit-io-expander-pcf8574/comment-page-1/#comment-56911</link>
		<dc:creator>Brianbek</dc:creator>
		<pubDate>Sat, 27 Dec 2008 21:31:18 +0000</pubDate>
		<guid isPermaLink="false">http://hackaday.com/?p=6784#comment-56911</guid>
		<description>Have used this chip in the past, worked well ;) two others that I keep a good stock of are              

UDN2981A
ULN2003A

great for quick projects that pop up. 

A bit pricy, but this came in handy a few times

TLC2543CN


Hope someone else finds these useful</description>
		<content:encoded><![CDATA[<p>Have used this chip in the past, worked well ;) two others that I keep a good stock of are              </p>
<p>UDN2981A<br />
ULN2003A</p>
<p>great for quick projects that pop up. </p>
<p>A bit pricy, but this came in handy a few times</p>
<p>TLC2543CN</p>
<p>Hope someone else finds these useful</p>
]]></content:encoded>
	</item>
</channel>
</rss>
