PR2-8 GPIO Expander 23008 Pull-Up Resistor Question

I am hobbyist/student and not a trained EE so pardon my naivety. I am new to using your devices and am trying to setup the PR2-8 board to act as input for several buttons and switches. I am a bit confused what the pull-up jumper is for on the board you produced. Is it specifically for the I2C bus or is it for the 23008 chip to act as a pull-up resistor for our inputs? Besides the address jumpers I see that there are two other jumpers, one labeled “PULL-UP” and the other labeled “I2C 5V”. Not sure what they are as the documentation is vague? In other words do I need to add my own PULL-UP resistors to use this as input or is that what your jumper is for? A basic explanation/schematic for setting up an input as button would be appreciated. I think this would help others as I searched the community for this info and it is no where to be found.


mcp2308 has internal pull ups and you can use them.
The on board “pull up marking” is for sda and scl lines.


Thanks, assuming I set each pin to Pull.UP in my python code would I then trigger each pin by simply grounding those pins from the ground pins next to each IO pin? Is that why those ground pins are there? So basically route the ground thru a switch back to the IO pin to trigger it from high to low? If that is the case then I might have fried this board because it isn’t working.

after setting the pull up, read the io status and share what you read

All values of inputs say false after setting the pull up on each pin. Here is how I setup the code:

import time
import board
import busio
import digitalio
from adafruit_mcp230xx.mcp23008 import MCP23008
i2c = busio.I2C(board.SCL, board.SDA)
inputs = MCP23008(i2c)

input0 = inputs.get_pin(0)
input0.direction = digitalio.Direction.INPUT
input0.pull = digitalio.Pull.UP
input1 = relays.get_pin(1)
input1.direction = digitalio.Direction.INPUT
input1.pull = digitalio.Pull.UP
input2 = relays.get_pin(2)
input2.direction = digitalio.Direction.INPUT
input2.pull = digitalio.Pull.UP
input3 = relays.get_pin(3)
input3.direction = digitalio.Direction.INPUT
input3.pull = digitalio.Pull.UP
input4 = relays.get_pin(4)
input4.direction = digitalio.Direction.INPUT
input4.pull = digitalio.Pull.UP
input5 = relays.get_pin(5)
input5.direction = digitalio.Direction.INPUT
input5.pull = digitalio.Pull.UP
input6 = relays.get_pin(6)
input6.direction = digitalio.Direction.INPUT
input6.pull = digitalio.Pull.UP
input7 = relays.get_pin(7)
input7.direction = digitalio.Direction.INPUT
input7.pull = digitalio.Pull.UP

while True:
print (format(input0.value))
print (format(input1.value))
print (format(input2.value))
print (format(input3.value))
print (format(input4.value))
print (format(input5.value))
print (format(input6.value))
print (format(input7.value))
print (‘----------------- END -----------------’)

Just following up on this to see if you have any more suggestions since i posted the code.