Features
- 16-bit Digital I/O card
- MCP23017 16-bit I2C I/O Expander
- Strong library support for all major microprocessors for MCP23017
- I2C Interface - Two Wire Interface
- Can run at 400 KHz or faster
- I/O Connector is inexpensive/standard DB-25 female
- Easy/quick to connect/disconnect
- 16 Digital I/O lines
- (3) Power, (3) Ground
- Host connectors
- Daisy-chain I2C connector
- Address select jumper
- I2C base address = 0x20
- Jumpers allow card to be put at any I2C address in range 0x20-0x27
- Expandable I2C via I2C-RPT or I2C-RPT-08 - I2C Repeater
- Maximal example
- 8 I2C-RPT-08 Multiplexers
- 8 cards per multiplexer
- 16 I/O connections per card
- 1,024 I/O
- I2C Termination jumpers for end of I2C chain
- Power can be 3.3V or 5V
- Easy mounting options
- Front panel cut-out
- 6-32 Mounting holes
- Boards can be stacked with 6-32 standoffs
Connectors
J1 - DB-25 I/O Connector
- DB-25 female pinout from the front of the card/connector
- Pins 1, 2, 14 are connected to Power
- Pins 12, 13, 25 are connected to Ground
- Pins 11, 15, 24 are not used
J2 - I2C Termination
- Two of two position headers
- Install headers in each position to terminate I2C line
- There should only be one set of I2C termination jumpers and termination should be at the end of the I2C daisy-chain
- Side-by-side horizontal orientation (opposite of Address jumpers orientation)
J3 - I2C
- Connector is 2x5 of 0.1" header
- Intended to be used for I2C daisy-chain of 4-pin cabling
- Power can be attached to the connector or power can be provided to the card via the J1 power connector
- May still want to connect ground
- INT
- SCL
- SDA
- VCC
- GND
J4 - Address Select
- Sets the I2C offset address of the card
- Install jumper for Ax = 0, remove jumper for Ax = 1
- Three bit address A1, A2
- A0
- A1
- A2
I2C Address
|
J4(A2)
|
J4(A1)
|
J4(A0)
|
0x0
|
In
|
In
|
In
|
0x1
|
In
|
In
|
Out
|
0x2
|
In
|
Out
|
In
|
0x3
|
In
|
Out
|
Out
|
0x4
|
Out
|
In
|
In
|
0x5
|
Out
|
In
|
Out
|
0x6
|
Out
|
Out
|
In
|
0x7
|
Out
|
Out
|
Out
|
Rear Side Marking
MCP23017 Drivers
There are quite a I2C drivers for every major microcontroller (Arduino, Raspberry Pi, BeagleBone, etc).
Arduino Drivers
Raspberry Pi Drivers
Raspberry Pi Pico
MMBASIC
BeagleBone Black Drivers
ESP32 MicroPython Drivers
PyBoard MicroPython Drivers
Linux Drivers
Mechanicals
Factory Acceptance Tests
Setup
Ribbon Cable
J1
|
DB25
|
I2CIO16
|
LED-32
|
|
J1
|
DB25
|
I2CIO16
|
LED-32
|
25
|
1
|
GND
|
|
|
26
|
|
N/C
|
|
23
|
2
|
GND
|
|
|
24
|
14
|
GND
|
|
21
|
3
|
GP0
|
D15
|
|
22
|
15
|
N/C
|
|
19
|
4
|
GP1
|
D14
|
|
20
|
16
|
GP15
|
D24
|
17
|
5
|
GP2
|
D13
|
|
18
|
17
|
GP14
|
D25
|
15
|
6
|
GP3
|
D12
|
|
16
|
18
|
GP13
|
D26
|
13
|
7
|
GP4
|
D11
|
|
14
|
19
|
GP12
|
D27
|
11
|
8
|
GP5
|
D10
|
|
12
|
20
|
GP11
|
D28
|
9
|
9
|
GP6
|
D9
|
|
10
|
21
|
GP10
|
D29
|
7
|
10
|
GP7
|
D8
|
|
8
|
22
|
GP9
|
D30
|
5
|
11
|
N/C
|
|
|
6
|
23
|
GP8
|
D31
|
3
|
12
|
+3.3V
|
D0
|
|
4
|
24
|
N/C
|
|
1
|
13
|
+3.3V
|
D1
|
|
2
|
25
|
+3.3V
|
D3
|
Run Test Code
chdir "/lbcards/GPIO16"
load "I2CIO16-DB25.bas"
run
Issues
Rev 1
- No issues
- Card is fully functional
I2CIO16-DB25 Rev 1 Assembly Sheet