SparkFun Qwiic GPIO

Do you find yourself wishing that you had just a few more GPIO pins? What if you only need that one more pin? You could add another microcontroller to your project but that increases cost and complexity. Instead, you can use the Qwiic GPIO to add eight new pins to your Qwiic project!

The Sparkfun Qwiic GPIO is an I²C device based around the TCA9534 I/O Expander IC from Texas Instruments. The board adds an additional eight IO pins which you can read and write just like any other digital pin on your controller. The details of the I²C interface have been taken care of in an Arduino library so you can call functions similar to Arduino's pinMode and digitalWrite, allowing you to focus on your creation!

The TCA9534's pins are broken out to easy-to-use latch terminals; never screw another wire into place! The terminals are relatively roomy themselves, so feel free to latch multiple wires into a ground or power terminal. With three customizable address jumpers, you can have up to eight Qwiic GPIO boards to be connected on a single bus allowing upwards of 64 additional GPIO pins! The default I²C is 0x27 and can be changed by adjusting the jumpers on the back of the board.

The SparkFun Qwiic connect system is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.

  • Eight Configurable GPIO Pins Available
  • I2C Address: 0x27 (Default)
    • Hardware address pins allow up to eight boards on a single bus
  • Input Polarity Inversion Register
  • Control each I/O pin individually or all at once
  • Open-Drain Active-Low Interrupt Output
  • 2x Qwiic Connectors
  • Dimensions: 2.40in x 1.50in (60.96mm x 38.10mm)

SparkFun Qwiic GPIO Product Help and Resources

SparkFun Qwiic GPIO Hookup Guide

October 8, 2020

Add up to 8 extra I/O pins to your microcontroller with the SparkFun Qwiic GPIO. Get started with the Qwiic GPIO in this Hookup Guide.

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • NoiseMaker / about 3 years ago / 1

    Neat little board! Qwiic GPIO Library Example 4 (Interrupts) needs to be cleaned up a little. Hardware interrupt pins for Redboard/Uno should be 2 or 3, not 13. ISR function should be called something other than "ISR()".

Customer Reviews

4.3 out of 5

Based on 4 ratings:

Currently viewing all customer reviews.

3 of 3 found this helpful:

Needs pull-ups!

I was going to use this to hook up a bunch of buttons, but there are no pullups on the inputs which makes them a pain to use. it would be great to have this with TCA9535 chip (which is just like TCA9534 but has pullups) or with jumpered pullup resistors on the PCB.

The hookup guide goes over the address selection, interrupt, and i2c pullup configuration but unfortunately neither the TCA9534 nor the pcb have pullups on the IO pins. From the TCA9534 datasheet: "The TCA9534 is identical to the TCA9554 except for the removal of the internal I/O pullup resistors, which greatly reduces power consumption when the I/Os are held LOW."

Check the hardware overview section of the hookup guide for information on the pull-ups. :-)

2 of 2 found this helpful:

Pretty handy, but needs pullups

Like the other reviewer said, this board needs pullups. The latches make it quick and easy to use, but then having to add 8 resistors makes it awkward. I solved the problem by soldering on 8 resistors to the through hole pins on the back of the board

Exactly what I needed

Very easy to integrate.