I2CIO-8X
Jump to navigation
Jump to search
Contents
Features
- 8 bits of Digital I/O
- I2C interface
- MCP23008P
- I2C Base address = 0x20
- Address offset jumpers (0-7)
- Interrupt pin on I2C connectors
- Interrupt LED
- I2C Daisy-chain connectors
- I2C terminators (2.2K) with selection jumpers
- GVS (Ground/Voltage/Signal) pins for all 8-bits
- 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)
H8, H9 - I2C Terminators
- Install to terminate SDA/SCL with 2.2K terminator
A0-A2 - I2C Address Offset
- Install all three for address = 0x20
Schematics
Factory Acceptance Test
Test Station Theory of Operations
- Test Station controls the I2C interface on the Unit Under Test (UUT)
- Three tests
- Internal Test
- External Loopback Test
- Bounce an LED Test
Test Station Set-up
- Uses ODAS Test Station V2
- Cable from I2C Port 0 on BLACK-PILL-HUB to UUT marked "I2C UUT" (observe orientation ground)
- Loopback cable Connector connects pins 1 to 5, 2 to 6, 3 to 7, 4 to 8
- Blue bin marked I2C-RPT-01/I2C-RPT-08 and I2CIO-8/I2CIO-8X
- LED-TEST-2 Card
- Cable with I2CIO-8 GND/SIG marked
- Unit Under Test (UUT)
- Attach Host Computer USB to the Arduino NANO on the Test Station
- Run puTTY on the Host Computer
- 9600 baud, No handshake
Card Selection
- CPU will attempt to auto-detect the card
- If the card cannot automatically be detected, then display the best choices menu
Checking if EEPROM is present on UUT...EEPROM is not present on UUT Count of I2C devices in range 0x20-0x27 on UUT = 1 No external I2C mux card Detected MCP23008 Select the board type (Other) 1 - I2CIO8 board 2 - I2CIO8X board Select board >
- Select 2
Init I2CIO-8X card C=Card Tests, D=Direct, E=EEPROM, I=access Internal DIGIO32
Running Eternal Loopback Card Test
- Use loopback cable marked "I2CIO8X"
- Select Card Tests = "C"
- Select Run Tests = "T"
- Observe test results
L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Test, X=eXit sub-menu Testing UUT = I2CIO-8X Test PASS = 1, FAIL = 0
- Hit ENTER to display menu
L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Test, X=eXit sub-menu
Running Internal Tests
- Remove loopback cable
- Select Card Tests = "C"
- Select Run Tests = "I"
- Observe test results
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
- Hit ENTER to display menu
L=Loop/S=Single, T=Test, B=Bounce LEDs, I=UUT Int'l Test, X=eXit sub-menu
Running Bounce LED Test
- Attach LED-TEST-2 cable
- I2CIO-8 GND to GND pins on 3x8 GVS
- I2CIO-8 SIG to SIG pins on 3x8 GVS
- Select Card Tests = "C"
- Select Run Tests = "B"
- Observe LEDs scanning on LED-TEST-2
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 I2CIO8X - any key to stop
- Hit ENTER to display the menu
Finished bouncing LEDs
Reference
Drivers/Example Code
Extensive Driver Support for Arduino, Raspberry Pi, MicroPython, ESP-32, Blue Pill Board, Cypress PSoC
Arduino Driver / Examples
- LandBoards_I2CIO8X Arduino Driver - GitHub repo
- Example code - GitHub repo
BeagleBone Black
ESP32
- Github repo - MicroPython Driver