{"id":6849554874486,"title":"Adafruit PCF8575 I2C 16 GPIO Expander Breakout - STEMMA QT \/ Qwiic","handle":"adafruit-pcf8575-i2c-16-gpio-expander-breakout-stemma-qt-qwiic","description":"\u003cp\u003eExpand your project possibilities, with the Adafruit PCF8575 GPIO Expander Breakout - an affordable 16 channel I2C expander.\u003c\/p\u003e\u003cp\u003eGPIO expanders work like this: you have a board with some number of GPIO but not enough for your project - maybe you need more buttons or LEDs. You \u003cem\u003ecould\u003c\/em\u003e upgrade to a board with massive number of GPIO like the Grand Central, or you could pop on one of these boards. Connect it over I2C and then you can send\/receive I2C commands to control the GPIO pins to write and read them. It's going to be slower than direct GPIO access, but maybe that doesn't matter if it takes a millisecond instead of a microsecond. You only need the two I2C pins, and you can even share the I2C port with other sensors and devices. Heck, you can even add more expanders for massive I\/O control!\u003c\/p\u003e\u003cp\u003eThe PCF8575 is a common and \u003cem\u003eslightly unusual \u003c\/em\u003eI2C expander for folks who are used to the MCP230xx series:\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eFirst up, it's very affordable - who doesn't love that?\u003c\/li\u003e\n\u003cli\u003eIt has 16 I\/O pins\u003c\/li\u003e\n\u003cli\u003eThree I2C address select jumpers mean up to 8 expanders to one bus for 128 total GPIO added\u003c\/li\u003e\n\u003cli\u003eEach pin can be an input with light pull-up or an output sink\u003c\/li\u003e\n\u003cli\u003eIRQ output will automatically alert you when input pins change value\u003c\/li\u003e\n\u003cli\u003eThis chip does not have a pin direction register. You cannot set the pins as input or output - instead, each pin has two possible states. Basically, you can think of it as an open-drain output with a 100K resistor pull-up built in.\u003c\/li\u003e\n\u003cli\u003eOption one: Lightly pulled up 'input' - by default it will read as a high logic level, but connecting the GPIO to ground will cause it to read as a low logic level.\u003c\/li\u003e\n\u003cli\u003eOption two: Strong 20mA low-driving transistor sink output. This means the output is 'forced' to be low and will always read as a low logic level.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eThe pin direction \/ state thing is a little odd but it actually works fine for many purposes as long as you know what to expect.\u003c\/p\u003e\u003cp\u003eFor example, if you want to read a button or switch, connect one side to the PCF and the other side to ground. Then set the pin to 'light pull-up input' When the button is pressed it will read low, when released it will read high.\u003c\/p\u003e\u003cp\u003eIf you want to control an LED, connect the anode to positive voltage through a resistor. When the PCF pin is set to 'light pull-up input' the LED will be off. When the PCF pin is set to 'strong ground output' the LED will connect to ground and turn on.\u003c\/p\u003e\u003cp\u003eIf you want to send a GPIO output logic level to some other device or peripheral, the light pull-up acts as high logic out, the strong ground output acts as low logic out.\u003c\/p\u003e\u003cp\u003eIf you want to receive a GPIO input logic level, set the pin to light pull-up and then read the pin to determine if the GPIO input is high or low.\u003c\/p\u003e\u003cp\u003eBasically, the only thing to watch for is you cannot drive an LED that is expecting the expander GPIO to go high to turn on the LED or connect a button input to a positive voltage without adding an additional pull-down resistor. If this is a bit confusing, worry not - all this stuff is taken care of for you in our \u003ca href=\"https:\/\/github.com\/adafruit\/Adafruit_PCF8574\" target=\"_blank\"\u003eArduino PCF8574\/5\u003c\/a\u003e library or \u003ca href=\"https:\/\/github.com\/adafruit\/Adafruit_CircuitPython_PCF8575\" target=\"_blank\"\u003eCircuitPython\/Python PCF8575 library\u003c\/a\u003e - you can pretend it has input\/output modes and the library will fake out what you are expecting.\u003c\/p\u003e\u003cp\u003eTo get you going fast, we spun up a custom-made PCB in the\u003ca href=\"https:\/\/www.adafruit.com\/?q=stemma%20qt%20sensor\" target=\"_blank\"\u003e STEMMA QT form factor\u003c\/a\u003e, making it easy to interface with. The \u003ca href=\"https:\/\/learn.adafruit.com\/introducing-adafruit-stemma-qt\/what-is-stemma-qt\" target=\"_blank\"\u003eSTEMMA QT connectors\u003c\/a\u003e on either side are compatible with the \u003ca href=\"https:\/\/www.sparkfun.com\/qwiic\" target=\"_blank\"\u003eSparkFun Qwiic\u003c\/a\u003e I2C connectors. This allows you to make solderless connections between your development board and the PCF8575 or to chain it with a wide range of other sensors and accessories using a \u003ca href=\"https:\/\/www.adafruit.com\/?q=stemma%20qt%20cable\" target=\"_blank\"\u003ecompatible cable\u003c\/a\u003e.\u003c\/p\u003e\u003cp\u003eQT Cable is not included, but we have a variety in the shop. \u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","published_at":"2023-03-12T14:44:23-04:00","created_at":"2023-03-12T14:43:05-04:00","vendor":"kjdElectronics","type":"","tags":[],"price":590,"price_min":590,"price_max":590,"available":true,"price_varies":false,"compare_at_price":595,"compare_at_price_min":595,"compare_at_price_max":595,"compare_at_price_varies":false,"variants":[{"id":40026979401846,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"K823","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Adafruit PCF8575 I2C 16 GPIO Expander Breakout - STEMMA QT \/ Qwiic","public_title":null,"options":["Default Title"],"price":590,"weight":0,"compare_at_price":595,"inventory_quantity":0,"inventory_management":"shopify","inventory_policy":"continue","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-01_031f7111-91e0-4245-bda1-aa2c8825f4b6.jpg?v=1678646585","\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-04.jpg?v=1678646646","\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-00.jpg?v=1678646651"],"featured_image":"\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-01_031f7111-91e0-4245-bda1-aa2c8825f4b6.jpg?v=1678646585","options":["Title"],"media":[{"alt":null,"id":22741619802230,"position":1,"preview_image":{"aspect_ratio":1.332,"height":728,"width":970,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-01_031f7111-91e0-4245-bda1-aa2c8825f4b6.jpg?v=1678646585"},"aspect_ratio":1.332,"height":728,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-01_031f7111-91e0-4245-bda1-aa2c8825f4b6.jpg?v=1678646585","width":970},{"alt":null,"id":22741619966070,"position":2,"preview_image":{"aspect_ratio":1.332,"height":728,"width":970,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-04.jpg?v=1678646646"},"aspect_ratio":1.332,"height":728,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-04.jpg?v=1678646646","width":970},{"alt":null,"id":22741619998838,"position":3,"preview_image":{"aspect_ratio":1.332,"height":728,"width":970,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-00.jpg?v=1678646651"},"aspect_ratio":1.332,"height":728,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/1749\/9663\/products\/5611-00.jpg?v=1678646651","width":970}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eExpand your project possibilities, with the Adafruit PCF8575 GPIO Expander Breakout - an affordable 16 channel I2C expander.\u003c\/p\u003e\u003cp\u003eGPIO expanders work like this: you have a board with some number of GPIO but not enough for your project - maybe you need more buttons or LEDs. You \u003cem\u003ecould\u003c\/em\u003e upgrade to a board with massive number of GPIO like the Grand Central, or you could pop on one of these boards. Connect it over I2C and then you can send\/receive I2C commands to control the GPIO pins to write and read them. It's going to be slower than direct GPIO access, but maybe that doesn't matter if it takes a millisecond instead of a microsecond. You only need the two I2C pins, and you can even share the I2C port with other sensors and devices. Heck, you can even add more expanders for massive I\/O control!\u003c\/p\u003e\u003cp\u003eThe PCF8575 is a common and \u003cem\u003eslightly unusual \u003c\/em\u003eI2C expander for folks who are used to the MCP230xx series:\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eFirst up, it's very affordable - who doesn't love that?\u003c\/li\u003e\n\u003cli\u003eIt has 16 I\/O pins\u003c\/li\u003e\n\u003cli\u003eThree I2C address select jumpers mean up to 8 expanders to one bus for 128 total GPIO added\u003c\/li\u003e\n\u003cli\u003eEach pin can be an input with light pull-up or an output sink\u003c\/li\u003e\n\u003cli\u003eIRQ output will automatically alert you when input pins change value\u003c\/li\u003e\n\u003cli\u003eThis chip does not have a pin direction register. You cannot set the pins as input or output - instead, each pin has two possible states. Basically, you can think of it as an open-drain output with a 100K resistor pull-up built in.\u003c\/li\u003e\n\u003cli\u003eOption one: Lightly pulled up 'input' - by default it will read as a high logic level, but connecting the GPIO to ground will cause it to read as a low logic level.\u003c\/li\u003e\n\u003cli\u003eOption two: Strong 20mA low-driving transistor sink output. This means the output is 'forced' to be low and will always read as a low logic level.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eThe pin direction \/ state thing is a little odd but it actually works fine for many purposes as long as you know what to expect.\u003c\/p\u003e\u003cp\u003eFor example, if you want to read a button or switch, connect one side to the PCF and the other side to ground. Then set the pin to 'light pull-up input' When the button is pressed it will read low, when released it will read high.\u003c\/p\u003e\u003cp\u003eIf you want to control an LED, connect the anode to positive voltage through a resistor. When the PCF pin is set to 'light pull-up input' the LED will be off. When the PCF pin is set to 'strong ground output' the LED will connect to ground and turn on.\u003c\/p\u003e\u003cp\u003eIf you want to send a GPIO output logic level to some other device or peripheral, the light pull-up acts as high logic out, the strong ground output acts as low logic out.\u003c\/p\u003e\u003cp\u003eIf you want to receive a GPIO input logic level, set the pin to light pull-up and then read the pin to determine if the GPIO input is high or low.\u003c\/p\u003e\u003cp\u003eBasically, the only thing to watch for is you cannot drive an LED that is expecting the expander GPIO to go high to turn on the LED or connect a button input to a positive voltage without adding an additional pull-down resistor. If this is a bit confusing, worry not - all this stuff is taken care of for you in our \u003ca href=\"https:\/\/github.com\/adafruit\/Adafruit_PCF8574\" target=\"_blank\"\u003eArduino PCF8574\/5\u003c\/a\u003e library or \u003ca href=\"https:\/\/github.com\/adafruit\/Adafruit_CircuitPython_PCF8575\" target=\"_blank\"\u003eCircuitPython\/Python PCF8575 library\u003c\/a\u003e - you can pretend it has input\/output modes and the library will fake out what you are expecting.\u003c\/p\u003e\u003cp\u003eTo get you going fast, we spun up a custom-made PCB in the\u003ca href=\"https:\/\/www.adafruit.com\/?q=stemma%20qt%20sensor\" target=\"_blank\"\u003e STEMMA QT form factor\u003c\/a\u003e, making it easy to interface with. The \u003ca href=\"https:\/\/learn.adafruit.com\/introducing-adafruit-stemma-qt\/what-is-stemma-qt\" target=\"_blank\"\u003eSTEMMA QT connectors\u003c\/a\u003e on either side are compatible with the \u003ca href=\"https:\/\/www.sparkfun.com\/qwiic\" target=\"_blank\"\u003eSparkFun Qwiic\u003c\/a\u003e I2C connectors. This allows you to make solderless connections between your development board and the PCF8575 or to chain it with a wide range of other sensors and accessories using a \u003ca href=\"https:\/\/www.adafruit.com\/?q=stemma%20qt%20cable\" target=\"_blank\"\u003ecompatible cable\u003c\/a\u003e.\u003c\/p\u003e\u003cp\u003eQT Cable is not included, but we have a variety in the shop. \u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e"}
Adafruit PCF8575 I2C 16 GPIO Expander Breakout - STEMMA QT / Qwiic
Related Products
Adafruit Battery Packs Lithium Ion Battery 3.7v 2000mAh
$12.45 $12.50
Adafruit Lithium Ion Battery Pack 3.7V 6600mAh
$29.45 $29.50
Adafruit Circuit Playground Express
$24.90 $24.95
Adafruit FX Sound Board 16MB Flash
$19.90 $19.95