Garrett Mace’s Centipede Shield has some pretty cool features:
The Centipede Shield is an add-on PCB for standard layout (Duemilanova, Diecimila) Arduino microcontroller boards. It uses the Wire I2C interface on analog pins 4 and 5 to provide 64 general purpose I/O pins.
This means that each pin can be assigned as an input or output, just like the standard digital pins on the Arduino. A library is provided that makes it easy to access the pins from Arduino code. The library commands are extremely similar to the existing pinMode, digitalWrite and digitalRead commands.
Each group of 16 pins is controlled by a separate chip on the I2C bus. The pins are wired to 2×10 headers, intended for use with IDC ribbon cable connectors. Two of the extra wires are used for ground, and two more are used for a “common” connection that can be wired to some other signal or voltage by the user if desired.
Even better, two Centipedes can be stacked, giving you 128 I/O pins. Madness.