This guide will show you how to add a microSD card to a Teensy 3.1 to play back animated GIFs on a 32x32 Pixel RGB LED Matrix Panel.  The Teensy 3.1 runs an Arduino sketch that decodes the animated GIF and refreshes the display at a high frame rate with good color depth.  The SmartMatrix Shield makes it easy to connect everything together.

We will explain the basic soldering and wiring to connect the microSD card reader to the SmartMatrix Shield, how to compile the Arduino sketch that decodes the GIF animations, and go over options for creating your own GIFs.

Bare panel on the left, mounted in an 8"x8" shadow box frame with frosted acrylic diffuser on the right.

Major Components

32x32 RGB LED Matrix Panel

A 32x32 RGB LED Matrix Panel is an affordable way to add over a thousand bright pixels to your project.  Compared to a Neopixel matrix, these panels use smaller LEDs which are bright but not as blinding, and have a higher pixel density.  Unlike a Neopixel matrix, the panel requires a microcontroller to refresh the LEDs continuously to display an image.  It takes about 40% of the CPU time and most of the memory of an Arduino Uno just to refresh a panel, and that's with a low refresh rate and a limited 12-bit color palette.  To get a better image quality, we will use a more powerful microcontroller.

Teensy 3.1

Despite its small size, the Teensy 3.1 packs a lot of horsepower as it uses an ARM Cortex M4 CPU that runs at 72MHz and has 64kB of RAM.  This is more than enough power and memory to refresh the display with a high refresh rate and full color palette.  Even better, the processor in the Teensy 3.1 comes with a DMA engine that can move data from memory to pins to allow refreshing the display in the background, so the main program can run without as many interruptions.  The Teensy 3.1 is programmable using a modified Arduino IDE, and uses many of the same libraries as normal Arduino boards, so it should be familiar to program for anyone that has written an Arduino sketch before.

SmartMatrix Shield and Library

The SmartMatrix Shield is the best way to connect the Teensy 3.1 to the RGB LED Matrix Panel.  The shield takes care of routing the 13 signals needed to refresh the display, adds convenient connectors for power, and brings the unused signals out to a convenient expansion header.  The SmartMatrix Library includes code that refreshes the display in the background, and provides functions that make it easy to draw to the display and scroll text on top of the drawing.

Parts List for Guide

This guide was first published on Oct 16, 2014. It was last updated on Nov 16, 2018. This page (Overview) was last updated on May 04, 2015.