Skip to Content

Matrix LED Display 8X8 Red CA 60x60mm

The 8x8 LED Matrix Display is a compact visual output component containing 64 individual red LEDs arranged in an 8-row by 8-column matrix. It can be used to display simple characters, numbers, symbols, patterns, and basic graphics in Arduino and other microcontroller projects. This version uses a common-anode configuration, where the LED anodes are arranged as common row connections and the cathodes are arranged as column connections. By controlling the appropriate rows and columns, individual LEDs or groups of LEDs can be illuminated to create custom patterns and animations.

Package Includes

  • 1 × 8x8 LED Matrix Display – Red, Common Anode


8.00 AED 8.00 AED (Tax included)

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

 

Features

  • 8x8 LED matrix: Contains 64 individual LEDs arranged in 8 rows and 8 columns.
  • Red LED color: Provides clear red visual indication.
  • Common-anode configuration: Rows share common anode connections while columns provide cathode connections.
  • Character display: Suitable for displaying letters, numbers, and symbols.
  • Pattern display: Can display icons, simple graphics, and custom pixel patterns.
  • Multiplexing support: The matrix can be scanned rapidly by a microcontroller to control multiple LEDs using shared connections.
  • Arduino compatible: Suitable for use with Arduino boards and other microcontrollers.
  • Compact module: Suitable for breadboard prototyping and custom electronic projects.

Principle of Operation

The 8x8 LED matrix consists of 64 LEDs electrically arranged in a matrix of 8 rows and 8 columns. Instead of providing two separate connections for every LED, the LEDs share row and column connections, significantly reducing the number of required control lines.

8x8 led matrix interfacing with arduino - Hackster.io

In the common-anode configuration, the anodes of LEDs in each row are connected together, while the cathodes are connected according to their respective columns. A microcontroller can select a row and control the corresponding column lines to illuminate specific LEDs. By rapidly scanning through the rows, multiple LEDs can appear illuminated simultaneously due to persistence of vision.

Applications

  • Arduino LED matrix projects
  • Character and number displays
  • Simple graphic displays
  • Scrolling text projects
  • Icons and symbol displays
  • LED animations
  • Educational electronics projects
  • Digital signs and indicators
  • DIY clocks and counters
  • Interactive electronic projects

Pinout

An 8x8 matrix uses 16 electrical connections, consisting of eight common anode row connections and eight cathode column connections. The exact physical pin numbering can vary depending on the specific LED matrix package, so the manufacturer's pin diagram should be checked before wiring.

8X8 Matrix Pinout

Connection Group Quantity Function
Common Anode Rows 8 Common positive connections for the LED rows
Cathode Columns 8 Negative connections for the LED columns

Wiring

The LED matrix can be connected to an Arduino or another microcontroller using its row and column connections. Because the matrix requires multiple control lines, it is commonly driven using multiplexing or an external LED matrix driver.

Current-limiting resistors are required when driving the individual LED segments. For larger displays or applications requiring higher LED current, an appropriate transistor or dedicated LED driver should be used rather than driving all LED current directly from microcontroller GPIO pins.

8x8 led matrix interfacing with arduino - Hackster.io

Matrix Connection Controller Function
8 Anode Rows Digital output / driver Select LED rows
8 Cathode Columns Digital output / driver Select LEDs within the active row

Code:

// Pins connect as per define
// Fill in the pins you used on your own setup.

#define ROW_1 2
#define ROW_2 3
#define ROW_3 4
#define ROW_4 5
#define ROW_5 6
#define ROW_6 7
#define ROW_7 8
#define ROW_8 9

#define COL_1 10
#define COL_2 11
#define COL_3 12
#define COL_4 13
#define COL_5 A0
#define COL_6 A1
#define COL_7 A2
#define COL_8 A3

const byte rows[] = {
    ROW_1, ROW_2, ROW_3, ROW_4, ROW_5, ROW_6, ROW_7, ROW_8
};

// The display buffer
// It shows a walking steps (1 = ON, 0 = OFF)
byte star1[] = {B00000110,B11000010,B10100100,B00011000,B00011000,B00100101,B01000011,B01100000};
byte star2[] = {B00110000,B00100000,B00100111,B00011001,B10011000,B11100100,B00000100,B00001100};
byte star3[] = {B00000110,B10001000,B10010000,B01011100,B00111010,B00001001,B00010001,B01100000};

float timeCount = 0;

void setup() {
    // Open serial port
    Serial.begin(9600);
    
    // Set all used pins to OUTPUT
    // This is very important! If the pins are set to input
    for (byte i = 2; i <= 13; i++)
        pinMode(i, OUTPUT);
    pinMode(A0, OUTPUT);
    pinMode(A1, OUTPUT);
    pinMode(A2, OUTPUT);
    pinMode(A3, OUTPUT);
}

void loop() {
  // This could be rewritten to not use a delay, which would make it appear brighter
delay(5);
timeCount += 1;
if(timeCount <  20) {
drawScreen(star1);
} else if (timeCount <  80) {
drawScreen(star2);
} else if (timeCount <  100) {
drawScreen(star3);
} else if (timeCount <  120) {
drawScreen(star1);
} else if (timeCount <  140) {
drawScreen(star2);
} else if (timeCount <  160) {
drawScreen(star3);
} else {
// back to the start
timeCount = 0;
}
}
 void  drawScreen(byte buffer2[]){
     
    
   // Turn on each row in series
    for (byte i = 0; i < 8; i++) {
        setColumns(buffer2[i]); // Set columns for this specific row
        
        digitalWrite(rows[i], HIGH);
        delay(2); // Set this to 50 or 100 if you want to see the multiplexing effect!
        digitalWrite(rows[i], LOW);
        
    }
}


void setColumns(byte b) {
    digitalWrite(COL_1, (~b >> 0) & 0x01); // Get the 1st bit: 10000000
    digitalWrite(COL_2, (~b >> 1) & 0x01); // Get the 2nd bit: 01000000
    digitalWrite(COL_3, (~b >> 2) & 0x01); // Get the 3rd bit: 00100000
    digitalWrite(COL_4, (~b >> 3) & 0x01); // Get the 4th bit: 00010000
    digitalWrite(COL_5, (~b >> 4) & 0x01); // Get the 5th bit: 00001000
    digitalWrite(COL_6, (~b >> 5) & 0x01); // Get the 6th bit: 00000100
    digitalWrite(COL_7, (~b >> 6) & 0x01); // Get the 7th bit: 00000010
    digitalWrite(COL_8, (~b >> 7) & 0x01); // Get the 8th bit: 00000001
    
    // If the polarity of your matrix is the opposite of mine
    // remove all the '~' above.
}

Specifications

Product Type 8x8 LED Matrix Display
LED Color Red
Matrix Size 8 × 8
Number of LEDs 64
Configuration Common Anode
Row Connections 8 Common Anode Rows
Column Connections 8 Cathode Columns
Total Connections 16
Dimensions Approximately 60 × 60 mm
Interface Direct row/column control