I2C16Bit

From blwiki
Jump to: navigation, search

Tindie-larges-v2.png

2C26Bit-P722-720px.jpg

I2C 16-bit Interface

Description of the Design

This card allows up to 16 additional I/O pins to be added to a Microprocessor, such as an Arduino, </p>

The card has an I2C interface (MCP23017) which is a two-wire interface consisting of a clock from the Microprocessor and a bi-directional data line. </p>

The card has three address bits allowing up to 8 cards to be used for a total of 128 I/O bits.

Connectors

  • J1-J3 = A0-A2 I2C address select (binary address value)
A3 (J3)
A2 (J2)
A1 (J1)
Address Offset
INSTALLED
INSTALLED
INSTALLED
0
INSTALLED
INSTALLED
OPEN
1
INSTALLED
OPEN
INSTALLED
2
INSTALLED
OPEN
OPEN
3
OPEN
INSTALLED
INSTALLED
4
OPEN
INSTALLED
OPEN
5
OPEN
OPEN
INSTALLED
6
OPEN OPEN OPEN 7
  • J4 = I2C connector
    • Pin 1 (G) = GND
    • Pin 2 (V) = Vcc (+5V)
    • Pin 3 (D) = SDA (Data)
    • Pin 4 (C) = SCLK (Clock) 
  • J13-J6 = GPA0-GPA7 - Parallel I/O Connections. Uses GVS convention for 3-pin connectors.
  • J22-J16 = GPB0-GPB7 - Parallel I/O Connections. Uses GVS convention for 3-pin connectors.
    • Pin 1 (G) = Ground
    • Pin 2 (V) = Vcc (+5V)
    • Pin 3 (S) = Signal
  • J5 (IA) =  Interrupt A output
  • J14 (IB) =  Interrupt B output

10K Pull up resistors

  • R1-R2 are pullups on the I2C lines.
    • There should only be 1 set of terminators on the I2C lines.
    • Do not install of there are terminators in other locations (consider source as well) on I2C lines.

Mounting Holes

Four 4-40 mounting holes allow the board to be firmly mounted horizontally or vertically.</p>

The board dimensions are 1.3" x 2.0". The mounting holes are 1.0" x 1.7".

Links

V3 Improvement Log

  • Add a second I2C connector as pass-through for multiple I2C cards.