IO Pi 32 Channel Port Expander for the Raspberry Pi

£20.39 each

Excluding VAT: £16.99

84 in stock

Product Code: IOPI


The IO Pi is a 32 channel digital expansion board designed for use on the Raspberry Pi computer platform. The board is based around the MCP23017 16-bit I/O expander from Microchip Technology Inc. A pair of MCP23017 expanders are included on the board allowing you to
connect up to 32 digital inputs or outputs to the Raspberry Pi.  The IO Pi Expander is powered through the host Raspberry Pi using the GPIO port and extended pins on the GPIO connector allow you to stack the IO Pi along with other expansion boards.

The I2C address bits are selectable using the on-board jumpers. The MCP23017 supports up to 8 different I2C addresses so with two MCP23017 devices on each IO Pi you can stack up to 4 IO Pi boards on a single Raspberry Pi giving a maximum of 128 I/O ports.

The IO Pi includes a 5V port that can be isolated from the Raspberry Pi via an isolation jumper so you can use a seperate high current power supply to power the IO Pi reducing the load on the Raspberry Pi. Use of an external supply is recommended if you plan on connecting more than one IO Pi to your Raspberry Pi.

The IO Pi is pin compatible with the the Raspberry Pi model B+.

Additional Information:


IO Pi Address Configuration and Specification

Input Ratings & Specifications

Maximum input voltage: 5.5V when isolation jumper is removed

Maximum current on each IO pin 25mA

Maximum current on a single I/O Bank (1 MCP23017 device) 125mA


Click to download
Click to download schematic PDF.

Sample Code

We have python libraries available for this expansion board.  You can download all of the libraries from github at:

To download the libraries to your Raspberry Pi type in terminal:

git clone



Very useful by Sylvain submitted on 14/05/2014

Build QualityStars
Ease of UseStars
Performance Stars

Ive got 2 of them directly linked to a sainsmart 16 relay boardno need of extra components everything is on 5v...I use Wiringpi in C and the time of polling 16 input is around 8ms.

Write your own review

How do you rate this product?
  star rating star ratingstar rating star ratingstar ratingstar rating star ratingstar ratingstar ratingstar rating star ratingstar ratingstar ratingstar ratingstar rating
Build Quality
Ease of Use
   Review Title:
   Your Review:
  All fields are required.


Python Tutorial 1 - The Blinking LED

Find out how to connect LEDs to the IO Pi and how to control them.

Customers who bought this item also purchased...