3 resistors? I've tried to fit that, 4 is the only number I come up with: ## is an anti-parallel pair of LED's, below, and \/\/ a resistor; (0)--\/\/--+-----+-----+ # | | # | | (1)--\/\/--+--+--(--+ | # # # # # # # # (2)--\/\/--+--+--+ | | # | | # | | (3)--\/\/--+--------+--+ I've tried to reduce the number of resistors - no fewer resistors would work, IMO. If you omit the resistor in lead (0) above, then 3 of the pairs of LEDs would run at increased brightness - the LEDs connected between pins 1 and 2, those connected from pins 1 to 3, and those from 2 to 3, would run at the same brightness, though. Of course, you could use a pair of 2.5V diodes in series for each diode, or just using short, high current pulses for your "on" time, let the PIC pin current limit the LED's current - which are quite do-able (test your code with resistors, tho ) Mark Craig Lee wrote: > > I'll CAD the schematic later, but my technique will give you > 12 LEDs with 4 PIC I/O and 3 resistors. Z denotes I/O set to > input. > > The scheme demands that only one LED be on at one time. However, > with a little slight of micro, you can easily make more than one > appear on at once. > > I worked out a formula for muxing more LEDs by adding more I/O, > but didn't write it down. Argghh! > > Heres the truth table for 12: > > ABCD LED ON > ---- ------ > 0000 none > 1111 none > zzzz none > 01zz 1 > 10zz 2 > 0z1z 3 > 1z0z 4 > z01z 5 > z10z 6 > 0zz1 7 > 1zz0 8 > zz01 9 > zz10 10 > z0z1 11 > z1z0 12 > > Craig -- I re-ship for small US & overseas businesses, world-wide. (For private individuals at cost; ask.)