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

adafruit-products-oneled

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
    Bulk Location No Stock

    We ship free of charge between branches to complete your order.

  • R101.00 (Inc Tax: R116.15)


Related Products

I2C 8-Bit I/O Expander

I2C 8-Bit I/O Expander

I2C 8-Bit I/O Expander Quick Spec Operating supply voltage 2.5 to 6 V Low standby current consumption of 10 µA maximum I2C-bus to parallel port expander Open-drain interrupt output 8-..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: PCF8574P
Product Status : Active

R16.00 (Inc Tax: R18.40)

16 Bit IO Expander I2C - Dip

16 Bit IO Expander I2C - Dip

16 Bit IO Expander I2C - Dip Quick Spec 16-bit remote bidirectional I/O port High-speed I2C™ interface (MCP23017) High-speed SPI interface (MCP23S17) Three hardware address ..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: MCP23017
Product Status : Active

R25.00 (Inc Tax: R28.75)

IO Expander Breakout - 16 Output - I2C

IO Expander Breakout - 16 Output - I2C

IO Expander Breakout - 16 Output - I2C Are you low on I/O? No problem! The SX1509 Breakout is a 16-channel GPIO expander with an I2C interface – that means with just two wires, your microcontroller..

Centurion (No Stock)
Stellenbosch (No Stock)
Part No: BOB-13601
Product Status : Active

R220.00 (Inc Tax: R253.00)

SparkFun LED Driver Breakout

SparkFun LED Driver Breakout

SparkFun LED Driver Breakout - LP55231 The SparkFun LP55231 LED Driver Breakout is a self-contained solution for developing and deploying the nine-channel I2C LED controller. Remarkably simple, the b..

Centurion (No Stock)
Stellenbosch (No Stock)
Part No: BOB-13884
Product Status : Active

R215.00 (Inc Tax: R247.25)

IO Expansion Board I2C

IO Expansion Board I2C

IO Expansion Board I2C The PCF8574 IO Expansion Board is used as remote 8-bit I/O expander for I2C-bus. Up to 8 PCF8574 IO Expansion Board can be connected to the I2C-bus, providing up to 64 I/O po..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: W3708
Product Status : Active

R40.00 (Inc Tax: R46.00)

SparkFun LumiDrive LED Driver

SparkFun LumiDrive LED Driver

SparkFun LumiDrive LED Driver The LumiDrive LED Driver is SparkFun’s foray into all things Python on micro-controllers. With the SparkFun LumiDrive you will be able to control and personalize a whole..

Centurion (In Stock)
Stellenbosch (No Stock)
Bulk Location (No Stock)
Part No: DEV-14779
Product Status : Active

R355.00 (Inc Tax: R408.25)

Wave AW9523B I2C to 16 IO Expansion Board

Wave AW9523B I2C to 16 IO Expansion Board

Wave AW9523B I2C to 16 IO Expansion Board The Wave AW9523B I2C to 16 IO Expansion Board is an expansion board that adds 16 I/O's to your controller. It's compatible with the raspberry pi, Arduino a..

Centurion (In Stock)
Stellenbosch (In Stock)
Bulk Location (No Stock)
Part No: W22132
Product Status : Active

R95.00 (Inc Tax: R109.25)

Tags: adafruit, aw9523, gpio, expander, qwiic, i2c, led driver, 16 pins, 16 way