Adafruit AW9523 GPIO Expander - Qwiic
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.
The AW9523 is a twist on the common I2C expander:
- 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)
If you're using an expander to add lots of controllable LEDs, this board will make it very easy. Since its constant-current, you don't need resistors in line with each LED): simply connect the LED anode to one of the many VIN pads, then connect the cathode to the GPIO pin.
Of course, you can control any buttons or other I/O with the pins - we just think this board is particularly suited to LED driving. There's also an interrupt output, you can enable the pin-change IRQ for any pins so you can be notified when its time to read the I/O states.
One oddity about this chip is the default I2C address determines the initial boot-state of the pins. Adafruits' libraries immediately soft-reset and configure all the pins to inputs and push-pull so you can expect the same behavior no matter what the I2C address is. However, we recommend you check the datasheet Table 1 to make sure this doesn't affect your hardware.
Quick Spec
- 16 multi-function I/O, each for LED drive (current-source dimming) or GPIO mode
- 256 steps linear dimming in LED drive mode
- Any GPIO can be configured as an input or an output independently
- Support interrupt, 8us deglitch, low-level active
- Standard I2C interface, AD1/AD0 select I2C device address
- SDA, SCL, SHDN, and all GPIO can accept in 1.8V logic input
- ESD protection: ±4000V HBM (MIL-STD-883H Method 3015.8 standard)
- Latch-up:±450mA (JEDEC STANDARD NO.78C SEPTEMBER 2010 standard)
- Supply shutdown function, low-level active
- 2.5 ~ 5.5V power supply
- I2C address default 0x58 (can be 0x59, 0x5A or 0x5B)
- Dimensions: 38 x 17.8 x 4.5mm
- Net Weight: 6g
Wiring Diagram
Sample Code
#include <Adafruit_AW9523.h>
Adafruit_AW9523 aw;
uint8_t LedPin = 0; // 0 thru 15
void setup() {
Serial.begin(115200);
while (!Serial) delay(1); // wait for serial port to open
Serial.println("Adafruit AW9523 GPIO Expander test!");
if (! aw.begin(0x58)) {
Serial.println("AW9523 not found? Check wiring!");
while (1) delay(10); // halt forever
}
Serial.println("AW9523 found!");
aw.pinMode(LedPin, OUTPUT);
}
void loop() {
aw.digitalWrite(LedPin, HIGH);
delay(100);
aw.digitalWrite(LedPin, LOW);
delay(100);
}
Resources
Shipping List
- 1 x Adafruit AW9523 GPIO Expander - Qwiic
- 1 x Header Set
Adafruit AW9523 GPIO Expander - Qwiic
- Brand: Adafruit
- Product Code: AF4886
- Weight: 0.006kg
- Product Status : Active
Stock
Warehouse | Stock Status | Location |
---|---|---|
Centurion | Limited Stock | FF306 |
Stellenbosch | In Stock | V26 |
We ship free of charge between branches to complete your order.
-
R101.00 (Inc Tax: R116.15)
Related Products
Tags: adafruit, aw9523, gpio, expander, qwiic, i2c, led driver, 16 pins, 16 way