The default I2C address for this board is 0x20.
This breakout works with both 3V and 5V power and logic, so it can be easily used with most microcontrollers from an Arduino to a Feather or something else.
- VIN - This is the power pin. To power the board, give it the same power as the logic level of your microcontroller - i.e. for a 5V micro like Arduino, use 5V, or for a 3V micro like a Feather, use 3V.
- GND - This is common ground for power and logic.
- GND pads - The ground pads (highlighted in white on the board's silk) are available as discrete ground connections for the GPIO.
- SCL - I2C clock pin, connect to your microcontroller's I2C clock line. This pin is level shifted so you can use 3-5V logic, and there's a 10K pullup on this pin.
- SDA - I2C data pin, connect to your microcontroller's I2C data line. This pin is level shifted so you can use 3-5V logic, and there's a 10K pullup on this pin.
- STEMMA QT - These connectors allow you to connect to development boards with STEMMA QT connectors, or to other things, with various associated accessories.
Pins A0-A7 and B0-B7 are bidirectional input and output pins, for a total of 16 inputs or outputs. When a pin is an output, it can drive up to 25 mA. When a pin is an input, it can have an optional pull-up. The A pins are PORTA and the B pins are PORTB.
The MCP23017, the square chip located in the left-center on the front of the board, provides general purpose parallel I/O expansion over I2C.
- IA (INTA) - configurable for what inputs to keep track of on PORTA. It can be configured as active-high, active-low or open-drain.
- IB (INTB) - configurable for what inputs to keep track of on PORTB. It can be configured as active-high, active-low or open-drain.
On the back of the board are three address jumpers, labeled +1, +2, and +4, above the I2C Addr label on the board silk. These jumpers allow you to chain up to 8 of these boards on the same pair of I2C clock and data pins. To do so, you solder the jumpers "closed" by connecting the two pads.
On the front of the board are three address pins, labeled D0, D1 and D2. Just like the jumpers, these pins allow you to change the I2C address to connect multiple boards by connecting them to VIN.
The default I2C address is 0x20. The other address options can be calculated by “adding” the D0/D1/D2 to the base of 0x20.
D0 sets the lowest bit with a value of 1, D1 sets the next bit with a value of 2 and D2 sets the next bit with a value of 4. The final address is 0x20 + D2 + D1 + D0 which would be 0x27.
So for example if D2 is soldered closed and D0 is soldered closed, the address is 0x20 + 4 + 1 = 0x25.
If only D0 is soldered closed, the address is 0x20 + 1 = 0x21
If only D1 is soldered closed, the address is 0x20 + 2 = 0x22
If only D2 is soldered closed, the address is 0x20 + 4 = 0x24
The table below shows all possible addresses, and whether the pin(s) should be high (closed) or low (open).
- RST - This is the reset pin. Connect this pin to ground to reset the board.
- Power LED - In the upper left corner, above the STEMMA connector, on the front of the board, is the power LED, labeled on.
- LED jumper - On the back of the board is a jumper for the power LED. If you wish to disable the power LED, simply cut the trace on this jumper.