|
|
Line 1: |
Line 1: |
− | [[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/i2c-demo-board-mcp23008-i2cio-8/?pt=ac_prod_search]]
| |
| | | |
− | [[File:I2CIO-8_X2-6000-720px.jpg]]
| |
− |
| |
− | <video type="youtube">omUSJpGLv4A</video>
| |
− |
| |
− | == Features ==
| |
− |
| |
− | * 8 bits of Digital I/O
| |
− | * I2C interface
| |
− | * [https://ww1.microchip.com/downloads/en/DeviceDoc/21919e.pdf MCP23008] - 8-Bit I/O Expander with I2C Interface
| |
− | * Base address = 0x20
| |
− | * Address offset jumpers (0-7)
| |
− | * Interrupt pin on I2C connectors
| |
− | * Interrupt LED
| |
− | * I2C Daisy-chain connectors
| |
− | * 4 input (or output) jumpers
| |
− | * 4 LEDs
| |
− | * 2.7V to 5.5V
| |
− | * 49x49mm form factor
| |
− | * (4) #4-40 mounting holes
| |
− |
| |
− | == Headers/Jumpers ==
| |
− |
| |
− | === J1, J2 - I2C Connectors ===
| |
− |
| |
− | * Daisy-chain connectors
| |
− | * Can ignore second connector
| |
− | * Pinout
| |
− |
| |
− | # GND
| |
− | # Power (3.3V or 5V)
| |
− | # SDA
| |
− | # SCL
| |
− | # Interrupt (Out)
| |
− |
| |
− | === H5-H8 - GVS connectors ===
| |
− |
| |
− | * D4-D7
| |
− | * Signal/Ground
| |
− |
| |
− | === H8, H9 - I2C Terminators ===
| |
− |
| |
− | * Install to terminate with 2.2K terminator
| |
− |
| |
− | === A0-A3 - I2C Address Jumpers ===
| |
− |
| |
− | * Install all 3 for address - 0x20
| |
− |
| |
− | == Indicators ==
| |
− |
| |
− | === D0-D3 LEDS ===
| |
− |
| |
− | * D0-D3 outputs
| |
− |
| |
− | === D9 - INT LED ===
| |
− |
| |
− | * Interrupt - Goes off when interrupt is present
| |
− |
| |
− | == Factory Acceptance Test ==
| |
− |
| |
− | [[FILE:DIGIO-8_P1821_720PX.jpg]]
| |
− |
| |
− | === Test Station Theory of Operations ===
| |
− |
| |
− | * Test Station controls the I2C interface on the UUT
| |
− | * Three tests
| |
− | ** Internal Test
| |
− | ** External Loopback Test
| |
− | ** Bounce an LED Test
| |
− |
| |
− | === Test Station Set-up ===
| |
− |
| |
− | * Uses [[Arduino_Based_Test_Station|ODAS Test Station V2]]
| |
− | * Unit Under Test (UUT)
| |
− | * Attach Host Computer USB to the Arduino NANO on the Test Station
| |
− | * Run puTTY on the Host Computer
| |
− | ** 9600 baud
| |
− |
| |
− | === Card Selection ===
| |
− | * puTTY will display the menu
| |
− | <pre>
| |
− | Checking if EEPROM is present on UUT...EEPROM is not present on UUT
| |
− | Count of I2C devices in range 0x20-0x27 on UUT = 1
| |
− | Detected MCP23008
| |
− | Select the board type (Other)
| |
− | 1 - I2CIO8 board
| |
− | 2 - I2CIO8X board
| |
− | Select board >
| |
− | </pre>
| |
− |
| |
− | * Select 1
| |
− |
| |
− | <pre>
| |
− | Init I2CIO-8 card
| |
− | C=Card Tests, D=Direct, E=EEPROM, I=access Internal DIGIO32
| |
− | </pre>
| |
− |
| |
− | === Running Card Test ===
| |
− |
| |
− | * Select Card Tests = "C"
| |
− | * Select Run Tests = "T"
| |
− | * Move jumper across the 4 jumper pins H5-H8
| |
− | * LEDs will correspond
| |
− | * INT LED will blink on/off
| |
− | * Observe test results
| |
− | <pre>
| |
− | C=Card Tests, D=Direct, E=EEPROM, I=access Internal DIGIO32
| |
− | L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Tests, X=eXit sub-menu
| |
− | Testing UUT = I2CIO-8
| |
− | I2CIO8 card tests
| |
− | Move jumper across H5-H8, observe LEDs D0-D3
| |
− | Verify Int LED blinks
| |
− | Hit a key to stop test
| |
− | Test PASS = 1, FAIL = 0
| |
− | </pre>
| |
− | * Hit ENTER to display menu
| |
− | <pre>
| |
− | L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Test, X=eXit sub-menu
| |
− | </pre>
| |
− |
| |
− | === Running Internal Tests ===
| |
− |
| |
− | * Remove loopback cable
| |
− | * Select Card Tests = "C"
| |
− | * Select Run Tests = "I"
| |
− | * Observe test results
| |
− | <pre>
| |
− | L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Tests, X=eXit sub-menu
| |
− | UUT Internal card tests
| |
− | Test PASS = 2, FAIL = 0
| |
− | </pre>
| |
− | * Hit ENTER to display menu
| |
− | <pre>
| |
− | L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Test, X=eXit sub-menu
| |
− | </pre>
| |
− |
| |
− | === Running Blink LED Test ===
| |
− |
| |
− | * Select Card Tests = "C"
| |
− | * Select Run Tests = "B"
| |
− | * Observe LEDs scanning on the 4 LEDs on the card
| |
− | <pre>
| |
− | L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Test, X=eXit sub-menu
| |
− | Bounce a bit across outputs
| |
− | Bouncing LEDs I2CIO8 - any key to stop
| |
− | </pre>
| |
− | * Hit ENTER to display the menu
| |
− | <pre>
| |
− | Finished bouncing LEDs
| |
− | </pre>
| |
− |
| |
− | === Reference ===
| |
− |
| |
− | * [[Arduino Based Test Station]]
| |
− | * [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/ODAS/ODASTESTER ODAS Tester Github Repo]
| |
− |
| |
− | == Drivers/Example Code ==
| |
− |
| |
− | Extensive Driver Support for Arduino, Raspberry Pi, MicroPython, ESP-32, Blue Pill Board, Cypress PSoC
| |
− |
| |
− | * [https://github.com/land-boards/lb-Arduino-Code/tree/master/libraries/LandBoards_I2CIO8 Github repo] - Arduino Driver code
| |
− | * [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/I2CIO8 Github repo] - Arduino Example code
| |
− | * [https://github.com/land-boards/lb-Python-Code/tree/master/MicroPython/ESP32/libraries/I2CIO8 Github repo] - MicroPython Driver
| |
− | == Assembly Sheet ==
| |
− |
| |
− | * [[I2CIO8-X Assembly Sheet]]
| |