System Board 6251

MAXREFDES99#: MAX7219 Display Driver Shield


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


  • Displays
  • Consumers
  • Robotics
MAXREFDES99# System Board Enlarge+

MAXREFDES99# Reference Design Block Diagram Enlarge+


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.

MAXREFDES99# System Board Enlarge+

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
  • Compatible Arduino form-factor mbed platform
  • 7W min Wall-Wart with 7.5VDC to 12VDC output


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

  1. Connect MAXREFDES99# to your platform.
  2. Connect wall-wart to J1 of MAXREFDES99#
  3. Connect USB cable from the PC to your platform.
  4. Follow the appropriate instructions below:
    1. Arduino
      1. Download the library from the GitHub repository
      2. Follow the instructions here for installing third party libraries.
      3. Open your Arduino IDE, version 1.6.7 or later.
      4. 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 here.
      3. Navigate your browser to this link.
      4. Click the 'Import this program' button and import the demo as a 'program'
  5. Compile and download the resulting binary to your platform.
  6. Open Hyperterminal, or your favorite terminal emulator, find the appropriate COM port for your platform, and configure the connection for 9600bps, 8-N-1 with no flow control.
  7. Ensure your terminal settings are configured for 'Auto' on Receive and 'CR+LF' on transmit.
  8. Press the reset button on your platform and exercise the demo.
  9. 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.

Quick Start
Required equipment:

  • Windows® PC with a USB port
  • Compatible Arduino form-factor mbed platform
  • 7W min Wall-Wart with 7.5VDC to 12VDC output

All Design Files

Download All Design Files

Hardware Files:
Bill of Materials (BOM)
PCB Layout
PCB Gerber

Firmware Files:
Arduino Platform
mbed Platform

Firmware provided is the first version. Subsequent versions may be available on or Arduino code on GitHub.

Related Resources

RTD-to-Digital Converter

  • Integration Lowers System Cost, Simplifies Design Efforts, and Reduces Design Cycle Time
  • High Accuracy Facilitates Meeting Error Budgets
  • Integrated Fault Detection Increases System Reliability

IO-Link Device Transceiver

  • Standards Compliance Ensures Future-Proof Solutions
  • High Configurability and Integration Reduces SKUs
  • Integrated Protection Enables Robust Solutions

Low-Voltage SIM/Smart-Card Level Translators in µMAX

  • SIM/Smart Card Level Shifting
  • +1.4V to +5.5V Controller Voltage Range
  • +1.7V to +5.5V Card Voltage Range

Serially Interfaced, 8-Digit, LED Display Drivers

  • 10MHz Serial Interface
  • Individual LED Segment Control
  • Decode/No-Decode Digit Selection