MAX7219 8×8 LED Dot Matrix
Overview
An 8×8 LED dot matrix using the MAX7219 chipset. Multiple modules can be connected to display text, shapes, and more. It uses SPI interface.

Specifications
- Operating voltage: 5V DC
- Data communication interface: SPI serial
- Controller: MAX7219
Supported GPIO
- Raspberry Pi 0~4
- Raspberry Pi 5
- BeagleBone Black/Green
- Jetson Nano
- FT232H, FT2232H, FT4232H
Commands
[INIT]
Enters initial configuration settings.
Item | Type | Description |
---|---|---|
Module Type * | WRITE | Select the module type. (GENERIC, FC16, PAROLA, IC_STATION) |
Matrix Count | WRITE | Enter the number of connected matrices. |

[PRINT_TEXT]
Displays text on the matrix.
Item | Type | Description |
---|---|---|
Start Column | WRITE | Column number of the matrix where text will be displayed. The leftmost column is 0. (0~2047) |
Text | WRITE | Text to display. |
[SET_POINT]
Turns on or off the LED at a specified position on the matrix.
Item | Type | Description |
---|---|---|
Row | WRITE | Row number of the matrix. The topmost row is 0. (0~7) |
Column | WRITE | Column number of the matrix. The leftmost column is 0. (0~2047) |
Value | WRITE | If true, turns on the LED; if false, turns it off. |
[SET_COLUMN]
Turns on or off a specified column of the matrix. You can control the column’s ON/OFF state with a number between 0~255.
Item | Type | Description |
---|---|---|
Column | WRITE | Column number of the matrix. The leftmost column is 0. (0~2047) |
Value * | WRITE | Value to control the matrix column. (0~255) |
[SET_ROW]
Turns on or off a specified row of the matrix. This applies to all connected matrices in the row, and you can control the row’s ON/OFF state with a number between 0~255.
Item | Type | Description |
---|---|---|
Row | WRITE | Row number of the matrix. The topmost row is 0. (0~7) |
Value * | WRITE | Value to control the matrix row. (0~255) |
[SET_BUFFER]
Displays custom data on the matrix. Each byte represents one column.
Item | Type | Description |
---|---|---|
Data | WRITE | Byte array value. Each byte represents one column. |
Start Column | WRITE | Column number of the matrix. The leftmost column is 0. (0~2047) |
[SET_BRIGHTNESS]
Sets the brightness of the matrix.
Item | Type | Description |
---|---|---|
Brightness | WRITE | Sets the brightness of all connected matrices. (0~15) |
[CLEAR]
Clears all content displayed on the matrix.
[UPDATE]
Sets whether to display configured text, shapes, etc. on the matrix in real-time. The default value is true. When set to false, content is not displayed in real-time but stored in internal memory and displayed all at once when set to true.
Item | Type | Description |
---|---|---|
Value | WRITE | Sets whether to display in real-time. |
[TRANSFORM]
Moves, mirrors, rotates, or inverts the current content set on the matrix.
Item | Type | Description |
---|---|---|
Option | WRITE | Select the option to apply. (Left Move, Right Move, Up Move, Down Move, Horizontal Mirror, Vertical Mirror, Clockwise 90° Rotation, Invert) |
[SCROLL_TEXT]
Moves text one position to the left or right. Calling this command at regular intervals creates a scrolling effect.
Item | Type | Description |
---|---|---|
Text | WRITE | Enter the text to display. |
Move Direction | WRITE | Select the direction to move one position at a time. (Left, Right) |
[TEST]
Turns on or off all pixels on the matrix.
Item | Type | Description |
---|---|---|
Value | WRITE | If true, turns on all pixels; if false, turns off all pixels. |
[SHUTDOWN]
Puts the matrix into standby mode or returns it to normal mode.
Item | Type | Description |
---|---|---|
Value | WRITE | If true, the matrix enters standby mode; if false, returns to normal mode. |
Example
Objective
When clicking the dashboard button widget, scroll the text “Hello World” to the left for 10 seconds.
Parts
Part | Quantity |
---|---|
Raspberry Pi 4 * | 1 |
LED Matrix | 1 |
Wiring
Connect the following pins horizontally to each other.
LED Matrix | GPIO |
---|---|
VCC * | 5V |
GND | GND |
DIN | 10 (SPI0 MOSI) |
CS | 8 (SPI0 CE0) |
CLK | 11 (SPI0 SCLK) |

Project Link