Introduction: Arduino Based RGB Matrix LED Tester

Picture of Arduino Based RGB Matrix LED Tester

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

Picture of ​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:

Picture of

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:

Picture of

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

Picture of 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

Picture of 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

Picture of Different Types of Power Connectors

Step 9: Top View of the Arduino PCB Design

Picture of Top View of the Arduino PCB Design

Step 10: Bottom View of the PCB Design

Picture of Bottom View of the PCB Design

Step 11: Previous Design

Picture of 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

Picture of 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...

Comments

RAIBBELDI (author)2017-05-13

Thank you very much this work, it's nice

magnocampos (author)2016-02-29

Hello,

sorry but I can't understand what you include as

#include // Core graphics library
#include // Hardware-specific library

smching (author)magnocampos2016-03-01

Instructables remove the code inside angle brackets automatically.

Now change to quotation mark:
#include "Adafruit_GFX.h" // Core graphics library
#include "RGBmatrixPanel.h" // Hardware-specific library

magnocampos (author)smching2016-03-01

Many thanks...
it is all what I need..

can you tell me if it can show video?

smching (author)magnocampos2016-03-02

Due to limited memory, it can support simple GIF only.

manoleg (author)2015-09-02

Thanks. The Guide is very useful.

About This Instructable

51,130views

36favorites

License:

Bio: A place for DIY projects
More by smching:Store Messages From Mosquitto MQTT Broker Into SQL DatabaseHow to create webpages & setup website using Joomla CMSLearning, Experience and Review the Makeblock 3 in 1 MBot Ranger Robot Kit
Add instructable to: