Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use Adafruit Charlieplex 9x16 Warm White: Examples, Pinouts, and Specs

Image of Adafruit Charlieplex 9x16 Warm WhiteDesign with Adafruit Charlieplex 9x16 Warm White in Cirkit Designer

Introduction

The Adafruit Charlieplex 9x16 Warm White LED Matrix is a compact and versatile display component that consists of 144 individually controllable warm white LEDs. This LED matrix utilizes the charlieplexing technique to enable control over each LED with a minimal number of microcontroller pins. It is ideal for creating eye-catching displays, indicators, and animations in projects where space is at a premium and power consumption needs to be minimized.

Explore Projects Built with Adafruit Charlieplex 9x16 Warm White

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of ESP32-Based NTP Clock with DHT22 Temperature Sensor and WS2812 LED Matrix Display: A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
ESP32-Based NTP Clock with DHT22 Temperature Sensor and WS2812 LED Matrix Display

This circuit features an ESP32 Devkit V1 microcontroller connected to a DHT22 temperature and humidity sensor and an 8x8 WS2812 RGB LED matrix. The ESP32 reads temperature data from the DHT22 sensor and displays the current date, time, and temperature on the LED matrix, with date and time synchronized via NTP (Network Time Protocol). The ESP32 provides power to both the DHT22 and the LED matrix and communicates with the DHT22 via GPIO 4 and with the LED matrix via GPIO 5.

Open Project in Cirkit Designer

Common Applications and Use Cases

Technical Specifications

Key Technical Details

Pin Configuration and Descriptions

Pin Number Name Description
1 GND Ground connection
2 VCC Power supply (3.3V - 5V)
3 SDA I2C Data line
4 SCL I2C Clock line
5 ADDR I2C Address selection (connect to GND or VCC)

Usage Instructions

How to Use the Component in a Circuit

  1. Power Connections: Connect the VCC pin to your power supply (3.3V - 5V) and the GND pin to the ground.

  2. I2C Connections: Connect the SDA and SCL pins to the corresponding I2C data and clock lines on your microcontroller, such as an Arduino UNO.

  3. Address Selection: The ADDR pin can be connected to GND or VCC to select between two I2C addresses. This allows for two matrices to be used on the same I2C bus.

  4. Programming: Use the provided library and example code to control the LEDs.

Important Considerations and Best Practices

Example Code for Arduino UNO

#include <Wire.h>
#include <Adafruit_IS31FL3731.h>

// Create the LED driver object
Adafruit_IS31FL3731 matrix = Adafruit_IS31FL3731();

void setup() {
  Wire.begin(); // Start I2C
  if (!matrix.begin()) { // Initialize the LED driver
    Serial.println("IS31FL3731 not found");
    while (1);
  }
  Serial.println("IS31FL3731 found!");
}

void loop() {
  matrix.fillScreen(0); // Clear the display buffer

  // Draw a diagonal line
  for (int i = 0; i < 9; i++) {
    matrix.drawPixel(i, i, 50); // Set brightness to 50 out of 255
  }

  matrix.writeDisplay(); // Update the display with the buffer content
  delay(500);
}

Troubleshooting and FAQs

Common Issues

Solutions and Tips for Troubleshooting

FAQs

Q: Can I use this matrix with a 3.3V microcontroller? A: Yes, the matrix can operate at 3.3V, but ensure that the I2C logic levels are compatible.

Q: How many of these matrices can I chain together? A: You can chain two matrices together on the same I2C bus by using different addresses set by the ADDR pin.

Q: What library should I use to control the matrix? A: The Adafruit_IS31FL3731 library is recommended for controlling the matrix with an Arduino.

Q: Can I control the brightness of individual LEDs? A: Yes, each LED's brightness can be controlled individually using the library's functions.