Description
The MAX7219 8×8 Dot Matrix Red Display Module Kit has a 1.3″ 64 LED dot matrix display with built-in MAX7219 serial LED driver.
PACKAGE INCLUDES:
- 1.3″ 8 x 8 dot matrix of red LEDs
- MAX7219 LED Driver board
- 8-pin female socket (x2)
- 5-pin right-angle male header
- 5-pin right-angle or straight male header
KEY FEATURES OF MAX7219 8×8 DOT MATRIX RED DISPLAY MODULE KIT:
- Single 8×8 LED Matrix Display with 1.3″ high bright red display
- Built-in MAX7219 LED Driver
- SPI 3-wire serial interface for easy hookup to MCU
- Can daisy-chain multiple modules together for larger displays
- Kit comes with IC soldered. Just need to add connectors and plug in the display module
- 5V Operation
MAX7219 LED Driver
The MAX7219 is a popular and flexible 7-segment, bar graph and dot matrix common cathode LED driver that supports many functions for controlling LED displays.
The driver provides flexible individual LED control as well as basic functions such as turning the display ON/OFF and adjusting the LED brightness.
The MAX7219 communicates with a MCU via a 3-wire SPI bus. Once the display is updated by the MCU, the MAX7219 then takes care of all the work of keeping the display refreshed, so it removes that overhead from the MCU which can be off doing other more important things.
SPI Interface
The module communicates via the SPI interface, so it only requires 3 data pins to connect to a MCU.
If a larger display is needed, several modules can be daisy-chained together.
Libraries are readily available such as the “LedControl.h” library built-in to the IDE for Arduino that makes communicating with the display very straightforward.
Module Connections
There is an input header on one end for connection to an MCU and output header on the other end for connecting to additional modules.
Input Connector
The header pins on the “IN” side is the main input connector. “Vcc” connects to 5V. Due to the fairly high current draw of the display (up to 250mA if the brightness is cranked all the way up), it is recommended to keep the brightness turned down to < 50% to avoid overheating the MCU voltage regulator if there are other peripherals also attached to this supply. “GND” connects to ground which needs to be common with the MCU.
The other pins are for the SPI interface. “DIN” is the Data In. “CS” is Chip Select (sometimes labeled as LOAD) and “CLK is the Clock pin. These lasts 3 pins are connected to any digital outputs on the microcontroller. Which pins they connect to is defined when an instance of the LedControl is created as shown in the program below.
1 x 5 Header
- VCC – Connect to 5V.
- GND – Connect to system ground. This ground needs to be in common with the MCU.
- DIN – Connect to any digital pin on MCU.
- CS / LOAD – Connect to any digital pin on <CU.
- CLK – Connect to any digital pin on MCU.
Output Connector
The break-out pins on the other end of the assembly are used if it is desirable to daisy-chain multiple displays. In this case, the “DOUT” is Data Out and it connects to the next modules “DIN” Data in pin. The other pins are passed straight-thru
1 x 5 Header
- VCC – Connect to 5V on next module if looping power through.
- GND – Connect to GND on next module
- DOUT – Connect to DIN on next module.
- CS / LOAD – Connect to CS / LOAD on next module
- CLK – Connect to CLK on next module
Assembling Module
This comes as a kit that requires some soldering in order to complete, but all the hard stuff is already done such as mounting the MAX7219 IC and other surface mounted devices.
The kit may come with a right-angle header and a straight header or it may come with two right-angle headers.
When assembling the module, follow these basic steps:
- Install and solder one of the headers into the input (‘IN’) side of the board.
- Use a right angle header mounted on the MAX7219 chip side (top) of the board. The header can also be mounted on the bottom side if desired. The module can be mounted vertically in a solderless breadboard.
- If it comes with a straight header or have some on-hand, you can optionally mount this on the bottom side so that it can be laid flat on a solderless breadboard.
- If you are going to use the daisy-chain feature, install a right angle header on the end of the board marked ‘OUT‘.
- Next place the LED array face down and install the 2 rows of female sockets onto the pins of the LED module as shown. This is to keep everything nicely aligned during soldering.
- Insert the LED array into the board on the same side of the PCB as the MAX7219 chip (top side). To orient the module correctly, refer to the picture that shows how the printing on the side of the LED module and little nubbin hanging down should line up with the side of the board that has ‘DISY1‘ printed on it which is opposite the IN/OUT markings.
- Turn the module over and solder all the module pins.
OUR EVALUATION RESULTS:
These are useful modules and fun to play with. The large number of LEDs allows for alphanumeric display or pretty much anything else that you can think of.
The displays are socketed. If the display doesn’t seem to be working right, make sure that all the pins of the modules are firmly seated in the sockets and that the LED module hasn’t been rotated and inserted backwards. Be sure to install the LED module with the printed side of the module oriented as shown.
The software below uses the “LedControl.h” library to implement basic functionality of the module.
The display is wired to digital pins 10,11 and 12 for DIN/CLK/CS, but these can be any 3 digital pins. Just redefine the pins used in the statement
LedControl lc=LedControl(12,11,10,displayCnt);
MAX7219 8×8 Dot Matrix Display Module Example Program
/* * MAX7219 based Dot Matrix Test * * Initialize the display, then run through some low level primitives * to move a dot across the display and then columns and rows. * Uses libraries LedControl.h and binary.h */ #include "LedControl.h" #include "binary.h" int displayCnt = 1; // # of displays connected (between 1-8) int intensity = 7; // Brightness of displays (between 0-15) int idx = 0; // Index for loops // Create instance of LedControl called 'lc' LedControl lc=LedControl(12,11,10,displayCnt); // Pins: DIN,CLK,CS, # of Displays //=============================================================================== // Initialization //=============================================================================== void setup() { for(idx=0; idx<displayCnt;idx++) { lc.shutdown(idx,false); // Wake up displays } for(idx=0; idx<displayCnt;idx++) { lc.setIntensity(idx,intensity); // Set intensity levels } for(idx=0; idx<displayCnt;idx++) { lc.clearDisplay(idx); // Clear Displays } } //=============================================================================== // Main //=============================================================================== void loop() { // Move a dot across the display for (int display = 0; display < displayCnt; display++) { for (int col = 7; col >= 0; col--) { for (int row = 0; row <= 7; row++) { lc.setLed(display,row,col,true); delay (60); lc.setLed(display,row,col,false); } } } // Draw rows down the display for (int row = 0; row <= 7; row++) { for (int display = 0; display < displayCnt; display++) { lc.setRow(display, row, B11111111); } delay(750); } for(idx=0; idx<displayCnt;idx++) { lc.clearDisplay(idx); // Clear Displays } // Draw columns across the displays for (int col = 0; col <= 7; col++) { for (int display = 0; display < displayCnt; display++) { lc.setColumn(display, col, B11111111); } delay(750); } // Clear displays one dot at a time for (int display = 0; display < displayCnt; display++) { for (int col = 7; col >= 0; col--) { for (int row = 0; row <= 7; row++) { lc.setLed(display,row,col,false); delay (60); } } } }
BEFORE THEY ARE SHIPPED, THESE MODULES ARE:
- Sample inspected per incoming shipment.
Notes:
- The back of the board has exposed pins, so some care should be used to avoid possible shorting if placed on a conductive surface.
Technical Specifications
Display | Configuration | 8 x 8 Dot Matrix |
Color | Red | |
Operating Ratings | DC Power Input | 5V |
I(typ) No LEDs lit | 8mA | |
I(typ) All LEDs lit, Min Brightness | 35mA | |
I(typ) All LEDs lit, Max Brightness | 250mA | |
Dimensions | Display Size | 32 x 32 mm (1.26 x 1.26″) |
Display Height w/ PCB | 14mm (0.55″) (typical) | |
Character Size | 32 x 32 mm (1.26″) | |
Datasheet | MAX7219 |