Learning About Arduino with MCP23S08

The MCP23S08 is a "8-Bit I/O Expander with SPI Interface" IC from Microchip. This device is also available in I2C (MCP23008) and 16-bit (MCP23x17) variations but I don't discuss them here.

These are my notes about interfacing the MCP23S08 with an Arduino Diecimila.


MCP23S08 (pdf)


(From datasheet)

Note: VDD = positive supply, VSS = ground (see)

Demo video

Arduino with MCP23S08 demo video (Higher quality--36MB)


Notes from MCP23S08 datasheet

Note that the following diagrams have the data flowing in the same direction with respect to the diagram which is the opposite to how it actually works in real life. @@ TODO explain this better. (This difference is significant when determining if the MSB (Most Significant Bit) is being transmitted first or not.)

Notes from Atmega168 datasheet


@@ TODO: Finish this