MAXREFDES99#: MAX7219 Display Driver Shield


Reference Design Disclaimer See the  Important Notice and Disclaimer  covering reference designs and other Maxim resources.



Maxim’s MAXREFDES99# is an Arduino® form-factor shield which drives a 16x16 LED array for signage applications. This design is ideal for anyone developing a display application. The board features Maxim’s MAX7219, a legendary LED driver that simplifies the process of controlling multiple LEDs in matrix or numeric display form. In MAXREFDES99#, four MAX7219 ICs are daisy chained to drive a full 256-LED array, which can display any international alpha numeric symbol. The board arrives complete with four 8x8 LED displays.

Code for the MAXREFDES99# is available on both Arduino and ARM® mbed platforms for quick prototyping with multiple platform boards. System demonstrations include the display of ASCII characters ‘SPACE’ through ‘~’ and writing/scrolling string messages. Developers are encouraged to build upon and enhance the code base.


  • Flexible 16x16 Dot Matrix Display
  • library
  • Arduino library
  • Arduino form-factor shield

Competitive Advantages

  • Portable
  • Compact
  • Flexible
  • Cost Effective

  • maxrefdes99fig00


  • maxrefdes99fig01



Designed, Built, Tested

Board pictured here has been fully assembled and tested.


All Design Files


Bill of Materials

PCB Layout

Arduino Platform

mbed Platform

Details Section

Details Section


LEDs, both low cost and available in many configurations, continue to dramatically transform signage and lighting. The MAX7219 has long been the developer’s best friend in LED driving, offering both simplicity and flexibility. Most systems, however, drive 8x8 arrays, limiting the amount of communication, specifically character size, and not utilizing the daisy chain feature of the MAX7219. 16x16 displays, in contrast, provide the capability to display most international alpha-numeric characters.

Enter the MAXREFDES99#, which drives a 16x16 display, making it a powerful tool for prototyping and developing applications.

The MAXREFDES99# is mbed and Arduino compatible, allowing fast development for both platforms. The shield contains four daisy-chained MAX7219s that drive four 8x8 red LED dot-matrix displays installed on the top arranged to make a 16x16-matrix display.

Figure 1. The MAXREFDES99# reference design block diagram.

Detailed Description of Hardware

See Figure 1 for a block diagram of MAXREFDES99#.

MAXREFDES99# can be powered from a wall-wart which provides a minimum of 7W of power and an output voltage in the range of 7.5VDC to 12VDC. 7W is enough power for the display, plus the microcontroller platform being used through the VIN pin of the target platform. The reference design can be optionally powered from a USB port while developing application code, however, the user must take care not to exceed the power capabilities of the 5V rail supplied by their platform. The recommended method of powering MAXREFDES99# is through a wall-wart connected to J1.

MAXREFDES99# uses the MAX3390E level translator to provide a 3.3V logic-level compatible interface to the four MAX7219 display drivers when using the shield with 3.3V platforms. The serial interface between the platform and the shield uses D10, D11, and D13 for LOAD, DIN, and CLK respectively. The four MAX7219 display drivers are daisy-chained connected with D11 connected to U3 and DOUT of U3 connected to DIN of U4 and so on. DOUT of U6 is left unconnected.

Detailed Description of Firmware

Libraries have been developed for both Arduino platforms and the online development environment which supports microcontrollers from several manufacturers of ARM Cortex®-M microcontrollers. The source code for these libraries and their corresponding 'Hello World' demo programs can be found in the design files, or at the following links.

Figure 2 provides a high-level flow chart of the demo program for both platforms.

Demo program flowchart.
Figure 2. Demo program flowchart.

Quick Start

Required equipment:

  • Windows® PC with a USB port
  • MAX32600MBED or Arduino® UNO Development board
  • 7W (min) Wall-Wart with 7.5VDC to 12VDC output


This reference design is fully assembled and tested. Follow the steps below to verify board operation.

  1. Connect MAXREFDES99# to the user supplied Mbed®/Arduino platform.
  2. Connect wall-wart power adaptor to J1 of MAXREFDES99# and switch the sw1 to the arrow pointing position to turn on the display
  3. Connect a USB cable from the PC to the platform.
  4. Follow the appropriate instructions below:
  1. Arduino
    1. Download the library from the GitHub repository
    2. Extract the MAXREFDES99-master.Zip library file
    3. Open the Arduino IDE, version 1.6.7 or later.
    4. In the tool bar, go to "Sketch" and select "Include Library"
    5. Select "Add .ZIP Library…"
    6. Go to the folder where you extracted the Library
    7. Open folder RD99_ARDUINO_V01_00 and select MAX7219
    8. Navigate to File/Examples/MAX7219/MAXREFDES99_example
  2. Mbed
    1. If you have never used Mbed, setup an account and add your platform to your online compiler per the instructions on your platform's product page.
    2. If you are using Windows and have never used serial communications between your PC and your mbed platform, follow the instructions.
    3. Navigate your browser to this link.
    4. Click the 'Import this program' button and import the demo as a 'program'
  3. Compile and download the resulting binary to your platform.
  4. Open HyperTerminal, or your favorite terminal emulator, find the appropriate COM port for your platform, and configure the connection as following
    1. Arduino - 115200bps, 8-N-1 with no flow control
    2. Mbed - 9600bps, 8-N-1 with no flow control
  5. Ensure your terminal settings are configured for 'Auto' on Receive and 'CR+LF' on transmit.
  6. Press the reset button on your platform and exercise the demo.
  7. When running endless loops on the display, press the reset button on the platform to stop the loop and return to the main menu

Arduino is a registered trademark of Arduino LLC.
ARM and mbed are registered trademarks of ARM Limited.
Cortex is a registered trademark of ARM Limited.
Windows is a registered trademark and registered service mark of Microsoft Corporation.


Input Type Vin(Min) Vin(Max) Iout(Max) Single/Multiple Output Vout(V) Pout(W) Isolated/Non-Isolated Topology
DC - - - - - - - -


Input Type DC
Vin(Min) -
Vin(Max) -
Iout(Max) -
Single/Multiple Output -
Vout(V) -
Pout(W) -
Isolated/Non-Isolated -
Topology -

Maxim Devices (4)

Part Number Name Product Family Order Design kits and evaluation modules
MAX14821 IO-Link Device Transceiver Sensor Interface Buy Now Design Kits
MAX31865 RTD-to-Digital Converter Sensor Interface Buy Now Design Kits
MAX1840 Low-Voltage SIM/Smart-Card Level Translators in µMAX Level Translators Buy Now Design Kits
MAX7219 Serially Interfaced, 8-Digit, LED Display Drivers Display Power Control Buy Now Design Kits

Maxim Devices (4)

Part Number Product Family
Sensor Interface
IO-Link Device Transceiver
Sensor Interface
RTD-to-Digital Converter
Level Translators
Low-Voltage SIM/Smart-Card Level Translators in µMAX
Display Power Control
Serially Interfaced, 8-Digit, LED Display Drivers

Design Files (6)

Title Type Size Date
rd99v01_00 ZIP 17MB 2019-07-09
MAXREFDES99#: MAX7219 Display Driver Shield PDF 188KB 2019-07-09
MAXREFDES99_BOM.xls ; MAXREFDES99#: MAX7219 Display Driver Shield PDF 8KB 2019-07-09
rd99_mbed_v01_00 ZIP 415KB 2019-07-09
MAXREFDES99#: MAX7219 Display Driver Shield PDF 4MB 2019-07-09
rd99_arduino_v01_00 ZIP 429KB 2019-07-09
Date Type


(ZIP, 17MB)


MAXREFDES99#: MAX7219 Display Driver Shield

(PDF, 188KB)


MAXREFDES99_BOM.xls ; MAXREFDES99#: MAX7219 Display Driver Shield

(PDF, 8KB)



(ZIP, 415KB)


MAXREFDES99#: MAX7219 Display Driver Shield

(PDF, 4MB)



(ZIP, 429KB)

MAXREFDES99 Related Videos

View All Videos