Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

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

Image of Adafruit Charlieplex 9x16 Warm White
Cirkit Designer LogoDesign 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!
Arduino Mega 2560 and Raspberry Pi 4B Controlled WS2812 RGB LED Strip
Image of circuit_image: A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
This circuit features an Arduino Mega 2560 microcontroller programmed to control a WS2812 RGB LED strip and a white LED, indicating status or providing user feedback. The Arduino and the LED strip are powered by a common 5V supply, and the circuit includes interfacing with a Raspberry Pi 4B for potential communication or coordination between the two boards.
Cirkit Designer LogoOpen Project in Cirkit Designer
Adafruit Circuit Playground Bluefruit and Crickit-Based Smart RGB LED and Temperature Monitoring System
Image of Example: A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
This circuit integrates an Adafruit Circuit Playground Bluefruit with an Adafruit Crickit for Circuit Playground Express to control a temperature sensor, a loudspeaker, and a series of WS2812 RGB LED strips. The Crickit board reads temperature data, drives the loudspeaker, and controls the LED strips to create visual effects based on the sensor input.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Controlled RGB LED Matrix with Bluetooth Connectivity and Audio Output
Image of the bell : A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
This is an interactive display and communication circuit. It uses an Arduino UNO to drive multiple WS2812 RGB LED matrices for visual output, interfaces with a DS3231 RTC for time-related functions, and communicates wirelessly via an HC-05 Bluetooth module. Additionally, it features audio output capabilities through a speaker connected to a PAM8403 audio amplifier.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based NTP Clock with DHT22 Temperature Sensor and WS2812 LED Matrix Display
Image of date time and temperature display : A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
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.
Cirkit Designer LogoOpen Project in Cirkit Designer

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 circuit_image: A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
Arduino Mega 2560 and Raspberry Pi 4B Controlled WS2812 RGB LED Strip
This circuit features an Arduino Mega 2560 microcontroller programmed to control a WS2812 RGB LED strip and a white LED, indicating status or providing user feedback. The Arduino and the LED strip are powered by a common 5V supply, and the circuit includes interfacing with a Raspberry Pi 4B for potential communication or coordination between the two boards.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Example: A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
Adafruit Circuit Playground Bluefruit and Crickit-Based Smart RGB LED and Temperature Monitoring System
This circuit integrates an Adafruit Circuit Playground Bluefruit with an Adafruit Crickit for Circuit Playground Express to control a temperature sensor, a loudspeaker, and a series of WS2812 RGB LED strips. The Crickit board reads temperature data, drives the loudspeaker, and controls the LED strips to create visual effects based on the sensor input.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of the bell : A project utilizing Adafruit Charlieplex 9x16 Warm White in a practical application
Arduino UNO Controlled RGB LED Matrix with Bluetooth Connectivity and Audio Output
This is an interactive display and communication circuit. It uses an Arduino UNO to drive multiple WS2812 RGB LED matrices for visual output, interfaces with a DS3231 RTC for time-related functions, and communicates wirelessly via an HC-05 Bluetooth module. Additionally, it features audio output capabilities through a speaker connected to a PAM8403 audio amplifier.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of date time and temperature 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.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Wearable electronics
  • Small-scale message displays
  • Decorative lighting
  • User interface indicators
  • Educational projects to demonstrate charlieplexing

Technical Specifications

Key Technical Details

  • Operating Voltage: 3.3V - 5V
  • Max Current (all LEDs on): ~350mA at 3.3V
  • LED Color: Warm White
  • Number of LEDs: 144
  • Communication: I2C interface

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

  • Ensure that your power supply can handle the maximum current draw when all LEDs are on.
  • Use pull-up resistors on the I2C lines if they are not included in your microcontroller board.
  • Avoid powering the matrix from the microcontroller's 3.3V pin if using many LEDs at high brightness, as this may exceed the regulator's current capacity.

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

  • LEDs Not Lighting Up: Ensure that the power supply is correctly connected and within the specified voltage range. Check the I2C connections and pull-up resistors.
  • Dim LEDs: If the LEDs are dimmer than expected, check the power supply current capability and ensure it meets the maximum current requirements.
  • Flickering LEDs: Flickering can occur if there is a loose connection or if the I2C bus is experiencing interference. Ensure all connections are secure and consider using shielded cables for long runs.

Solutions and Tips for Troubleshooting

  • Double-check wiring against the pin configuration table.
  • Use a multimeter to verify that the correct voltage is present at the VCC pin.
  • Ensure that the correct I2C address is being used in your code.
  • If using multiple matrices, ensure that each has a unique I2C address.

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.