Instructables
Picture of 7 Bi-color LED Matrix Scrolling Text Display

Here, we show how a 7 Bi-color 8x8 LED Matrix Scrolling Text Display is built, in which messages and commands can be sent to it via Bluetooth using an Android Smart Phone. Logically, any devices capable of sending text messages via Bluetooth may be adapted to work with the display.

To build this project, basic electronics component soldering skills and some knowledge on using the Arduino or Arduino based micro-controllers are required.

The reason for building a 7 LED Matrices long display is that it is quite adequate for ease of reading scrolling text and also because the largest tinted acrylic sheet easily available in Hobby or Art shops is 18 inches by 12 inches, which is just the right length for making the enclosure for the display as each LED matrix is around 60mm x 60mm in size.

You may view the following YouTube video to see what we are building.

 
Remove these adsRemove these ads by Signing Up

Step 1: LED Matrix Driver Module Assembly

Picture of LED Matrix Driver Module Assembly

The display is built using seven of the Bi-color (Red and Green) LED Matrix Driver Module kits from jolliFactory. Each of these modules uses two MAX7219 Display Driver ICs to drive a Bi-color LED Matrix. These ICs are excellent because they take a lot of work off the micro-controller and simplify the wiring and logic design. Moreover, there is a ready-made Arduino library for this IC. You can daisy-chain up to four of these Bi-color LED Matrices using only three output pins on the micro-controller for the interface. As our display is made up of seven Bi-color LED Matrices, we need an additional three output pins on the micro-controller to interface with the other three daisy-chained LED Matrices.

You can find this Bi-color LED Matrix Driver Module kit from here with information on the assembly of the kit.

This kit comes with all through-hole components and someone with basic soldering skills should be able to assemble it without much difficulty.

You may view the following YouTube video on the assembly of the Bi-color LED Matrix Driver Module kit.


The following are some of the projects built using this Bi-color LED Matrix Driver module which you may want to check out:

1-40 of 41Next »
profort1 year ago
How much did this wonderful build cost to make?
jollifactory (author)  profort1 year ago
The chipKit UNO32 micro-controller currently cost around U$32, the HC-07 Bluetooth Wireless Serial Port Module around U$10 and the 7 pieces of the Bi-color LED Matrix Driver Modules cost U$12.50 each. Here, 7 Bi-color LED Matrix Driver Modules are chained together to form a long display. However, you may use lesser number of modules to form a shorter display.

You may like to check out the Bi-color LED Matrix Driver Modules at https://www.tindie.com/products/Nick64/60mm-x-60mm-bi-color-led-matrix-driver-module-diy-kit/
jollifactory (author)  jollifactory10 months ago

For those interested, the Bi-color LED Matrix Driver Module now cost U$10.50 if four or more is ordered at
https://www.tindie.com/products/Nick64/60mm-x-60mm-bi-color-led-matrix-driver-module-diy-kit/

Hello - I have already bought 7 Led matrix modules from Tindie and chipkit uno32 and HC-06 blue tooth from Amazon for my school project. Step 1, we'd like to construct your Arduino robot example. But I am not able to even succeed an upload of a simple arduino sketch to Uno32 before other pieces connected. Did you run into this problem and, if yes, how did you solve it? Can I simply use original Arduino Uno instead of chipkit Uno32? Thanks

jollifactory (author)  mehmet.cakioglu11 days ago

If you are going to build something similar but using an Arduino instead of the chipKit Uno32, I suggest you to check out my other instructable at http://www.instructables.com/id/Arduino-SPI-7-Bi-color-LED-Matrix-Scrolling-Text-D/. BTW, I cannot recall having problem with using the chipKit Uno32 when I used it then. What are the problems you are facing?

Thanks for your quick reply. I really need help to get moving this project. I am following this page to build my LED Matrix scrolling text display and sending text messages with Android phone (AMR Robot app). BTW, I worked with Arduino Yun board before so I am very familiar with Arduino software and its programming.

First thing I did, I used a USB cable to connect Uno32 to my Windows PC. I tried it as is with no wires, no electronic modules on it. It had several LED 13 blinks which indicates a good boot loader. I run Arduino software (version 1.0.6) and selected Examples>01.Basics>Blink sketch from the File menu. Under the Tools menu, Board > Arduino Uno and serial port > COM5. The Compile alone worked fine. Then, I run Upload. It generated following messages:

Done Uploading
Binary sketch size: 1,082 bytes (of a 32,256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00

the last message font was in red and I google it to resolve the problem. So far not success. Any thoughts?

Is your suggested link for using Arduino board instead of chipKit Uno32 works for dictating speech using AMR app? It is running simple Bluetooth commands not AMR app. If it works for AMR app, do you recommend Arduino Nano (used in the link) or Ardiuno Uno board?

jollifactory (author)  mehmet.cakioglu11 days ago

If you are going to use AMR to send messages to the display, you may check my other instructable http://www.instructables.com/id/Voice-Input-Ardui... to see if is more suitable for you. For this instructable, an Arduino Nano is used but it should also work with an Arduino UNO.

BTW, did you use the Arduino IDE for downloading the sketch to your chipKit UNO32 board with Arduino UNO selected as the board. If so, this explains why you are not able to download successfully. The maker for chipKit UNO32 have come up with their version of IDE to work with this board.

You are a life saver, yes I did use Arduino IDE. I am now installing chipKIT UNO32 IDE using http://chipkit.net/started/install-chipkit-softwar... . I am confident this will work since the error above was about Arduino IDE is not recognizing the chipKIT board.

I have another question. I am using chipKIT UNO32 and HC-06 blue tooth. Your wiring chart in this link (http://cdn.instructables.com/FQI/KZ22/HLOBYA3L/FQIKZ22HLOBYA3L.MEDIUM.jpg) are not using resistors but do use them with Arduino NANO board. Correct? Also Do you have sketch and LED Library for chipKIT UNO32 board? Thank you!

jollifactory (author)  mehmet.cakioglu11 days ago

The chipKit UNO32 operates at 3.3V whereas the Arduino Nano/UNO operates at 5V. The chipKit UNO32 digital inputs are however 5V tolerant.

The bluetooth modules which I used in these instructables operates at 3.3V which is why it works seamlessly with the chipKit. For them to work with the Arduino Nano, I am using the resistors to shift the 5V signal to a safer voltage for the bluetooth module. I am not sure if the bluetooth module is 5V tolerant. If it is, then there is no need for the resistors.

Makes sense then. I am using a Usb connection from PC to chipKIT UNO32 for power and sketch uploads. It works I am assuming it is 5V but converted to 3.3V in the chipKIT.

My last question, I've seen several sketches for 7 LED Matrix and using chipKit & AMR. Which one do you suggest? I'd appreciate if you could provide the link here. Regards.

jollifactory (author)  mehmet.cakioglu10 days ago

The Arduino sketch downloaded from my instructable http://www.instructables.com/id/Voice-Input-Arduino-Bi-color-LED-Matrix-Scrolling-/ should be more suitable if you are looking for control using AMR app. I have sold my chipKit UNO32 and am unable to verify if the sketch written and tested on Arduino Nano works with this board without need for modifications.

Finally I got it running. AMR connected to HC -06, sketch uploaded successfull. I am testing a single LED matrix first. It led green all 16 LEDs all the time. When I tried to send commands with Bluetooth Spp pro appsuch as RED font, A red line started moving thru the LEDs but non-red LEDs are not off, they stay green. I need to find the way to turn the green off. Do you think it is the sketch or wire connections? I did used 10Kohm resistors between the matrix and gnd. Also used 3.3V power pin. Thanks.
jollifactory (author)  mehmet.cakioglu6 days ago

Why are you using the 3.3V power pin? You should be using the 5V power pin.

I replaced some of the MAX7219 with the real ones, my LED Matrix is working now. You are correct, I should be using 5V for LED Matrix. I am not familiar with pull-down resistor set up but basically I put 10Kohm resistor to the GND line (black cable in your wiring diagram) between chipKIT GND pin to the LED Matrix GND pin. I am not sure If I did it right ??? but it established communications with the Bluetooth spp pro app. I currently setup 4 Bi-color LED Matrix Modules.

My next step is to make AMR robot app working. Then I will replace AMR app with the Arduino Voice Recognition 2.0 module. I am using chipKIT UNO32 and when I compiled your other instructable sketch http://www.instructables.com/id/Voice-Input-Ardui..., I got below errors. I will appreciate your thoughts on this. Thanks.

--------------------------------------------------------
Arduino_AMR.cpp: In function 'void setup()':

Arduino_AMR.cpp:197:7: error: 'cli' was not declared in this scope

Arduino_AMR.cpp:200:3: error: 'TCCR1A' was not declared in this scope

Arduino_AMR.cpp:201:3: error: 'TCCR1B' was not declared in this scope

Arduino_AMR.cpp:202:3: error: 'TCNT1' was not declared in this scope

Arduino_AMR.cpp:205:3: error: 'OCR1A' was not declared in this scope

Arduino_AMR.cpp:208:19: error: 'WGM12' was not declared in this scope

Arduino_AMR.cpp:210:19: error: 'CS12' was not declared in this scope

Arduino_AMR.cpp:210:33: error: 'CS10' was not declared in this scope

Arduino_AMR.cpp:212:3: error: 'TIMSK1' was not declared in this scope

Arduino_AMR.cpp:212:19: error: 'OCIE1A' was not declared in this scope

Arduino_AMR.cpp:214:7: error: 'sei' was not declared in this scope

Arduino_AMR.cpp: At global scope:

Arduino_AMR.cpp:491:4: error: expected constructor, destructor, or type conversion before '(' token

jollifactory (author)  mehmet.cakioglu5 days ago

I think you may have connected the 10k pulldown resistors wrongly. Please check my wiring diagram. They should be connected between Din, Clk & Load of the LED Matrix to the GND line. I do not think there is a problem with the MAX7219 ICs.

As for the compiling errors you are facing, do note that the sketch you are using is intended for use on the Arduino Nano/Uno and may not work as a whole on the chipKit UNO32.

So consider Din wire set up, a wire coming from the Din of the LED Matrix connected to one end (lead) of the 10k resistor and the other end of the same resistor will be connected to both GND pin and a digital pin (say 2) on the UNO board. Then do the similar set up for the Clk and Load pins independently, Correct?

There is compatability issue between Arduino and chipKIT IDE libraries. Arduino time interrupts are not recognized by the chipKIT MPIDE. I will still try your sketch without setting up interrupt to monitor for serial incoming data part (ISR(TIMER1_COMPA_vect) etc.). I cancel them and will still try the sketch. Worst case, I can use an Arduino board.

jollifactory (author)  mehmet.cakioglu5 days ago

You are right about compatibility issues for the interrupt timer codes between chipKit and Arduino.

As for the pulldown resistor connection, I think you are still not right.

So consider Din wire set up, a wire coming from the Din of the LED Matrix connected to one end (lead) of the 10k resistor and the other end of the same resistor will be connected to just the GND pin. Do the same for the Clk and Load pins independently.

Thanks makes sense now. I ordered Arduino UNO board today. My last 2 questions regarding Arduino Nano using AMR app:

(1) In the sketch, where do you define Din (11), CLK(13) and Load (10) pins? The comment section indicates the following: //SPI connections between Arduino Nano/UNO and the displays are MOSI (Pin 11), SCK (Pin 13) and SS (Pin 10) at the Arduino side and Din, CLK and Load pins at the LED Matrix Driver Module respectively.

(2) The wire diagram for Arduino Nano & AMR app has 3 output pins and it does not split LED matrices into 2 sets. Whereas chipKIT & Bluetooth spp pro app example splits LED matrices into 2 sets and another 3 output pins used for the second set (Digital pins 5, 6 & 7). What drives the separate wire set ups? I plan use Arduino UNO and AMR app, so should I use the first set up?

Thanks for your all help so far.

jollifactory (author)  mehmet.cakioglu5 days ago

If you are using Arduino Nano/UNO instead of chipKit for the Voice Input instructable, follow all the wirings in that instructable as it is using SPI hardware lines instead of normal digital lines and only the 3 SPI lines is needed to drive the entire number of LED Matrix modules daisy-chained together.

Perfect, Thanks. For my first question, I could not locate Din, CLK and Load pin definitions in your Voice input sketch below. Are they pre-defined in SPI library by default?

Download jolliFactory_VoiceInput_8X_Bicolor_ScrollText_SPI.ino

jollifactory (author)  mehmet.cakioglu5 days ago

There is no need to define the Din and Clk pin as we are using the SPI library and the SPI hardware lines. As for the Load pin, it is connected to pin 10 and defined in the sketch SPI_CS =10 for this instructable.

Thanks Sir......it's Work nice

jollifactory (author)  firazpeerjade21 days ago

It should be possible to do so as this is just a display. You will need to modify the sketch to work with your GSM board or shield.

Can we make it using GSM...to Recive the message from anywhere in the world

nagkiller1 month ago

If getting error message:

Open and edit the lines in LedControl.cpp:

"

//#include "WProgram.h" // This is old line!!!

#if defined(ARDUINO) && ARDUINO >= 100

#include "Arduino.h"

#else

#include "WProgram.h"

#endif
"
Open and edit the lines in LedControl.h:
"
//#include <WConstants.h> // This is old line!!!

#if ARDUINO >= 100

#include "Arduino.h"

#else

#include "WProgram.h"

#endif

"

jollifactory (author)  nagkiller1 month ago

You may be using a old library. If you downloaded the latest LedControl library from https://github.com/wayoda/LedControl, there should not be any need to edit the files.

Thank you !!!

But I had already solved the problem. Was only edit the files ... inserting the lines I quoted in another message.

What I did was download the Arduino playground (this is outdated).

Now is working perfectly !!!

Grateful!!!

jollifactory (author)  nagkiller1 month ago

If you are building a long scrolling text display, you may want to check out my instructable at http://www.instructables.com/id/Arduino-SPI-7-Bi-color-LED-Matrix-Scrolling-Text-D/. By using hardware SPI lines to drive the display, the scrolling text effect performance is remarkably improved and wiring is more simplified.

nagkiller1 month ago

I am getting the following error messages while compiling!!!
The file is missing WConstants.h too...

"
Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Diecimila or Duemilanove w/ ATmega168"

C:\Temp\MCU\Arduino\arduino-1.0.6\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega168 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Temp\MCU\Arduino\arduino-1.0.6\hardware\arduino\cores\arduino -IC:\Temp\MCU\Arduino\arduino-1.0.6\hardware\arduino\variants\standard -IC:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl C:\Users\CLODOA~1\AppData\Local\Temp\build4142091609197463067.tmp\jolliFactory_8X_Bicolor_ScrollText_V2_0.cpp -o C:\Users\CLODOA~1\AppData\Local\Temp\build4142091609197463067.tmp\jolliFactory_8X_Bicolor_ScrollText_V2_0.cpp.o

In file included from jolliFactory_8X_Bicolor_ScrollText_V2_0.pde:15:

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:24:24: warning: WConstants.h: No such file or directory

In file included from jolliFactory_8X_Bicolor_ScrollText_V2_0.pde:15:

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:30: error: 'byte' does not name a type

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:52: error: 'byte' does not name a type

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:54: error: 'byte' does not name a type

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:64: error: 'byte' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:64: error: 'byte' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:131: error: 'boolean' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:142: error: 'byte' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:153: error: 'byte' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:164: error: 'byte' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:164: error: 'boolean' has not been declared

C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:179: error: 'boolean' has not been declared

"

bilko16 months ago

Hi

Can I ask a question is it possible to have the text scrolling north to south and mount the sign vertical as well as right to left and horizontal as shown in the video

Cheers bill ,

jollifactory (author)  bilko16 months ago

It should be possible but you need to modify the project's Arduino sketch.

bukkyforreal8 months ago

pls how can i get

chipKit UNO32 micro-controller

jollifactory (author)  bukkyforreal8 months ago

You may find it at

http://www.farnell.com

thanks.but Nigeria is not part of the listed region .pls, can u help me with the circuit diagram and source code for

UNO32 micro-controller

minipada10 months ago

Any solution for a long-life battery ?

jollifactory (author)  minipada10 months ago

Not sure if I get you right. I have powered the 7 LED Matrix display using four AA batteries with success but did not explore using longer life batteries.

I searched for a long life battery which can handle the LED matrix display.

Is it posible to make this work with an rgb strip display? And if it is how can i do it and thanks for your answer
Sorry. It is not possible to drive rgb strip displays.
What is the maximum number of led matrix driver you can chain? Limitation will come from available digital ports and may be power no?
1-40 of 41Next »