I'll have to be a fence-straddler here. Oftentimes there's no substitute for more I/O pins in terms of hardware complexity, and often the larger chips are the only ones that offer the other peripherals I need. OTOH, I'm frequently doing stuff with remote displays, etc, where I want to minimize the number of wires running from one board to another. In this case, shift registers are invaluable. For instance, right the moment, I'm running an LCD, several LEDs, and several buttons at the end of ~4 feet of ribbon cable, using only 8 conductors. If I dedicated a wire to each I/O, I would end up with ~20 wires... yuk! As with most things in EE, it looks like the answer to this question depends on your individual problems and design goals. - Robert -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.