Monday, 23 February 2015 22:04

Arduino driving a 32x16 Dot Matrix Display Panel

This project provides step by step approach to driving a Dot Matrix Display (DMD) Panel with an Arduino. The DMD is a 512 pixels single colour LED display arranged in 32x16 layout, a 16 pin (2x8) IDC connector is used to interface with Arduino.

In order to drive the 32x16 Dot Matrix Display Panel from Arduino, the DMD library for Arduino is required. You can download it from Freetronics GitHub.

The Freetronics DMD library is able to write letter and text on the display board with limited function, variable string and text centering is not supported. Yeah! now you can use my code to write variable string on the display board and centering it horizontally.

Updated: DMD2 library is released, this library is currently in BETA release.

DMD Diagrams/Schematic

This is the schematic diagram which I downloaded from China website. Click here to download the high resolution PDF file.

DMD Schematic


If you need a Dot Matrix Display Panel, you can purchase from Freetronics, as shown in figure below is the PCB designed by Freetronics.

Freetronics DMD


I'm currently using this Dot Matrix Display Panel.



Arduino PCB

This is a DIY Arduino with minimum configuration, it relies on the internal 8MHz oscillator and only 3 external components is used in the circuit. Please read here on how to upload sketch to this DIY Arduino.

Arduino PCB


IDC connector and cable

16 pin IDC connector and cable

Dot Matrix Display Connector

Library installation

The Freetronics DMD library must work together with TimerOne library, the TimerOne library is available here.

Install TimerOne library

  • Download the TimerOne library, it should be
  • Create a TimerOne folder in the Arduino libraries folder, for my case, it is on \My Documents\Arduino\libraries\
  • Extract all the files & folders from to the TimerOne folder.


Install Freetronics DMD library

  • Download the Freetronics DMD library, it should be DMD-master.ZIP
  • Extract it to the Arduino libraries folder, eg. \My Documents\Arduino\libraries\
  • Rename the folder from DMD-master to DMD


Upload sketch

Once libraries installation completed, upload the DMD demo sketch to the DIY Arduino

  • Open Arduino IDE
  • Select File>Examples>DMD>dmd_demo
  • You must use Arduino as ISP or other programmer to upload sketch to this DIY Arduino.

Upload using Arduino as ISP

There are more information on how to use the DMD library on the Freetronics website.


Writing variable string & text centering

This example write variable text on the display board and centering the text horizontally.
Read 60387 times Last modified on Sunday, 12 June 2016 11:55
Back to Top