Difference between revisions of "I2CIO16-DB25"

From Land Boards Wiki
Jump to navigation Jump to search
Line 91: Line 91:
 
==== MMBASIC ====
 
==== MMBASIC ====
  
* Run [https://github.com/land-boards/RasPiPico/blob/main/PicoMite_MMBASIC/PicoMite_VGA/Land%20Boards%20BASIC%20Programs/lbcards/GPIO16/I2CIO8-DB25.bas I2CIO8-DB25.bas] code
+
* [https://github.com/land-boards/RasPiPico/blob/main/PicoMite_MMBASIC/PicoMite_VGA/Land%20Boards%20BASIC%20Programs/lbcards/GPIO16/I2CIO8-DB25.bas I2CIO8-DB25.bas] code to bounce an LED
* [https://github.com/land-boards/RasPiPico/blob/main/PicoMite_MMBASIC/PicoMite_VGA/Land%20Boards%20BASIC%20Programs/SWLEDX8-01.bas SWLEDX8-01.bas] - Read 8x switches, write 8x LEDs
+
** Runs on [[PiPicoMite01]] or [[PiPicoMite02]] card
* [https://github.com/land-boards/RasPiPico/blob/main/PicoMite_MMBASIC/PicoMite_VGA/Land%20Boards%20BASIC%20Programs/lbcards/GPIO16-02.bas MMBASIC Example Code] - Bounce a bit across the 16-bits (not for use with [[SWLEDX8]] card)
 
  
 
=== BeagleBone Black Drivers ===
 
=== BeagleBone Black Drivers ===

Revision as of 19:11, 17 June 2022

I2CIO16-DB25 REV1 FRONT 3D.png

16-Bit Digital I/O Card with DB25 Connector

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
    • Fuse protected power output on DB-25 with jumper bypass
  • Large prototyping area
    • Connections at edges to DB-25 and GPIO lines
  • EEPROM for board ID and application specific information
    • Write Enable jumper protects against accidental writes
  • Host connectors
    • Daisy-chain I2C connector
    • Address select jumper
    • Expandable I2C via I2C-RPT - I2C Repeater
    • I2C Termination jumpers for end of I2C chain
  • Power can be 3.3V or 5V
  • 95mm wide Open Data Acquisition System format
  • 6-32 Mounting holes

Connectors

I2CIO16-DB25.PNG

J1 - DB-25 I/O Connector

  • Pins 1, 2, 14 are connected to Ground
  • Pins 12, 13, 25 are connected to Power
  • Pins 3-11 and 15-24 are connected to the Prototype area and are labeled on the PCB

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 line
  • Side by side not vertically (opposite of Address jumpers orientation)

I2CIO16-DB25 I2C term Jumpers.png

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
  1. INT
  2. SCL
  3. SDA
  4. VCC
  5. GND

J4 - Address Select

  • Sets the I2C offset address of the card
  • Three bit address A1, A2
  1. A0
  2. A1
  3. A2
  • Juper orientation

I2CIO16-DB25 I2C addr Jumpers.png

Rear Side Marking

I2CIO16-DB25 REV1 REAR 3D.png

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

Factory Acceptance Tests

I2CIO16-DB25.PNG

  • Code bounces LED

Issues

PROTO16-I2C Assembly Sheet