GCA_PI02 32 I/O I2C board for Raspberry Pi.

The real thing

A nice and easy to assemble board is available now.
No Surface Mount Devices (SMD) are used.


There is not really much to explain about this board.
The two I2C lines, together with ground and +5V are all in the same connection cable.
Two chips MCP23017 are used, each capable of adressing 16 I/O lines, thus 32 in total for 1 board.
4 Of these boards can be linked together to one GCA_PI01, making 128 I/O lines available on 1 Raspberry PI.

I2C system

I2C is basicly made for communication between chips, together on one board.
Therefore, according to specifications , the total length of all SDA and SCL wires together should not exceed 1 meter (3' 4'').
This system will be made with addional line drivers, making a total length of 10 meters accessable.
Each board is provided with an extra line driver P82B715 and a low drop voltage regulator to have 3.3 V available.
The regulator skips the need of transporting 3.3 V from the Raspi, which could give more problems than profit.

Address selection

Board # dip1 dip2 I/O ports I2C Address
1 OFF OFF 1..32 0×20-0×21
2 OFF ON 33..64 0×22-0×23
3 ON OFF 65..96 0×24-0×25
4 ON ON 97..128 0×26-0×27




The schematics
The pc-board and parts positions
The partslist
N.B. Only complete ordered kits will be supported!

Cable connection.

There are two possibilities for connection cable between the two boards.
The choice is to use RJ45 connectors and Ethernet cable or RJ12 connectors, with the more flexible 6-wire cables, like known from Xpressnet and LocoNet.
Maximum length of cable between GCA_PI01 and the last GCA_PI02 in the chain, (when line drivers are installed) is 10 meter.
Without line-drivers, a maximum total length of 1 meter would be applicable.
It is expected, nut not prooven yet, that Ethernet cable will handle slightly longer cable.
This is all due to the specifactions of I2C.

Power supply

The GCA-PI02 needs 5Vdc.
This 5V can be extracted from Raspberry Pi, if jumper JP1 on GCA-PI01 is set.
If you prefer separate supply for this board, simply use a 5Volt (minimum 0,5A) USB power adapter.
It connects to USB miniconnector V5.
Also it is possible to supply 5 V from this board to Raspberry Pi, if you set jp1.
In that case, do NOT connect 5V power to Raspberry.

It works like this:

The jumper on each GCA_PI01 and _PI02 board connects the 5Volt lines on board with the power line on the interconnection cable between the boards.
In practice, use one 5V power adapter, and connect it with either one of the GCA_PI02 board USB connector, and
set all jumpers on PI01 and PI02 boards, and the used 5V adaptor will supply all connected units.
If you prefer separate 5V adaptors for each board, leave jumpers away.

Pin configuration of ports

Connector I/O 1 I/O 2 I/O 3 I/O 4
Pin# Port# Port# Port# Port#
1 x x x x + 5V
2 x x x x 0V
3 1 9 17 25
4 2 10 18 26
5 3 11 19 27
6 4 12 20 28
7 5 13 21 29
8 6 14 22 30
9 7 15 23 31
10 8 16 24 32

All I/O numbers are printed on the board itself.

Electrical limits

Each port can be either source ( connect to 5 V ) or sink ( connect to 0V) of 25 mAmp.
But the total current for each chip ( = 16 ports) is 125 mAmp. (source) or 150 mAmp. (sink).
It is not allowed to source any power of any kind into the ports !

Relay board

Due to the limited current per unit from the 5V, only one relay board per I/O expander can be connected:
On I/O1 or I/O2 and on I/O3 or I/O4.


Pin Usage
1 VDD(+5V)
2 SCL(B)
4 SDA (B)
6 VDD(+5V)

Personal Tools