Introduction: Arduino Based RGB Matrix LED Tester

About: A place for DIY projects

This is a very simple Arduino project which control the 16x32 RGB LED Matrix Panel via an 16pin IDC cable. The Arduino will continuously sending 5 set colours (Red, Green, Blue, White, Black) to the LED Matrix Panel that allow the technician to find out which part of the LED Matrix Panel is malfunction.

Step 1: ​The Story

After completing the large LED screen project, my company always left out many bad 16x32 RGB LED Matrix Panel awaiting me to diagnose. I must light up all the LED Matrix in order to find out where is the actual problem

Step 2:

Normally I have to use a computer plus a sending card & receiving card as shown in figure above to light up the LED, it is consuming power and very troublesome.

Step 3:

By using an Arduino, I'm able to draw graphic such as Lines, Circles, Boxes and Bitmaps on the LED Matrix Panel without using an expensive computer & sending/receiving card.

Step 4: Materials

  • Arduino UNO, I'm using my own design Arduino
  • 16pin IDC cable and header connect between Arduino & RGB LED Matrix Panel
  • 5V 3a power supply to poewr the Arduino & RGB LED Matrix Panel
  • Power cable to connect between Arduino & RGB LED Matrix Panel
  • 1 x DC jack (Male)
  • 2 x DC jack (Female)

Step 5: Source Code and Downloads

To control the RGB LED Matrix Panel, you need to include the Adafruit RGB Matrix Panel library which is available at GitHub. This is an Arduino library for 16x32 and 32x32 RGB LED matrix panels, you can get more information on how to use the library on the Adafruit web site.

Here is the test code example for this project.

#include "Adafruit_GFX.h" // Core graphics library
#include "RGBmatrixPanel.h" // Hardware-specific library

#define CLK 8 // MUST be on PORTB!
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2

// Last parameter = 'false' disable double-buffering
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);

void setup() {
matrix.begin();
}

void loop() {
// fill the screen with red
matrix.fillRect(0, 0, 32, 16, matrix.Color333(7, 0, 0));
delay(1000);

// fill the screen with green
matrix.fillRect(0, 0, 32, 16, matrix.Color333(0, 7, 0));
delay(1000);

// fill the screen with blue
matrix.fillRect(0, 0, 32, 16, matrix.Color333(0, 0, 7));
delay(1000);

// fill the screen with white
matrix.fillRect(0, 0, 32, 16, matrix.Color333(7, 7, 7));
delay(1000);

// fill the screen with black
matrix.fillScreen(matrix.Color333(0, 0, 0));
delay(1000);
}

Step 6: Connection Between Arduino and RGB LED Matrix Panel

This project is based on Arduino UNO/Duemilanove (ATMega328), however you can use it on Arduino Mega (ATmega2560) with some changes in the pin configuration.

Step 7: Arduino PCB and Power Cable

Here is my Arduino PCB design and power cable. The power cable is made for two different types of power connectors as shown.

Step 8: Different Types of Power Connectors

Step 9: Top View of the Arduino PCB Design

Step 10: Bottom View of the PCB Design

Step 11: Previous Design

This is the previous PCB design where the IDC cable is solder directly on the PCB

Step 12: Schematic for 16x32 RGB LED Matrix Panel

This is the 16x32 RGB LED Matrix schematic, I get it from the China website.

You can download a higher resolution schematic (PDF file) from my personal website
http://www.ediy.com.my/index.php/projects/item/109...