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.

Step 1: 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:

Step 2: Wiring

After all the kits are completed, they are connected together with the micro-controller as shown below (LED Matrices not installed for better view). Note the header for J3 is modified for the fourth LED Matrix Driver module from the right such that only VCC and GND are connected to the fifth module. This is because the first four daisy-chained modules from the right shall be driven by 3 output pins (Digital pins 2, 3 & 4) from the micro-controller and the last three daisy-chained modules shall be driven by another 3 output pins (Digital pins 5, 6 & 7).

Here, we use the chipKit UNO32 micro-controller board which is based on the popular Arduino Open Source hardware platform to drive the display. However, you may instead use any suitable Arduino boards if slower scrolling speed is acceptable to you. The chipKit UNO32 board is much more capable of producing faster and better scrolling text effect than Arduino boards of around the same price range.

We use a HC-07 Bluetooth Wireless Serial Port Module connected to the TX and RX pin of the micro-controller for Bluetooth communications between the display and the Android Smart Phone. This Bluetooth Wireless Serial Port Module is not expensive, easy to work with and quite easily available from online shops. You may instead use any Bluetooth Wireless Serial Port Modules you are familiar with.

Note the use of 10Kohms pull-down resistors on the DATA IN, CLK and LOAD input pins. When power is first applied to the micro-controller or when they are reset, their I/O lines float. The MAX7219 can see this as valid data and display garbage until the micro-controller gains control. The pull-down resistors prevent these problems.

Step 3: Arduino Sketch

Thankfully, there is an excellent library that has been specifically written for the MAX7219 which greatly simplifies the sketch – the LedControl library. You will need to download and install the library.

See the following link for more information about this library and to download the library.


*** Do note that all the examples that come with the library cater to single color LED Matrix driven by a single MAX7219 IC each and needs to be adapted for use with our Bi-color LED Matrix Driver Modules which is using 2 MAX7219 ICs for each module. Otherwise, there may be some form of 'ghosting' on the displays and may be mistaken to be a hardware issue.

You may also want to check out the original LedControl documentation for more detail.

The micro-controller needs to be loaded with the Arduino sketch to run the display.

Download the Arduino sketch below which is used for this project. You may amend and enhance the sketch to suit your project.

Download jolliFactory_8X_Bicolor_ScrollText_V2_0.pde

** Note that before downloading sketch to the micro-controller, the connections to the TX and RX pins for the HC-07 Bluetooth Wireless Serial Port Module must be removed for the download to be successful.

Step 4: Testing the Display

Install the free Bluetooth spp pro Apps onto your Android Smart Phone, power up the display and establish Bluetooth communications between them. Then set up the Bluetooth spp pro Apps buttons for sending messages and commands accordingly.

See some examples of how we set up the configurable 'ClickMe' buttons for testing below:

Btn name: RED
Send val: (100)Scrolling . . .

Btn name: GREEN
Send val: (200)Scrolling . . .

Btn name: ORANGE
Send val: (300)Scrolling . . .

Btn name: RED*
Send val: (100)*

Btn name: GREEN*
Send val: (200)*

Btn name: ORANGE*
Send val: (300)*

Btn name: Speed Up
Send val: (00>)*

Btn name: Speed Down
Send val: (00<)*

Btn name: Dimmer
Send val: (0<0)*

Btn name: Brighter
Send val: (0>0)*

Btn name: jolliFactory
Send val: Powered by jolliFactory

Test the display by clicking on the buttons to send messages and commands to the display.

If you do not have a Bluetooth Wireless Serial Port Module connected, you may test the display by sending messages and commands via the Arduino's Serial Monitor.

Step 5: Display Enclosure

We will not delve into the details on building the display enclosure here. We used a 2mm thick blue tinted acrylic strip for the display front protective cover which is bent using a self-made strip heater and another black opaque acrylic strip for the back cover. The LED Matrix Driver Modules are secured with ¾ inch stand-offs to the back cover and we managed to place the micro-controller and Bluetooth wireless Serial Port Module below them. The result is a compact 7 LED Matrix Scrolling Text Display controlled via Bluetooth.

Step 6: A Shorter Scrolling Text Display

Thinking of building a shorter Scrolling Text Display? As the display is make up of chain-able Bi-color LED Matrix Driver Modules, it is quite easy to adapt this project to build a longer or shorter display.

You may view the following YouTube video to see how a Scrolling Text Display is built using only 4 of these Bi-color LED Matrix Modules and mounted directly onto an a chipKit UNO32 Arduino footprint compatible board. No interconnecting wires is required for this project and commands and messages are sent from the micro-controller via Serial Monitor.

Step 7: Newer Instructable to Build Another Scrolling Text Display

We have another newer instructable to build an Arduino Bluetooth 7 Bi-color LED Matrix long Scrolling Text Display that uses the Arduino hardware SPI lines for instruction and data transfer to the display which offers more impressive text scrolling effect. You may check it out here.

How much did this wonderful build cost to make?
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. <br> <br>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/
<p>For those interested, the Bi-color LED Matrix Driver Module now cost U$10.50 if four or more is ordered at <br>https://www.tindie.com/products/Nick64/60mm-x-60mm-bi-color-led-matrix-driver-module-diy-kit/</p>
<p>HEY PLS SEND ME THE CODE AND CIRCUIT DIAGRAM OF THIS PROJECT PLSSSSSSSSSSS</p><p>email id : ravianpara26@gmail.com</p><p>mbil no.:+919549874312</p><p>plsssssssssss sir send me please.......</p><p>thank you</p>
<p>The program code can be downloaded in Step 3: Arduino Sketch</p>
<p>if i buy this one how many days before i receive the item?</p>
<p>if you intersted, email me on my FACEBOOK account rhodelpalo@yahoo.com or sedrixmanimtim@yahoo.com</p>
<p>nice but where code</p>
<p>Check out Step 3 for the code.</p>
<p>i want to make this type of project ...... i am beginner , so need help....</p><p>I had brought my items and my led matrix board looks totally different from the one in the schematic drawing and i was wondering dose it work the same way and will it work the same way if i use a arduino uno board ?</p>
<p>Your module is for a single color LED Matrix and should be using different chips to drive it. So, you may not be able to use our project's code to run them. For all our projects, we are using the bi-color LED Matrix Driver module kit from https://www.tindie.com/products/Nick64/60mm-x-60mm-bi-color-led-matrix-driver-module-diy-kit/ and they are driven using MAX7219 ICs.</p>
<p>Hi can i just check will the connection be the same and can we also use the bluetooth app to run the matrix when it running and is there any code for me to refer to ?</p>
<p>Sorry. I do not have the hardware you are using and may not be able to help you. You may try to check with the buyer for more information or you may also wish to find help at active Arduino forums to see if there is any one using the same hardware.</p>
<p>The hardware isit userable and is there any template that is similar to the currently &quot;ic&quot; number on your website</p><p>Can we still use the app that you have and run let the led matrix running?</p>
What a baudrate is used? I like to send Messages per Terminal. Have the Terminal to answer the Arduino or is it right just to Send Message in one Direktion? The Wiring show rxd and txd. Thank you !
<p>If you are using the sketch download from this instructable, you will see the under setup the instruction 'Serial.begin(9600)'. 9600 is the baud-rate used here with default of 8 data bits, no parity, one stop bit.</p><p>You just need to Send Message in one direction to the Arduino though we have both the rxd and txd connected.</p>
i want to make this type of project ...... i am beginner , so need help.... i wanna to make a scrolling board for my electronics LAB so how to start it ...please reply me as soon as possible....and its a awesome site for me cause i am a electronics lover from the very began when i was only 6 years old.. and i love to research in electronics sector.... specially micro-controller base circuit. i have clean idea about circuit diagram and component...... so i want to walk with you... and take my cordial love all the member, senior and everybody here... love you all. <br>
<p>Thanks for your interest. If you are going to build a scrolling text display, I would suggest that you check out my other instructables at <a href="https://www.instructables.com/id/Arduino-SPI-7-Bi-color-LED-Matrix-Scrolling-Text-D/." rel="nofollow"> https://www.instructables.com/id/Arduino-SPI-7-Bi-...</a> It is quite similar to this project here but the wiring is much simpler and scroll speed is much more faster.</p><p>I would suggest you purchase just one or two Bi-color LED matrix modules first from </p><p>https://www.tindie.com/products/Nick64/60mm-x-60mm-bi-color-led-matrix-driver-module-diy-kit/ and try out some of my other simpler projects like </p><p>https://www.instructables.com/id/Arduino-based-Bi-color-LED-Matrix-Flappy-Bird-Game/ or </p><p>https://www.instructables.com/id/Arduino-based-Bi-color-LED-Matrix-Tetris-Game/. Once you are more confident, you may then purchase more modules to build the scrolling board.</p>
<p>Hello dear friends would like to get the code to do.</p>
<p>You may download the program code in Step 3 for this project.</p>
<p>Hello dear friends would like to get the code to do.</p>
<p>how to change the code for one module please help me !!</p>
<p>If you intend to use an Arduino micro-controller for this project, I would suggest you to check out my other instructable at <a href="https://www.instructables.com/id/Arduino-SPI-7-Bi-color-LED-Matrix-Scrolling-Text-D/." rel="nofollow"> https://www.instructables.com/id/Arduino-SPI-7-Bi-...</a></p><p>There is no need to change the code for that instructable as the code is written to work with one to eight LED Matrix modules daisy-chained.</p>
<p>Thanks Sir......it's Work nice</p>
<p>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.</p>
<p>Can we make it using GSM...to Recive the message from anywhere in the world</p>
<p>If getting error message:<br><br>Open and edit the lines in LedControl.cpp:</p><p>&quot;</p><p><strong>//#include &quot;WProgram.h&quot; // This is old line!!!</strong></p><p><strong>#if defined(ARDUINO) &amp;&amp; ARDUINO &gt;= 100 </strong></p><p><strong>#include &quot;Arduino.h&quot; </strong></p><p><strong>#else </strong></p><p><strong>#include &quot;WProgram.h&quot; </strong></p><p><strong>#endif</strong><br>&quot;<br>Open and edit the lines in LedControl.h:<br>&quot;<br><strong>//#include &lt;WConstants.h&gt; // This is old line!!!</strong></p><p><strong>#if ARDUINO &gt;= 100</strong></p><p><strong>#include &quot;Arduino.h&quot;</strong></p><p><strong>#else</strong></p><p><strong>#include &quot;WProgram.h&quot;</strong></p><p><strong>#endif</strong></p><p>&quot;</p>
<p>You may be using a old library. If you downloaded the latest LedControl library from <a href="https://github.com/wayoda/LedControl" rel="nofollow">https://github.com/wayoda/LedControl</a>, there should not be any need to edit the files.</p>
<p>Thank you !!!</p><p>But I had already solved the problem. Was only edit the files ... inserting the lines I quoted in another message.</p><p>What I did was download the Arduino playground (this is outdated).</p><p>Now is working perfectly !!!</p><p>Grateful!!!</p>
<p>If you are building a long scrolling text display, you may want to check out my instructable at https://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.</p>
<p>I am getting the following error messages while compiling!!!<br>The file is missing WConstants.h too...</p><p>&quot;<br><em>Arduino: 1.0.6 (Windows NT (unknown)), Board: &quot;Arduino Diecimila or Duemilanove w/ ATmega168&quot;</em></p><p><em>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 </em></p><p><em>In file included from jolliFactory_8X_Bicolor_ScrollText_V2_0.pde:15:</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:24:24: warning: <strong>WConstants.h</strong>: No such file or directory</em></p><p><em>In file included from jolliFactory_8X_Bicolor_ScrollText_V2_0.pde:15:</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:30: error: 'byte' does not name a type</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:52: error: 'byte' does not name a type</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:54: error: 'byte' does not name a type</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:64: error: 'byte' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:64: error: 'byte' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:131: error: 'boolean' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:142: error: 'byte' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:153: error: 'byte' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:164: error: 'byte' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:164: error: 'boolean' has not been declared</em></p><p><em>C:\Temp\MCU\Arduino\arduino-1.0.6\libraries\LedControl/LedControl.h:179: error: 'boolean' has not been declared</em></p><p>&quot;</p>
<p>Hi </p><p>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</p><p>Cheers bill , </p>
<p>It should be possible but you need to modify the project's Arduino sketch.</p>
<p>pls how can i get </p><p>chipKit UNO32 micro-controller</p>
<p>You may find it at </p><p>http://www.farnell.com</p>
<p>thanks.but Nigeria is not part of the listed region .pls, can u help me with the circuit diagram and source code for </p><p>UNO32 micro-controller</p>
<p>Any solution for a long-life battery ?</p>
<p>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.</p>
<p>I searched for a long life battery which can handle the LED matrix display.</p>
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?
You will need to modify the program code found in this instructables if you intend to drive more than 8 bi-color LED matrices. if I am not wrong, with the chipKit UNO32 micro-controller I am using here, using the available digital ports alone should be able to drive up to16 bi-color LED matrices. The available analog pins can also be used identically to the digital pins and should allow you to drive another additional 8 bi-color LED matrices. However, the display scroll speed will be much slower with more LED matrices chained together.

About This Instructable




More by jollifactory:JolliCube Audio/Music Visualizer JolliCube (8x8x8 LED Cube) with MD_Cubo library Arduino Based Mini Audio Spectrum Visualizer 
Add instructable to: