Expand your project possibilities, with the Adafruit AW9523 GPIO Expander and LED Driver Breakout - a cute and powerful I2C expander with a lot of tricks up its sleeve.
GPIO 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 could 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!
The AW9523 is a twist on the common I2C expander:
First up, its very affordable - who doesn't love that?
It has 16 I/O pins, that'll double most boards' pin count
Four I2C address options, so you can connect 4 expanders to one bus
Each pin can be an input or an output
IRQ output can alert you when input pins change value
This chip does not support internal pull-ups or pull-downs, you will need to add an external resistor if you need one
However, it does have 8-bit linear constant-current LED dimming support so you can connect LEDs without resistors and have great looking dimming without PWM
The first 8 pins can be configured as open drain (as a group)
Describe the problem you have/What new integration you would like
No support for AWINIC AW9523 GPIO Expander and LED Driver in the main branch.
Please describe your use case for this integration and alternatives you've tried:
I tried this componant:
Additional context
Expand your project possibilities, with the Adafruit AW9523 GPIO Expander and LED Driver Breakout - a cute and powerful I2C expander with a lot of tricks up its sleeve.
GPIO 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 could 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!
The AW9523 is a twist on the common I2C expander:
Doc