Description
Add another 8 pins to your microcontroller using the MCP23008 port expander. It uses two I2C pins (which can be shared with other I2C devices) to provide 8 general purpose I/O pins.
Each of the 8 pins can be set as input, output, or input with a pullup resistor. The chip can generate an interrupt via an external pin when any input changes, so polling is not required.
Operating voltage ranges from 2.7V to 5.5V, compatible with both 3.3V and 5V setups. Each I/O pin can sink or source up to 20mA, suitable for LEDs and other devices. For higher current requirements, use a high-power MOSFET.
The DIP package form factor fits into breadboards or perfboards easily. The I2C address can be set using the ADDR0-2 pins, allowing up to 8 unique addresses and therefore up to 64 I/O pins on a single I2C bus by cascading 8 chips.
This chip is reliable and easy to set up, and Adafruit provides an Arduino library to control it, including setting pin states and pullups.
- I2C 7-bit address selectable between 0x20-0x27
- Compatible with 2.7-5.5V power supply
- 8 configurable GPIO pins (input/output/pullup)
- Interrupt support on input pin state change
- DIP package for easy prototyping
- Supports sinking/sourcing up to 20mA per pin
- Addressing supports up to 8 chips on one I2C bus (64 I/Os total)
Learn more and access the Arduino library and datasheet on the Adafruit website.