I2CIO16-DB25
Contents
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
- Maximal example
- 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
- Jumper orientation
Rear Side Marking
MCP23017 Drivers
There are quite a I2C drivers for every major microcontroller (Arduino, Raspberry Pi, BeagleBone, etc).
Arduino Drivers
- Land Boards Arduino Driver Code/Example Software for the PROTO16-I2C Card
- Adafruit MCP23017 Arduino Driver
Raspberry Pi Drivers
Raspberry Pi Pico
MMBASIC
- I2CIO16-DB25.bas code to bounce an LED
- Runs on PiPicoMite01 or PiPicoMite02 card
BeagleBone Black Drivers
ESP32 MicroPython Drivers
PyBoard MicroPython Drivers
Linux Drivers
Mechanicals
Factory Acceptance Tests
- Unit Under Test (UUT)
- Runs on PiPicoMite02 Based Test Station
- Runs I2CIO16-DB25.bas code
- I2C cable from PiPicoMite02 Based Test Station to UUT
- LED-32 card
- Cables/Adapter
- DB25RIBBON with male connector plugged into UUT
- Cable between LED-32 and DB25RIBBON
- Run on PiPicoMite02 Based Test Station
chdir "/lbcards/GPIO16" load "I2CIO16-DB25.bas" run
- Code bounces LED
Issues
Rev 1
- No issues
- Card is fully functional