i2c expander and LEDs

Hello all, I trying to control 16 LED's using SFE PCF8575c. I was able to test the chip using this example http://www.youtube.com/watch?v=UXPuzbEV_ic&lcor=1&email=comment_reply_received&lc=WXSmUkaibiuXGHBb-mQG2Gdv_r_3ZM5Zym77mm2PVxs&lch=email_reply&feature=email in which the LEDs are turned HIGH/LOW in sequence from LSB to MSB. I wired the 8575c breakout board as shown in the example however the LEDs are all very very dim. I can see them flickering so I know the code and wiring works. I believe the issue is the chip

PCF8575 in source mode can't provide enough current.

and my wiring is in

"sink" mode (5v -> LED -> PCF8575 pin)

. What can I do to provide more current to the LEDs. I read somewhere perhaps a PNP transistor. I also tried putting a 330ohm resistor on each LED pin (i.e 8575 i/o pins) but that did little to help. Any ideas?

http://www.ti.com/lit/ds/symlink/pcf8575.pdf From the datasheet, looks like the part really only sinks current, not sources it. I would say you'd want to send a 0 to the pin that you want to turn on, with resistor from 5V to anode, and cathode to the pin.

Thanks CrossRoads, I’ll give that a try. Just to be clear, The part I’m using http://www.sparkfun.com/products/8130 is the PCF8575c http://www.ti.com/lit/ds/symlink/pcf8575c.pdf which as I understand is slightly different from the 8575 used in the demo and the datasheet you mentioned.

  • Quasi output: upper transistor is on for half
    a clock cycle and then held up by a weak
    current source (25-mA sink)

Quasi Output (Weak Current Source)

PCF8575/C 16-bit with Interrupt

Spec'ed the same:

P00, P-port input/output. Open-drain design structure. Connect to VCC through a pullup resistor.

So Vcc to Resistor to LED Anode, Cathode to Pxx. Low = LED on.