

The Keyestudio KS0064 is an 8x8 LED matrix display module powered by the HT16K33 driver chip. This module communicates via the I2C protocol, making it easy to integrate into microcontroller-based projects. It allows users to control individual LEDs to display patterns, text, and simple graphics. The compact design and efficient communication make it ideal for applications such as digital clocks, scrolling text displays, and visual indicators.








| Parameter | Value |
|---|---|
| Manufacturer | Keyestudio |
| Part ID | KY-KS0064 |
| Driver IC | HT16K33 |
| Communication Protocol | I2C |
| Operating Voltage | 5V DC |
| Operating Current | ~20mA (varies with LED usage) |
| LED Matrix Size | 8x8 (64 LEDs) |
| Dimensions | 3.2cm x 3.2cm |
| I2C Address (Default) | 0x70 |
The Keyestudio KS0064 module has a 4-pin interface for I2C communication and power.
| Pin Name | Description |
|---|---|
| VCC | Power supply (5V DC) |
| GND | Ground |
| SDA | I2C data line |
| SCL | I2C clock line |
Wiring: Connect the module to the Arduino UNO as follows:
VCC to the Arduino 5V pin.GND to the Arduino GND pin.SDA to the Arduino A4 pin (I2C data line).SCL to the Arduino A5 pin (I2C clock line).Install Required Libraries:
Adafruit GFX and Adafruit LED Backpack libraries from the Arduino Library Manager.Arduino Code Example: The following code demonstrates how to display a simple pattern on the LED matrix.
// Include necessary libraries
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_LEDBackpack.h>
// Create an instance of the LED matrix
Adafruit_8x8matrix matrix = Adafruit_8x8matrix();
void setup() {
// Initialize the matrix
matrix.begin(0x70); // Default I2C address for HT16K33
matrix.clear(); // Clear the display
matrix.writeDisplay();
}
void loop() {
// Display a simple pattern (diagonal line)
matrix.clear(); // Clear the display buffer
for (int i = 0; i < 8; i++) {
matrix.drawPixel(i, i, LED_ON); // Turn on diagonal LEDs
}
matrix.writeDisplay(); // Update the display
delay(1000); // Wait for 1 second
// Clear the display and wait
matrix.clear();
matrix.writeDisplay();
delay(1000);
}
0x70. If multiple devices are used, ensure each has a unique address by configuring the address pins on the HT16K33.setBrightness() function in the Adafruit LED Backpack library.No Display Output:
SDA and SCL lines.0x70) is used in the code.Flickering LEDs:
Incorrect Patterns or Text:
setup() function.Q: Can I use this module with microcontrollers other than Arduino?
A: Yes, the KS0064 can be used with any microcontroller that supports I2C communication, such as Raspberry Pi, ESP32, or STM32.
Q: How do I change the I2C address of the module?
A: The HT16K33 driver allows address configuration using the address pins (A0, A1, A2). Refer to the HT16K33 datasheet for details on setting a new address.
Q: Can I display scrolling text on the matrix?
A: Yes, the Adafruit GFX library provides functions for displaying and scrolling text. Refer to the library documentation for examples.
Q: What is the maximum brightness level?
A: The HT16K33 supports 16 levels of brightness, which can be adjusted using the setBrightness() function.