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 2x10 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.

The IDC connectors will be tall enough to prevent stacking in most cases, so the Centipede shield should be the top device on an Arduino stack. For maximum flexibility, the shield is shipped without the Arduino headers soldered. Female passthrough headers are included with purchase, to be soldered by the user if desired. If very long headers are used to allow two Centipede Shields to be stacked, then by changing the ADDRESS jumper it is possible to address 128 I/O pins.

A solder area is provided for a 78Mxx SOT-223 voltage regulator. This may be useful if large amounts of current are controlled with the Centipede Shield; for example, 64 20mA LEDs would draw over one amp and would be too much for the Arduino voltage regulator to supply. The I/O expander chips can be switched over to the auxilary regulator. This can also allow the extra I/O to run at a voltage other than the Arduino 5V levels.