Introduction: Make a 24X6 LED Matrix

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! 

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(

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

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.


prushik (author)2018-01-04

This is one of my favorite projects on instructables, however, in your schematics, it looks like you have pin 16 of the 4017 connected to nothing, that pin needs to be connected to VCC (voltage), otherwise only one row will work...

UlambayarD (author)2017-12-27


Can you explain me one thing. I do not understand this schematic. Surely, there has great thing which I do not know. I try to explain choosing very easy case.

If I send command to turn on following 2 LEDs



In this case not these 2 LEDs, following 4 LEDs will be turned on





I think that, is not it ?

Thank you.

elink5319 (author)UlambayarD2017-12-27

Not sure what you are asking,

NJORO1975 (author)2017-12-18

I have successfully made a 24 * 9 led matrix following the instructions from above which when I use with an arduino from a serial monitor I am able to display a scrolling text using the provided code.

However l want when one types a text and or numbers -maximum seven, they should be displayed permanently or stationary except of course if one decides to change the text and send again from the serial monitor. Kindly can someone send a full code for the task. I suppose you will change and update the code from the above link.

My email address is :

elink5319 (author)NJORO19752017-12-27

I have not been successful being able to code a static display, I am sorry.

Manuchinnu (author)2017-12-19

is it possible to make 40 * 40 so that 4017 ics will be connected one by one

elink5319 (author)Manuchinnu2017-12-27

I am sorry I didn't reply sooner, but I know of no way using my code to be able to make it a 40 x 40 display.

joy2012bd (author)2017-11-14

Hello sir elink5319,

Would you like
to send the same 48×8 code & diagram for me. I will truly
appreciate... Waiting for hearing from you soon. Thank you so much for
your great project.

rasheeds7 (author)2017-11-03

thank u sir... i made it and it perfectly working....

Would you like to send the same 80×8 code for me
Thank you again.

smartworkers (author)2015-02-07

can some one mail me 48*8 or

tq uuuuuuuuuuuuuuuuuuuu...

elink5319 (author)smartworkers2015-02-08

I sent it to you.

Dear "elink5319"
Would you like to send the same 48×8 code for me & put 10 text or more.

Sure I will send you the correct code for your project.

Thxs for your attension.


SahilP11 (author)elink53192016-02-20

Pls send me the codes

Hi can you send 8x80 led matrix code at 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:

EEEngineer (author)smartworkers2015-06-07

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

cirona (author)2017-09-08

very nice bro!

Manisha0221 (author)2017-09-05

Can you send me 24x6 matrix led display code that work on arduino mega and information about how 24x6 matrix display made and also working of it on my mail id

moosa.kasim.5 (author)2017-08-26

can you send me the 24x6 code to

vladanmitov (author)2017-08-08

Hi can you send me latest version of the 24x6 code to . One posted here doesnt seem to work on my system.

Thank you.

oswaldo0920 (author)2017-08-01

buenas me podrias compartir el codigo gracias mi correo es

AhmadN27 (author)2016-06-30

hai Syst3mX, how to modify 24x6 to 128x6, if you can help me to modify the source code??
let me know via email:, thanks and success for you

deze8939. (author)AhmadN272017-07-26

Did u managed to get the matrix working? Wanna share the code?

elink5319 (author)deze8939.2017-07-26

Will send you the code

hinkey (author)AhmadN272016-09-22

Hi, did you get any code?

albartaufiq (author)2015-10-19

excuse me. if this running text expanded to 48x6 with just adding more register is possible?

and the matrix module is needed a zener to secure led from broken?


elink5319 (author)albartaufiq2015-10-20

I have a code that has been modified to recognize the additional shift registers for the 48 x 6 display and would be happy to share it with you, if you contact me at my email address; Also I have not found the need for the zenerk, but you will need to add some small capacitance capacitors to your ground on the shift registers, to avoid trouble. I also have an updated schematic for the display.

sharon291 (author)elink53192016-05-20

I know this is a bit old but do you still have the code for a 48 x 6 display? I'm hoping to adapt it to a 32 x 8 display that I've made. My email is: Thank you kindly.

elink5319 (author)sharon2912016-05-20

No problem. I sent it to you.

deze8939. (author)elink53192017-07-26

Me too maybe?

mahio4u (author)elink53192017-05-15

Halo @ELINK5319 Please could you send me the code? I'm also interested in this project. My email is Thanks in advance.

elink5319 (author)mahio4u2017-05-15

I have received your email, thanks, because I do not always check this site everyday, and sometimes I miss people wanting the code for larger displays. Contact me by sending messages through this site or my email address: and I will gladly send you the code.

hinkey (author)sharon2912016-09-22

Hi could you send me this code please - - Thank you.

albartaufiq made it! (author)elink53192015-11-13

thanks for the information and instruction. it's helpful. now i'm will develop it to 48x6 running text.

maybe i'm need to exploring the variation of the animating movement of text,hehe

albartaufiq made it! (author)elink53192015-10-20

actually, I'm still onworking progress on board. i made the PCB based from 24x6 with additional expansion for 24 lines.

does it will be ok?

oh, plus, the board that i will use is arduino nano. is it capable enough for the display?

elink5319 (author)albartaufiq2015-10-20

Not sure about nano, but it should be able to handle it.

avishwakarma8 (author)2017-07-25

sir hoe to control scroll speed plz help me

nehablue (author)2017-07-24

pls send the code

nehablue (author)2017-07-24

If i want to display a message from the 16th floor how big and what is the quantity of things? pls tell

instead of PCB what should i use

stark9000 made it! (author)2015-09-03

Thank you Syst3mX , i made it :)

UchennaO2 (author)stark90002017-05-23

Hello, congratulations stark9000, can you send me the code you used?

badereddine (author)stark90002017-01-30

can you pleassssssse send me the code !!

and thank you :D

mashaelhu (author)stark90002016-04-22

can you please send me the code !!

AndréV97 (author)2017-05-15

can you please send me the code?

hoangl31 (author)2017-04-30

can you please send me code please

ChiranjitK (author)2017-04-12

can you please send me code

Sandesh_SP (author)2017-03-23

I'm doing time project with led display like below with hours and minutes only(4 seven segment display). I'm getting time from RTC, I want it to be displayed on the led display , do you have any codes or know how to control each time it increases by one unit. Please share it if you know. Thanks in advance.

About This Instructable




Bio: Electronics and LEDs what can be better ?! :D
More by Syst3mX:Make a Desktop TamagotchiLED Binary CalculatorMake a 24X6 LED matrix
Add instructable to: