Polarity Inversion register to configure the polarity of the input port data

The IO Pi Zero is a 16 channel digital expansion board designed for use on the Raspberry Pi Zero. The board is based around the MCP23017 16-bit I/O expander from Microchip Technology Inc. A MCP23017 expander is included on the board allowing you to connect up to 16 digital inputs or outputs to the Raspberry Pi. The IO Pi Zero 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 Zero 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 one MCP23017 device on each IO Pi Zero you can stack up to 8 IO Pi Zero 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 solder jumper so you can use a separate 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.

PCB Header Assembly Jig

I2C Address Selection

The MCP23017 contains three address select pins which can be tied to Vss or Vdd. This gives 8 possible I2C addresses for each chip. To simplify address selection on the IO Pi Zero we have included a set of address selection pads which can be configured by applying a small solder bridge across the required pads. The I2C address table show the recommended configurations for your IO Pi Zero and the associated I2C addresses.

Note:
Disconnect the IO Pi Plus from the Raspberry Pi before changing the i2c address. The address pins are tied to GND (low) via a 10K resistor so the jumper is used to tie a pin to Vcc (high).

Default Configuration (IC1 = 0x20, IC2 = 0x21)

I2C Address Table

2

1

0

Address

0x20

0x21

0x22

0x23

0x24

0x25

0x26

0x27

Compatibility

Model

Status

Raspberry Pi Model A

Raspberry Pi Model B

Raspberry Pi 1 Model A+

Raspberry Pi 1 Model B+

Raspberry Pi 2 Model B

Raspberry Pi 3 Model B

Raspberry Pi Zero

Raspberry Pi Zero W

Orange Pi

Asus Tinker Board

Odroid

Code Libraries and Demos

We have Python, C, C++, Node.js and Windows 10 IOT libraries available for this expansion board. You can download all of the libraries from github at:

Important Information

This development board/kit is intended for use for ENGINEERING DEVELOPMENT, DEMONSTRATION, OR EVALUATION PURPOSES ONLY and is not considered by abelectronics.co.uk to be a finished end-product fit for general consumer use. As such, the goods being provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective considerations, including product safety and environmental measures typically found in end products that incorporate such semiconductor components or circuit boards. Persons handling the product(s) must have electronics training and observe good engineering practice standards. This development board/kit does not fall within the scope of the European Union directives regarding electromagnetic compatibility, restricted substances (RoHS), recycling (WEEE), FCC, CE or UL, and therefore may not meet the technical requirements of these directives or other related directives. Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view, download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.