Introduction: Large 8x8 LED Matrix Display

Picture of Large 8x8 LED Matrix Display

Have you worked with ready-made 8x8 LED matrix as displays? They come in various sizes and are quite interesting to work with. A large readily available size is around 60mm x 60mm. However, if you are looking for a much larger ready-made LED matrix, you may be out of luck.

For this project, we will be building a single color large LED matrix display which is made up of a few large 8x8 LED matrix modules daisy-chained together. Each of these 8x8 LED matrix modules is around 144mm x 144mm in size.

The unique thing about this display is that other than the LEDs, one is able to view the background behind the display. This offers some creative use of these displays such as placing them against glass panels whereby people around it is able to see happenings behind the display. You may place some form of backing for your display if you find it distracting to read what is being displayed.

For this project, we will be using 10mm orange color LEDs to build the display. You may use LED sizes of your choice for your display. Commonly available sizes are 3mm, 5mm, 8mm, and 10mm.

Though our display is not designed to work with any particular microcontroller, we will be using the popular Arduino board in this instructables to drive it via SPI using only 3 signal wires. For those who prefer not to mess with too much wiring, the large 8x8 LED matrix module is available as a DIY kit at our Tindie Store.

To build this project, basic electronics knowledge with electronics component soldering skill and some knowledge on using the Arduino are required.

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

There are many Arduino libraries out there which can support to drive our LED Matrix display. However, we will be using the awesome Parola for Arduino library contributed by Marco Colli for this project. Our demo example is adapted largely based on one of the Parola library's example but our demo will not be showcasing the full capability of the library. It will simply display one of five predefined messages scrolling across the display which is selected by a push button.

Our last instructable is JolliCube - an 8x8x8 LED Cube. Marco Colli is sharp to notice in the instructable that the LED Cube PCB design is modular and that there could be a possibility to separate the 4 modular parts on one board and set them up narrow end to narrow end, effectively creating a very large 8x8 flat matrix (vertical) that can be used with the Parola library he created. He is spot-on and here we present you the large 8x8 LED matrix display in which the base PCB is a part of our JolliCube base PCB.

Step 1: Design of Large 8x8 LED Matrix Module - Arrangement of LEDs

Picture of Design of Large 8x8 LED Matrix Module - Arrangement of LEDs

For our design, we will solder the LEDs together using just the long legs on commonly available LEDs. Here, we will be using clear 10mm orange LEDs with long legs. You may use any size and color of LED available but the LED leg length (more than 23mm) should be sufficiently long for them to be bent and soldered together. The LEDs will be arranged as an 8x8 matrix with the cathodes soldered together for the rows and anodes soldered together for the columns.

Step 2: Design of Large 8x8 LED Matrix Module - Electronic Control Circuit

Picture of Design of Large 8x8 LED Matrix Module - Electronic Control Circuit

For our electronic circuit, we will basically be using the MAX7219 ICs to drive the LED matrix. By designing our LED matrix electronic circuit based on this IC, the number of components to drive each layer of LED Matrix is very minimal. Each 8x8 LED Matrix will be driven by the electronic circuit using the following components;

a. 1 x MAX7219 IC

b. 1 x 10uF 16V electrolytic capacitor

c. 1 x 0.1uF ceramic capacitor

d. 1 x 12Kohms resistor (1/4W)

e. 1 x 24 pin DIP IC socket

Note that you may need to choose a different resistor value to work with the LED you are using. This resistor is to limit the maximum current the MAX7219 IC will supply to the LEDs. You may check out the circuit block diagram to see how our circuit is connected.

You may wire up the circuit on perf- board but to reduce error and effort to wire up the electronic circuit, we designed our circuit on PCB. They are available at our Tindie Store as a kit set. For our PCB, the LEDs are placed 18mm apart, so the final 8x8 LED Matrix size is around 144mm x 144mm. All the components used are through-hole components.

Our design does not have any particular microcontroller embedded in our electronic circuit to drive the LED matrix. It shall be driven externally by any microcontroller via SPI interface. For this project, we will be using the popular Arduino board (Nano) to drive it using just 3 signal wires (SPI) and 2 power wires (5 V DC). You may use the more commonly available Arduino Uno instead of the Nano as they are very similar except for the size factor. Do note that all the components are to be soldered to the bottom of the PCB. Look out for the silk screen labels (BOTTOM) or (TOP) on the PCB. For our LED Matrix Driver PCB design, we used a 5-way angle female header soldered to J1 at the right hand side and a 5-way angle male header soldered to J3 at the left hand side of the PCB. This is to enable PCBs complete with LED matrix layers to be daisy-chained together to work as a long LED matrix display.

Step 3: Build the Jigs

Picture of Build the Jigs

We will not be building elaborate jigs to facilitate the LED Matrix layer build in order to achieve better alignment of the LEDs. Here, we prefer simple jigs to aid us as we do not want to invest too much time building the jigs. The LED alignments may not be perfect but should be acceptable to entry level hobbyist.

Jig #1 is made from a disposable chopstick. We used a junior hacksaw to create 8 straight thin grooves 18mm apart. Ensure that the depth of the grooves is the same as much as possible.

Jig #2 is cut out from hard cardboard (around 1.5mm thick). We used the cardboard from a discarded desktop calendar backing. The size is 175mm x 16.5mm.

Jig #3 is also cut out from hard cardboard (around 1.5mm thick). The size is 175mm x 25mm.

Jig #4 is a wooden board made up of an 8x8 matrix with holes 18mm apart of diameter which is dependent on the size of LED you will be using. This jig ensures the LEDs will be evenly spaced and aligned.

Step 4: Assembly Part 1 - Build the 8x8 LED Matrix

Picture of Assembly Part 1 - Build the 8x8 LED Matrix

Watch the video below to see how we build the 8x8 LED matrix. In the video, 3mm LEDs are used instead of the 10mm LEDs we will be using to build our display. The steps to take with other LED sizes are basically the same.

The following are the main steps to take to build the 8x8 LED Matrix:
Step 1. Prepare 8 LEDs with cathode legs trimmed to around 10mm.

Step 2. Insert these 8 LEDs to the leftmost column of holes of jig #4 (see photo above for orientation of LED).

Step 3. Populate all other holes of jig #4 with LEDs.

Step 4. Bend the LED cathode legs.

Step 5. Solder the LED cathode legs.

Step 6. Trim the LED cathode legs (keep the cut-off legs for step 1 of assembly part 2).

Step 7. Test the LEDs.

Step 8. Bend the LED anode legs.

Step 9. Solder the LED anode legs.

Step 10. Test the LEDs again.

Step 11. Prepare cathode wires (We use wire wrapping AWG30 wires with grey insulation. See photo above on the length of wires required).

Step 12. Solder cathode wires.

Step 13. Secure the cathode wires.

Step 14. Remove the 8x8 LED matrix layer from jig #4.

Step 15. Repeat steps 1 to 14 to build the required number of layers of 8x8 LED matrix for your display .

Step 5: Assembly Part 2 - Complete the LED Matrix With Control Circuit

Picture of Assembly Part 2 - Complete the LED Matrix With Control Circuit

The following YouTube video shows how we assemble the LED matrix control PCB and then complete the LED matrix module and a simple test to drive it using the popular Arduino entry level UNO/Nano board.

The following are the main steps to take:
Step 1 - Solder 24 way IC socket to IC1 of PCB.

Step 2 - Solder 10uF electrolytic capacitor to C2 of PCB.

Step 3 - Solder 0.1uF ceramic capacitor to C1 of PCB.

Step 4 - Solder 12K ohms resistor to R1 of PCB.

Step 5 - Trim legs for the resistor at R1 and capacitors at C1 & C2 of PCB.

Step 6 - Insert MAX7219 IC to IC socket at IC1 of PCB.

Step 7 - Solder 5-way female angle header to J1 of PCB.

Step 8 - Solder 5-way male angle header to J3 of PCB.

Step 9 – Trim the 5th LED anode leg of the 8x8 LED Matrix to around 10mm (this value is dependent on personal preference and requirement) away from the cathode row as shown in the photo above. This is required as the MAX7219 IC is just below this anode leg once we insert the LED Matrix onto the PCB for soldering.

Step 10 - Position the LED Matrix anode legs to the pad holes labeled as G, F, E, D, C, B, A and DP from left to right with the LEDs pointing towards you.

Step 11 - Solder all the anode legs to the PCB (Place suitable objects such as pencils as guides between the lowest cathode row and the PCB to support the LED matrix to a consistent distance away from the PCB).

Step 12 - Insert the cathode row wires to the pad holes labeled as D0, D1, D2, D3, D4, D5, D6 and D7 and then solder them to the PCB (Ensure wires to D1/D2 and D5/D6 pad holes are correct).

Step 13 - Trim anode legs and cathode wires below the PCB.

Step 14 - Test the circuit after soldering each LED Matrix layer (see next section for detail on testing).

Step 15 - Repeat steps 1 to 14 to complete soldering all the LED Matrix layers to the PCBs.

Step 6: Test LED Matrix

Picture of Test LED Matrix

We used an Arduino Nano loaded with our LED matrix test program for testing. See the picture above for the connection of the Arduino Nano to the LED matrix PCB. Download the test program below and proceed with the test. You should see the LED Matrix rows lit row by row starting from the top row. The test is repeated after all rows are lit.

Note that the push button connected is not used here. It will only be used for our demo example in the next step.

Click here to download test program

Step 7: Demo for LED Matrix Display

Picture of Demo for LED Matrix Display

We used Arduino IDE V1.05 for this project. The Arduino sketch used for this project is based largely on the Parola_Scrolling.ino sketch from the Parola Library v2.1 example.

For this project, you will need to install the following Arduino libraries:

MD_Parola Library (Parola library v2.1) from https://parola.codeplex.com

MD_MAX72xx Library (Max72XX LED Matrix Display Library v2.6) from http://arduinocode.codeplex.com

As our LED Matrix connection is the same as Parola LED Matrix hardware, there is no need to make any changes to the MD_MAX72xx library.

Our demo program will simply display one of the five predefined messages scrolling across the display which is selected by a push button.

Download the Large LED Matrix Display Demo V1.0 example here

Daisy-chain all the completed and tested LED matrix modules together to form a long LED matrix display.

Upload the demo program to your Arduino Nano/Uno. Then connect the Arduino Board to the display
(connection of the Arduino Nano/Uno to LED matrix is the same as for the LED matrix test).

If everything is set up right, you will see text scrolling across the display from right to left. Press the push button to select one of the five predefined messages for display.

Step 8: Let Your Creative Juices Flow

Picture of Let Your Creative Juices Flow

We have demonstrated what you can create with the large 8x8 LED matrix module which is simply a single color LED matrix display here.

We are sure there are lots of creative people out there who may have unconventional ideas on how to use the 8x8 LED matrix. You may use a mix of different colors, sizes or types of LEDs for the 8x8 LED matrix to create interesting projects. The 8x8 LED matrix need not be a flat layer of LEDs. They need not be arranged in rows and columns with exactly the same distance apart.

You can build 8 of these LED matrix modules but connect the long sides together to form into an 8x8x8 LED Cube like our JolliCube. If you are interested, you may check out our JolliCube instructable here.


While preparing this instructable, we stumbled upon the following YouTube video showing a 3D spectrum analyser. You may like to take up the challenge to build something similar.

So, let your creative juices flow and see what you can come up with. Do let us know your creations.

Comments

Suvinayjain (author)2017-09-26

In steps 11&12, why have you soldered separate wires to the cathodes? You had already soldered the cathodes earlier so why do we need to do it again?

gsilviu made it! (author)2017-07-20

Great instructable Jolly!

I used green LEDs so I switched the 12K resistor with a 68 ohm resistor.

The example you provided for some reason didn't work for me, so I used the MAX72** library examples and worked just fine.

AbinashL1 (author)2017-07-09

What is shoping this

msameer39 (author)2017-06-24

Excellent jollyfactory

KDLaun (author)2017-04-27

Do you power the multiple panels directly through the Arduino? It seems like large numbers of LEDs might be too much for it.

jollifactory (author)KDLaun2017-04-29

Yes. We supply 5V to Arduino as well as to all the panels via the USB port on the Arduino. Note that only a maximum of 8 LEDs will be lit at any time for each panel which is handled by the MAX7219 IC used. The quick switching of LEDs on and off is so fast that we may think that a lot of LEDs are lit due to Persistence of Vision.

AsifI24 (author)2017-02-15

Sir i have made this my matrix using circuit diagram in step2.
My matrix is not showing anything even test program is not running.
i used red leds (5mm) to make my own 8x8 matrix.
Are there any current problems ?
i have checked this code on Ready made 7219-Matrix-Module ,it works but in flipped manner means . i want to make my own matix as shown in step2. plz any suggestions ?

jollifactory (author)AsifI242017-02-17

It shouldn't be the power problem.

Ensure your LED's anode and cathode legs are soldered correctly.

Do you have a pull-down resistor connected between the LOAD and GND?

Are your connections to your Arduino board correct (LOAD to D10, DIN to D11 & CLK to D13)?

AsifI24 (author)jollifactory2017-02-18

Assalam o alikum !!!
Yes, LED's anode and cathode legs are soldered correctly.
yes, pull-down resistor of 10k connected between the LOAD and GND
(i could not find 12k in my lab)
Yes connections are same as you told sir.
i was thinking that may be my leds consume more current than yours and 7219 is unable to sink this much current ??? or may be 5v from laptop port is not juiceful enough to operate them ?

jollifactory (author)AsifI242017-02-20

If everything is correct and you suspect your laptop is unable to provide sufficient power to drive it, then use an external USB power adapter rated at 1A and above to drive it. If you are still unable to get it to work, then you may need to attach some photos of your wiring connections with the 8x8 LED matrix.

AsifI24 (author)jollifactory2017-02-25

Assalam o alikum !!!
You were right sir.Bad connections were there in my board.
Now it is working but text is Mirrored .
What should i do now ?

UjjwalA8 made it! (author)2017-02-24

Yes, finally I made it.Thank You jolli factory.

Can Anyone provide some cool codes for 8*8 matrix?

UjjwalA8 (author)2017-02-24

Hello, I have made the led matrix and connected the MAX 7129. I am using arduino uno R3 model. for further connection didn't find LOAD,CLK,VCC in my board. Someone please help for further connections as soon possible. Thanks in advance.

jollifactory (author)UjjwalA82017-02-24

Are you using the kit set available at

https://www.tindie.com/products/Nick64/large-8x8-l...

or did you wire up the circuit yourself? If you are using the kit set, then VCC, GND, DIN, CLK AND LOAD are labelled at J1 on the provided PCB board. You will need to connect these 5 terminals to 5V, GND, D11, D13 and D10 respectively on your Arduino UNO board. You will need to connect a 10K/12K pull down resistor between LOAD and GND. Check out the wiring connections at Step 6.

UjjwalA8 (author)jollifactory2017-02-24

Just tell me where to connect those 5 terminals in arduino board

UjjwalA8 (author)jollifactory2017-02-24

I am using all but not the PCB board.All other is same. Where is the connection of LOAD made on arduino board

Tomas Jay (author)2016-12-04

Thanks for the guide, this is a great project! I have followed the steps and managed to get it working, but only with the test program. For some reason it goes off when I try to display text on it, using the CLK wire (it works for a second and then just goes blank). Any ideas why would that happen?

jollifactory (author)Tomas Jay2016-12-05

Need more info from you - Did you build it using a purchased kit set or did you wire the circuit up yourself? Did you connect a pull-down resistor between the LOAD and GND lines? How many 8x8 matrix display did you connect together? Did you connect the switch for message selection and tried toggling it to display the stored messages?

Tomas Jay (author)jollifactory2016-12-06

Hey! Thanks for the reply. I have built and wired everything up myself, following the schematics provided in step 2. Is the pull-down resistor you have in mind is the 12k resistor shown in the schematics or is there supposed to be another one? I have tried using a push button to toggle between the messages but it did not work

jollifactory (author)Tomas Jay2016-12-06

The pull-down resistor is referring to another 12K resistor. Please check the image under Step 6: Test LED Matrix.

FlyingPlatypus (author)2016-11-22

Can i controll the matrix with my Raspberry Pi GPIO pins instead of the Arduino board? And when how can i accomplish this? I'm quite new to electronics stuff. :)

The Raspberry Pi is more than capable for this task. If you are new to electronics stuff, we would suggest you start with the Arduino board as the learning curve is less steep.

avishwakarma8 (author)2016-10-03

how to control scrolling speed?

eanardi (author)2016-08-31

Hello, I'm lookimg forward to buy your kit but I have two doubts: can I put as many matrixes I want together or not? Does this addition imply any change on the code?

jollifactory (author)eanardi2016-09-01

Yes, theoretically you may chain as many matrices as you want together provided you supply sufficient power to your setup and ensure that the CLK, DIN and LOAD signal lines are not deteriorated too badly for the setup to work. How many matrices do you intend to chain them together? Up to 12 matrices should not pose any problem.

Search for #define MAX_DEVICES 8 in the code and change the number 8 to the number of matrices chained together.

TimmB1 (author)2016-06-18

That is awesome. Looks really cool. I have an idea of doing something with it, but therefore I need to know how fast I can possibly update the whole 8x8 matrix. Is it the frequency my microcontroller is abled to or are there any limits on other parts?

jollifactory (author)TimmB12016-06-18

A more powerful microcontroller will definitely update the matrix more quickly. A well-done program code will also help to speed up display update. For this project, we are using the popular entry-level Arduino board to drive the display which is more than sufficient here.

If you are using the Arduino board to drive your project which requires very quick display updates, you may seek guidance from the Arduino gurus at http://forum.arduino.cc/.

vanp1 (author)2016-05-13

I need 1 layer printed circuit can you give me

uditha mihiranga (author)2016-04-06

hay there I want to know about this., can I run this without Arduino? please help me guys.

The display cannot work by itself. You will need some micro-controller or microprocessor to drive it. We used an Arduino micro-controller here to drive the display.

kenwood - sony (author)2016-04-09

can I please have the schematics of the base PCB

You can find the schematic in Step 2.

RCElectronic made it! (author)2016-04-05

I made the Matrix, but a few LEDS do not light up. I checked each one individually and they work, but not in the testing program. Any suggestions?

Did you build the display using the base PCB board purchased via Tindie store or did you build the circuit yourself? Is the test program lighting up the rows of LEDs row by row and repeating the test after every row of LEDs are lit?

I built the base myself. Each row lights in sequence, and then as you can see in the picture a few LED's do not light up. Its strange. I double checked my connections with a multimeter, reattached the wires to the sockets, and still have those LED's out. I guess I will just have to build another one!

HariFun (author)2016-03-08

Using Chopstick + Rubberbands to hold the leads while soldering = clever!
Using cardboard as spacer to keep cross over leads from shorting the layer below = brilliant! Much simpler than using extra wires! Kudos!
Thank you for sharing your techniques!

jollifactory (author)HariFun2016-03-11

Thanks for the compliment. This is our first 8x8x8 LED Cube design. We developed these techniques after researching on-line on how others went about building their cubes. We do not want to invest too much time building elaborate jigs to help with the alignment of LEDs so we came up with simple jigs which enables us to build acceptably aligned LED cubes for hobbyists.

iamdarkyoshi (author)2016-03-08

For years I have wanted to put one of these on the front and back of my car windows with pre-programmed messages so I can "politely" tell people that they are an idiot :)

Nice instructable, congrats on making the email newsletter!

PhabloH (author)2016-03-03

It very cool. I like.

About This Instructable

48,435views

430favorites

License:

More by jollifactory:IKEA Frame Hack > sLOMO (Slow Motion) FrameJolliCube Audio/Music VisualizerJolliCube (8x8x8 LED Cube) with MD_Cubo library
Add instructable to: