Picture of Make a 24X6 LED matrix
After making a 8X10 matrix a lot of people asked me about expanding the matrix to some thing bigger, and some wanted to write stuff to the matrix via a PC, so one day I looked at a pile of LEDs that I had leftover from a LED cube projected and I decided to make a bigger matrix with all the things people wanted.

So what are you waiting for? Get those LEDs out and heat up your soldering iron because we are about to make a 24X6 LED matrix! 

Remove these adsRemove these ads by Signing Up

Step 1: Getting All The Right Things

Picture of Getting All The Right Things
So you will need the basic set of tools for this project : a soldering iron, some solder wire, a cutter, a needle nosed plier,some wire, wire striper, and some desoldering tools if you need them.

For the matrix you will:
1. 144 LEDs
2. 24 resistors( The value is determent by the type of LEDs, in my case 91 ohm)
3. 4017 decade counter
4. 6 1KOhm resistors
5. 6 2N3904 transistors
6. A long Perfboard
7. Arduino
8. 3 x 74HC595 shift register
10. some pin headers

Step 2: How it works?

Picture of How it works?
The tricky behind the display is multiplexing and the idea is the same as withe the 8x10 LED matrix: It is basically a way to split information in to little peaces and send it one by one.
this way you can save a lot of pins on the Arduino and keep your program quite simple.

Now this time we have 3 shift registers which multiply the number of outputs and save lots of arduino pins.
Each shift register has 8 outputs and you only need 3 arduino pins to control almost an limited numbers of shift registers.
We also use the 4017 decade counter to scan the rows, and you can scan up to 10 rows with it because you have only 10 outputs but to control it you need only 2 pins.
The 4017 is a very useful chip and it's a good idea to know how to work with it(http://www.doctronics.co.uk/4017.htm)

Like I said the scanning is done with the 4017, by connecting one row at a time to ground and sending the right data via the shift registers to the columns.

Step 3: Schematics

Picture of Schematics
LED matrix 2.bmp
PCB Layout.jpg
The only thing I didn't specified in the schematics is the value of the current limiting resistors because they change from each type of LEDs, so you will need to calculate them by your self.

Now to calculate the value of the 24 resistors you can use this site : 
You should first get some specs on your LEDs, you should know their forward voltage and forward current, you can get this info from the seller. The circuit operates on 5V so your Source voltage is 5V.

Download the original file to see the schematics better.(press the "i" icon in the top left corner of the picture)

I have added a PCB layout of the control board, and i want to thanks Willard2.0 who made this layout and let me use it so thanks a lot mate!

Step 4: Soldering The LEDs

Picture of Soldering The LEDs
Soldering 144 LEDs in a matrix formation can be a little tricky if you don't have a general idea how.
The last time I soldered a matrix I used lots of little wire jumpers which was a pain to solder, so this time I was a little more creative and came up with this way.

You need to bend the positive lead of the LED down towards the other ones and make a column, and snip off the leads you didn't use and try to make the connections as low as you can get, and you do this to all of the positive leads.
Now the negative leads are connected in a column and thats make soldering tricky because the positive rows are in the way, so you will need to make a 90 degrees bend with the negative lead and make a bridge over the positive row to the next negative lead, and so on to the next LEDs.

Now I will not explain how to solder the shift registers and all the parts because every one has hes own style and methods.

Step 5: Programming The Display

Picture of Programming The Display
We are almost there, the only thing thats left is the program.
So far I wrote two programs for it that do pretty much the same thing.
I have added the program that gets a word or a sentence from the arduino IDE serial monitor and displays it on the matrix, my code is very basic and may be not the best in the world but it does the work, and you are free to write your own code and modify mine as you wish.

I have added an excel file so you can create your own symbols and characters.
The way it works is like so:
You create the symbol you want  pixel by pixel(don't worry it's very easy) and copy the output line like so - #define {OUTPUT LINE}

I will add in the future a code for animations and a nice game of snake as soon as I have more time on my hands.


Step 6: We Are Done!

Picture of We Are Done!
Congratulations you made yourself a 24x6 matrix and now you can display anything you like on the fly.
Now try to play with it and come up with a new program and a better interface.

1-40 of 670Next »
smartworkers5 months ago

can some one mail me 48*8 code.....vammichanti40312@gmail.com or devallavamsi@yahoo.in

tq uuuuuuuuuuuuuuuuuuuu...

I sent it to you.

Hi can you send 8x80 led matrix code at jamborloi@gmail.com....Thank you very much

I can send you a modified version of my code and see if it works, if you are willing to try it , contact me at my email: elink53@comcast.net

hi bro do you mind sending me the code alias 8x80 led matrix... I will truly appreciate...
ngbk199325 days ago

Hi, i have do some modification on your code, i transfer your predefined character into a "updateWord" function. Which mean, to make the led to display "happy birthday" instead of doing this byte your_text[14][6]={BH,LA,LP,LP,LY,SPACE,BB,LI,LR,LT,LH,LD,LA,LY};

you only need to write updateWord("Happy Birthday"); under the void setup function.

i have add another code which it listen to the serial port to change the wording, which you no longer need to reprogram arduino to change the scroling text. =)

Hey bro, Thanks this work very good....It will scroll your predefine message on start up then when it received a serial message (on usb cable or bluetooth) it will scroll it indefinitely....I also seen your code can easily adjust the scrolling speed....Hey nice coding!!!!

plz send code for 90x8 led display


how to increase column up to 90 plz reply

abbey1919 days ago

hi any one here please can help to modify the circuit and code without 4017 ????

abbey1922 days ago

Please help me to Edit this code to Scrolling its working but not moving please thank you

int TCLK = 1;

int TSerial = 5;

int BCLK = 6;

int BSerial = 3;

int Strobe = 4;

int OutEnable = 2;

// arrays to say Arduino

byte Tbitmap[][8] = { //red characters

{0, 4, 10, 17, 17, 31, 17, 17}, //A

{0, 0,0,0,0,0,0,0},

{0, 28, 18, 17, 17, 17, 18, 28}, //D

{0, 0,0,0,0,0,0,0},

{0, 14, 04, 04, 04, 04, 04, 14}, //I

{0, 17, 25, 25, 21, 19, 19, 17}, //N

{0, 14, 17, 17, 17, 17, 17, 14}, // The


byte Bbitmap[][8] = { //green characters

{0, 4, 10, 17, 17, 31, 17, 17}, //A

{0, 30, 17, 17, 30, 20, 18, 17}, //R

{0, 0,0,0,0,0,0,0},

{0, 17, 17, 17, 17, 17, 17, 14}, // IN

{0, 14, 04, 04, 04, 04, 04, 14}, //I

{0, 0,0,0,0,0,0,0},

{0, 14, 17, 17, 17, 17, 17, 14}, // The


// Set the pins to output to the array

void setup() {

pinMode(TCLK, OUTPUT);

pinMode(TSerial, OUTPUT);

pinMode(BCLK, OUTPUT);

pinMode(BSerial, OUTPUT);

pinMode(Strobe, OUTPUT);

pinMode(OutEnable, OUTPUT);


void loop() {

for (int row = 0; row < 8; row++){ //there are actually 16 rows

for (int character = 7; character >=0; character--){

for (int shiftbit = 0; shiftbit < 6; shiftbit++){

digitalWrite(TSerial, HIGH);

digitalWrite(BSerial, HIGH);

if bitRead(Tbitmap[character][row],shiftbit) digitalWrite(TSerial, LOW);

if bitRead(Bbitmap[character][row],shiftbit) digitalWrite(BSerial, LOW);

digitalWrite(TCLK, HIGH);

digitalWrite(TCLK, LOW);

digitalWrite(BCLK, HIGH);

digitalWrite(BCLK, LOW);

} }

digitalWrite(OutEnable, HIGH); // turns off display

if (row==0) digitalWrite(OutEnable, LOW); // turns on display

//latch the data

digitalWrite(Strobe, LOW);

digitalWrite(Strobe, HIGH);

digitalWrite(OutEnable, LOW); // turns on display


} }

niki.hak made it!3 months ago

it works I am very happy

2015-02-23 20.02.25.jpg2015-02-23 20.02.31.jpg
dinis1 niki.hak25 days ago

sorry mr niki, i wanna ask u something. did u connect cathode of LED's to GND? or u just connected it at transistors? thank u.

howzit nick... man I've been trying to make this matrix but now I have a problem.... what happens is that I get power up to 4 rows and the last 2 rows remains off, and the 24th column is off as well, I really don't know where did I go wrong. I would greatly appreciate any kind of assistance with this design.
dinis125 days ago

hi. i wanna ask u mr syst3mx. mine is not working properly, even after i uploaded the codes. but LED's was active when i hadnt finished plugging every wires, it was blinking. but when i plugged wire into GND of arduino. it stopped. can u help me to solve the problem mr. Syst3mX?

chiven1 year ago
hi friends, I think Syst3mx have helped us on how to make the 24x6 LED matrix, he's been kind enough to share the code for us, all you can do is just study the existing source code. I know it's not easy but that's the point that we learn. i also had difficult to develop a code of Syst3mx in order to make a 40x8 matrix, because iam newbie in programming and electronics. but after studying each line of code on a 24x6 matrix of Syst3mx, and lot of experiments, finally I could make my own 40x8 matrix... even more than that.. based on source code of 24x6 led matrix by Syst3mx, thanks Syst3mx you are rock!! see my video on youtube...http://youtu.be/WaXMXuJYWos

I agree with chiven, as a total beginner, I used his projects with the 8 x 8 display to dive in and become a pro member of this site. So I owe my thanks to him for his concise instructions on his listed projects. Thank You Syst3mX.

can u help me in making of 40x8 matrix.....or guide me plz
i have understood the code but some statements are disturbing me plz
sorry iam very busy right now and dont have enough time to reply, which statements?
your code works perfectly with 24X8 matrix
but if i increase number of matrix and join them as joined previous
the didnt work
even including one more matrix of 8x8
it does not work correctly

are you indonesian?

p24m811 month ago
I just succes with your tutor 6x24 on instructables.
And then, Sir, i wanna make running text with 6x48 led matrix. With other animation moving text (maybe) and clock time display (ds1307).

Can you give me code plz.

Thanks before.
elink53194 months ago

cost of materials

my email is eng.gachara@gmail.com

I am integrating the system so that the arduino listens to text from a gsm arduino shield... this is my main huddle and It would matter alot olif you could help...

please can u help me to write an arduino due code program for lighting a combination of matrix 9x6 (LED/speakers) randomly and individualy.
thank you

I am sorry but I can not, as I don't have a Due, and not sure how to program it.

ManuelO21 month ago
Mlungisi658 made it!2 months ago
how to improve this design and use an android device to send text via bluetooth using the hc-05 module, sending into arduino and displaying it into the matrix display... any with help kindly contact me on this account or share on my email: ndlovumlungisi@yahoo.com
xsz2 months ago

Hello! I‘m trying to make a 15*7 with 4017 and 74HC595 (and a 2982 to increase the currant) as my intern ship project. It's new to all my tutors(what a bad luck) and i just don't know how to program it with Arduino! Could anyone give me a hand pls! Thanks a lot!!!


I made it but only 2 rows are working . plz help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ezombie12 months ago

Hello.. I want to make the 24 x 6 but i need to control it with C# and PIN 16F887, do you know if I can make this one with those things??

david-peru13 months ago

Can you do a YouTube tutorial on your code please? It's a little hard to understand... I'm trying to have a code for 7 rows instead of 6

MiriN1 made it!3 months ago

Hello guys

Can you help me to conect a ultrasonic sensor with 6x24 led matrix please

thank youu

Abdul Tasarif3 months ago
I wanna make this..

Will this led s scatter during day time?? Whether i Can see the display texts during time??

If someone tried this awesome project ..plss reply

I have made a 48 x 8 display with blue LED's, and they are visible during the day. I use a piece of black construction paper over the back of the soldering grid, it helps block out the back light.

Abdul Tasarif3 months ago
I meant the blue led s before
Abdul Tasarif3 months ago
I meant the blue led s before

I tryed to simulate this circuit in Protous but the Arduino didnt run. I think there are some wrong in your code.

rexxar123 made it!3 months ago

I'wnated to try it first in ISIS PROTEUS before i going to create but does not work and i can not find fault, so if someone uses PROTEUS please help!

Festuson3 months ago

I am first time interested in LED works.I love your abc steps but how do I get the module that will upload data from computer to the LED work.

please mail me to festinnosystems@gmail.com

Okyp4 months ago

hi sir, my name Oky Putra, friend of Fazar Ramadan .. that yesterday had you give a sketch to make this project .. we are partners .. we've managed to make it up to 97x6,, it makes us happy., we would like to thank you very much for you because it helps us ... but the thing is, if it could be if we want to create different animation ?? not just scroll to the left .. thanks :) could you reply on my email poetraoky@yahoo.co.id

1-40 of 670Next »