Skip to content

zeeMonkeez/RaspberryPi-I2C-PortExt

Repository files navigation

RaspberryPi-I2C-PortExt

This is a 5V I2C 8bit port extender for RaspberryPi using an MCP23008. Use this to connect up to 8 digital lines as inputs or outputs, with a programmable interrupt line to notify RaspberryPi of changes. All at the 5V level.

Using an appropriate header/socket (e.g. SAMTEC ESQ-113-24-T-D, Farnell 1930727) the module is stackable. Pinheader X3 can be fitted to select the address of the MCP with jumpers. If not fitted, wire jumpers have to be soldered in. X4 can be soldered in so the /RST and INT lines can be connected to GPIO lines. The I2C lines and /RST are protected by MOSFETs (according to NXP's application note). INT is level shifted using a 74LVC1G07DCK buffer. The buffer's output again is protected through R6 against accidentally setting the GPIO it's connected to as an output. If /RST is not needed, T3 and R4 do not have to be fitted. If INT is not needed, IC2 and R6 can be left out. For C1/C4 and C2/C3, SMD or through hole components can be used.

License

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 2.0 UK: England & Wales License.

OSHW

©2012 Jonas Zimmermann.

About

I2C 8bit port extender for RaspberryPi using MCP23008

Resources

Stars

Watchers

Forks

Packages

No packages published