A simple SPI port expander

It is easy to make a simple SPI-compatible port expander with common TTL chips. The version shown below uses two 74HCT595 chips to make a 16-bit port expander. You could use a single chip if you just need 8 bits.

The clock and data signals come from the mbed SPI's sck and mosi lines. A DigitalOut signal is also needed to generate a rising edge after the transfer is over (think of it as an active-low chip select). The SPI data is transferred to the output pins of the '595s when the latch signal goes high.

This circuit will support any speed that the mbed's SPI can generate.

https://lh4.googleusercontent.com/_uPXih5V64C0/TUL_L2TuV5I/AAAAAAAAACU/cbQbBllI5pA/s800/16-bit%20SPI%20port%20expander.JPG


2 comments on A simple SPI port expander:

29 Jan 2011

This posted example looks simple. Trading complexity for more features (and half the cost) also consider MCP23S17-E/SP (SPI) or MCP23017-E/SP (I2C).

01 Jan 2013

Breakout for 74HC595 ->> https://www.sparkfun.com/products/10680?

Please log in to post comments.