The MAX7219/MAX7221 are compact, serial input/output common-cathode display drivers that interface microprocessors (µPs) to 7-segment numeric LED displays of up to 8 digits, bar-graph displays, or 64 individual LEDs.
Included on-chip are a BCD code-B decoder, multiplex scan circuitry, segment and digit drivers, and an 8×8 static RAM that stores each digit.
Only one external resistor is required to set the segment current for all LEDs. The MAX7221 is compatible with SPI™, QSPI™, and MICROWIRE™, and has slew-rate-limited segment drivers to reduce EMI.
Here is a picture of a typical module that can be bought from many sources, including the link at the end of the article
Parts Required
Here are the parts I used
Name | Link | |
ESP32 | ||
Max7219 | ||
Connecting cables |
Schematics
Code
You will need the library from https://github.com/squix78/MAX7219LedMatrix installed
#include <SPI.h> #include "LedMatrix.h" #define NUMBER_OF_DEVICES 1 #define CS_PIN 15 LedMatrix ledMatrix = LedMatrix(NUMBER_OF_DEVICES, CS_PIN); void setup() { ledMatrix.init(); ledMatrix.setIntensity(4); // range is 0-15 ledMatrix.setText("The quick brown fox jumps over the lazy dog"); } void loop() { ledMatrix.clear(); ledMatrix.scrollTextLeft(); ledMatrix.drawText(); ledMatrix.commit(); delay(200); }
Output
A video of what you should expect to see appeared to be a good idea at the time, here you go