Arduino board: UNO R4 WiFi
NOYITO MAX7219 32x8 Dot Matrix Module with SPI interface
I purchased this display on a whim, because the price was excellent (I paid US$8.70). Now that I have it working, I can say it is an excellent piece of hardware. The only precaution I would suggest is that keep in mind that the tiny voltage regulator on Arduino boards cannot keep up if you allow all or a large proportion of the 256 LEDs in the display to remain on for more than a few tens of seconds! If you are designing a high-rel system, consider incorporating a current limiter in the 5 V line.
After trying several different libraries without success, I found some great Arduino sketch examples at Makerguides MAX7219 LED dot matrix display Arduino tutorial invaluable, and in particular, the table of SPI pinouts, which are somewhat hard to find with some of the SPI libraries, also depending on whether SS is a hardwired pin or 'soft'. The example sketches in the Makerguide tutorial explain how to implement a soft SS, should that be necessary in a particular Arduino setup (e/g/, if there is more than one SPI device competing for the same SPI interface. Here are the hardware SPI pinouts for various Arduino boards, as given in the tutorial:
Hardware SPI pin locations
| Board | MOSI | MISO | SCK | Level |
|---|---|---|---|---|
| Arduino Uno | 11 or ICSP-4 | 12 or ICSP-1 | 13 or ICSP-3 | 5 V |
| Arduino Mega | 51 or ICSP-4 | 50 or ICSP-1 | 52 or ICSP-3 | 5 V |
| Arduino Leonardo | ICSP-4 | ICSP-1 | ICSP-3 | 5 V |
| Arduino Due | SPI-4 | SPI1 | SPI-3 | 3.3 V |
| Arduino MKR1000 | 8 | 10 | 9 | 3.3 V |
The Makerguide matrix display examples have many similarities with those given at [GitHub - MajicDesigns/MD_Parola: Library for modular scrolling LED matrix text displays] (GitHub - MajicDesigns/MD_Parola: Library for modular scrolling LED matrix text displays) to work flawlessly.
Many if not most of these examples use the following combination of libraries, which seem to work very well together:
#include "MD_Parola.h"
#include "MD_MAX72xx.h"
#include "SPI.h"
