The Adafruit Charlieplex 9x16 Red is a versatile and compact LED matrix display that leverages the charlieplexing technique to control 144 red LEDs using a minimal number of microcontroller pins. This matrix is ideal for creating eye-catching displays for alphanumeric characters, simple graphics, and animations. Its small form factor makes it perfect for wearable electronics, small handheld devices, and any project where space is at a premium.
Explore Projects Built with Adafruit Charlieplex 9x16 Red
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
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.
This circuit consists of an Arduino UNO microcontroller connected to multiple MAX7219 8x8 LED Matrix modules arranged in a daisy-chain configuration. The Arduino controls the LED matrices using a software-implemented SPI communication protocol, with the purpose of displaying complex patterns or animations across the combined matrix display. The provided code handles the initialization and updating of the LED matrices, creating visual effects by manipulating the framebuffer and sending the data to the LED matrices in the correct order.
This circuit is a game system controlled by an Arduino UNO, featuring an 8x8 LED matrix, a 4x4 keypad, and a TM1637 4-digit display. The user interacts with the game via the keypad, and the game state is displayed on the LED matrix and the TM1637 display, with power supplied by a 9V battery.
This circuit features an ESP32 microcontroller connected to two cascaded 8x8 LED matrix displays, powered by a 3.3V battery. The ESP32 drives the displays to show time and other information, with the code indicating functionality for connecting to WiFi, synchronizing time via NTP, and displaying data on the matrices using custom fonts. Additionally, there is a separate 3.3V battery powering a red LED, which appears to function as a simple indicator light.
Educational projects to demonstrate charlieplexing
Technical Specifications
Key Technical Details
LED Color: Red
Matrix Size: 9 columns x 16 rows
Number of LEDs: 144
Operating Voltage: 3.3V - 5V
Max Current per LED: 20mA
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
Power Connections: Connect the VCC pin to the power supply (3.3V or 5V) and the GND pin to the ground of your circuit.
I2C Communication: Connect the SDA and SCL pins to the corresponding I2C data and clock lines on your microcontroller.
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.
Important Considerations and Best Practices
Ensure that the power supply voltage matches the operating voltage of the matrix.
Limit the current to each LED to a maximum of 20mA to prevent damage.
Use pull-up resistors on the I2C data and clock lines if your microcontroller does not have built-in pull-ups.
When displaying static images, it's recommended to use a low duty cycle to prevent LED overheating.
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
matrix.begin(); // Initialize the LED matrix
}
void loop() {
// Display a pattern on the matrix
for (uint8_t i = 0; i < 9; i++) {
for (uint8_t j = 0; j < 16; j++) {
matrix.drawPixel(i, j, (i + j) % 2 ? 255 : 0); // Checkerboard pattern
}
}
delay(500);
matrix.clear(); // Clear the display
delay(500);
}
Troubleshooting and FAQs
Common Issues
LEDs Not Lighting Up: Ensure that the power supply is correctly connected and within the operating voltage range. Check the I2C connections and verify that the correct I2C address is being used.
Dim LEDs: Confirm that the current limiting resistors are appropriate and that the power supply can deliver sufficient current.
Flickering Display: This may be due to a poor connection or insufficient power supply. Check all connections and ensure the power supply is stable.
Solutions and Tips for Troubleshooting
Double-check wiring against the pin configuration table.
Use a multimeter to verify the voltage at the VCC pin and the continuity of the I2C lines.
If using multiple matrices, ensure that each has a unique I2C address.
Consult the Adafruit IS31FL3731 library documentation for additional functions and examples.
FAQs
Q: Can I use more than one Charlieplex 9x16 Red matrix at a time?
A: Yes, you can use two matrices on the same I2C bus by setting different addresses using the ADDR pin.
Q: How do I control individual LEDs?
A: Individual LEDs can be controlled using the drawPixel function provided by the Adafruit IS31FL3731 library.
Q: What is the maximum brightness for the LEDs?
A: The maximum brightness is achieved by setting the LED current to 20mA. However, for extended lifespan and reliability, it is recommended to operate at a lower current.
Q: Can I use this matrix with a 3.3V system?
A: Yes, the matrix can operate at 3.3V, but ensure that the I2C logic levels are compatible with your microcontroller.