solderlab logo

banner

RGB LED Matrix

This is our very first project, a 12x8 RGB matrix. It consists of 96 RGB Leds, 6 shift registers (74HC595), some resistors and transistors and one ATmega328. The PCB is self-made. In total the color depth is 8bit (265 colors) - six bits for red and green and two for blue. The back plate is 5 mm thick foamboard and the Led pitch is 5 cm. As diffusor we used Ping Pong Balls without Label which worked out very well. We just drilled 5 mm holes into each of the balls put them over the Leds and glued to the foamboard. Some more project details can be found in the video clip shown below. The schemantic and wirering layout and the code for the Arduino can be found in the download section.

It was really fun and we learnt a lot about electronics, soldering and ping pong balls. Eventually we decided to realize some other projects we thought of and to set up this little project page to provide some information. We got inspired by a lot of other great projects we found while searching the web!

 

Images and Video Clip

 


Comments   

 
0 # js_electronics 2014-02-19 06:02
Que tal he visto su proyecto y me interesa demasiado pero tengo algunas dudas espero me puedan ayudar; :-| en la parte del arduino va conectado el 74HC595N HAY 3 SALIDAS:
SER
SCK
RCK
G----GND
SCL--VCC
EN EL PROGRAMA DE ARDUINO, ESTA DECLARANDO 4 SALIDAS ESTAS COMO VAN CONECTADAS al 74HC595N
#define latchPin 10 // Enable SR after data refresh
#define PIN_SCK 13 // SPI clock
#define PIN_MISO 12 // SPI data input
#define PIN_MOSI 11 // SPI data output
Reply | Reply with quote | Quote
 
 
0 # Michał 2013-12-31 11:46
Hello
My name is Michael and I live in Poland.
At the pre congratulates great blog and the same projects that are really cool because you create them ourselves.

It is thin in these matters but pure ciekkawosci, maybe where you were scrolled this question but I'm not English eagle :)

Are the creatures of your panel, is the code for the Arduino who then combine it with the gladiators?
And if there is a possibility to post a schematic diagram of pcb etching plates?

Diffusion 5mm LED anode or cathode shared?

Of course you can do it yourself but do not have much time, I have a son who has 7miesiecy and it is hard to break away from his classes, otherwise peklo to my heart :)
Already created in eaglu plates, tube amplifier on pcl86 and stuff

I'll be very grateful for your reply.

Sorry for my English, writes with an interpreter hehe ..
Regards
Reply | Reply with quote | Quote
 
 
0 # RAMI MAQBOUL 2013-12-11 11:10
how i can connect it to glediator
by code ws2801
the error it
WS2801.ino: In function 'void setup()':
WS2801:18: error: redefinition of 'void setup()'
Main:38: error: 'void setup()' previously defined here
WS2801.ino: In function 'void loop()':
WS2801:36: error: redefinition of 'void loop()'
Main:80: error: 'void loop()' previously defined here
Reply | Reply with quote | Quote
 
 
0 # RAMI MAQBOUL 2013-12-06 23:52
hi
can you help me how i can connect at to Glediator and whats the code
Reply | Reply with quote | Quote
 
 
0 # MONTY 2013-09-13 10:45
HI
I made this project but instead of common cathode i used common anode leds , can u plz tell me what changes i has to make so that my common anode leds would work.
Reply | Reply with quote | Quote
 
 
0 # X-ite 2013-08-02 20:48
Good Job guys
Reply | Reply with quote | Quote
 
 
0 # Cole 2013-07-08 15:20
How many volts should be delivered to the circuit board? Is the Vcc and ground suppose to be connected straight to the arduino 5V and ground pin, or is it supposed to be connected to the power supply.
Reply | Reply with quote | Quote
 
 
0 # Mike 2013-03-28 16:09
Hey i was getting error code: avrdude: stk500_getsync( ): not in sync: resp=0x00 tried lots of different things then found that if i plug out the connection to digital pin 1 of arduino the code would upload, so i moved all 5 connections up. so now using pins 2-6 on arduino. but uploaded code does not do anything. i have differnent colours on the board but no animations. :-? what are correct pins to use? also do i need to upload all the codes from yor download section in order for it to work or will one on its own work? thanks in advance. so close to having it work now :eek:
Reply | Reply with quote | Quote
 
 
0 # kolovic 2013-04-01 10:13
Hey, did you make 12x8 matrix. Can anyone help me with code 10x10.
I'll be very grateful if you could help me.
Reply | Reply with quote | Quote
 
 
0 # kolovic 2013-02-24 19:28
Hi, i'm new in arduino and need help. I follow your shematics and create rgb led matrix 10x10. I try for test your code 12x8 and display color are great but of course not show any animations correct. Please can you help me to create custom code (sketch) for my 10x10 rgb led matrix.

Thanks in advance

Reply | Reply with quote | Quote
 
 
0 # mike 2013-02-20 19:04
Hi, I should put a 100nf cap at the inputs of each 595. so that would be at pins 10,11,12 and 13 of each chip right? plus an extra cap on power supply and ground connection of arduino uno? do i need to connect to arduino at pins 1 to 5 for outputs and vcc on arduino at 3.3v or 5v, and gnd pin on arduino too? or do output pins provide enough power on arduino? thanks . :-?
Reply | Reply with quote | Quote
 
 
+3 # Stephen 2013-02-27 14:09
No, you just need one 100nf connected near the 5v and GND of each 595.
Reply | Reply with quote | Quote
 
 
0 # fred 2013-01-08 14:13
How do connect the Cathods and the Anods when working with only one or two 74HC595?
thank you!
Reply | Reply with quote | Quote
 
 
0 # rispondi 2012-12-12 19:13
Ist es möglich die PCB Layouts zu bekommen?
Reply | Reply with quote | Quote
 
 
0 # mary 2012-12-05 14:25
Ist es möglich die PCB Layouts zu bekommen? :D
Reply | Reply with quote | Quote
 
 
0 # gigi 2012-12-03 17:43
Ist es möglich die PCB Layouts zu bekommen?
Reply | Reply with quote | Quote
 
 
0 # rami b maqboul 2014-02-08 22:43
Hi i do this project but i not have the code
can you help me what the code it ws2801
If it i have 5pin 2for volt and 3 for arduino in ws2801
but ws2801 2pin 12 &13
Can you help me pleez
thank you
Reply | Reply with quote | Quote
 
 
0 # dave 2012-12-03 17:42
E 'possibile ottenere il layout PCB?
Reply | Reply with quote | Quote
 
 
0 # smching 2012-11-23 03:34
I'm using project board to test your RGB LED MATRIX. It is working :-)

But I'm facing a problem that the project is very unstable. The LED (Arduino Pin 13) is keep on blinking (about one second once) without running the Matrix LED.

I have to turn ON and OFF the power supply in order to solve the above problem (press Arduino reset button will not solve the problem)
Reply | Reply with quote | Quote
 
 
0 # smching 2012-11-16 09:21
I can't compile your arduino sketch, error message as below:

Main.pde:-1: error: 'Sequence_01' was not declared in this scope
Main.pde:-1: error: 'Sequence_02' was not declared in this scope
Reply | Reply with quote | Quote
 
 
0 # smching 2012-11-16 15:35
Problem solved.
The folder contain the files must changed to Prog_Mem

Thanks.
Reply | Reply with quote | Quote
 
 
0 # dave 2012-11-13 12:54
because my x_Jumping_RGB_B alls how it works?
this is the video: http://www.youtube.com/watch?v=v2hmHPz1Q-s
Reply | Reply with quote | Quote
 
 
0 # il belga 2012-11-09 16:54
Superschönes Projekt!!!
Ist es möglich die PCB Layouts zu bekommen?
Reply | Reply with quote | Quote
 
 
0 # Heiko Koch 2012-11-06 20:20
Superschönes Projekt!!!
Ist es möglich die PCB Layouts zu bekommen?
Reply | Reply with quote | Quote
 
 
0 # dave 2012-11-01 16:45
hello! on which website you bought the 74HC595?
Reply | Reply with quote | Quote
 
 
0 # Thomas 2012-11-03 15:08
Puh, we can't remember exactly but probably from our local electronic store (conrad).
Reply | Reply with quote | Quote
 
 
0 # dave 2012-11-04 16:46
thank you! but that code there is written on your 595? because mine are the mc74hc595an and do not work well!
Reply | Reply with quote | Quote
 
 
0 # Kristofer 2012-10-03 16:10
great guys.
What should I change if using common anode rgb leds?
thanks
Reply | Reply with quote | Quote
 
 
0 # René 2012-10-04 07:36
Hey guys!

Since this question comes so frequently:

YES, you can use both: common anode or cathode.

However, you have to choose the correct transistors for the rows (BD139/BD140) fitting to your kind of LEDs AND you have to adjust the output to the shift registers within the firmware according to you LEDs.

Cheers!
Reply | Reply with quote | Quote
 
 
0 # Vladimir 2013-01-01 18:54
Hello Rene!! . Where in the firmware need to change the code for LEDs with common anode? I will appreciate if you show an example. Thank you! :-)
Reply | Reply with quote | Quote
 
 
0 # opel 2012-09-26 20:56
can i use common anode instead of common cathode rgb leds ?? and bd136 instead of bd139?
Reply | Reply with quote | Quote
 
 
0 # Mike 2012-09-18 15:30
Hey guys looking to build this, Just trying to put together a parts list so far i have:
1 X adruino duemilanove w/ ATmega 328
6 X shift registers (74HC595)
1 X PCB
96 X RGB LED's
8 X 1Kohm resistors
8 X transistors (BD139)
lots of copper wire
5MM thick foamboard

looking at the wiring diagram i have noticed another 36 resistors? is this correct and what value are these?
if any one can help me out i would really appreciate it, also if i have left anything out of the parts list.
Reply | Reply with quote | Quote
 
 
0 # Mike 2012-09-18 15:43
2v - 12v common cathode 4 pin LEDs be ok?
thanks in advance.. :D
Reply | Reply with quote | Quote
 
 
+2 # René 2012-09-18 21:32
Yea, that's fine! And the 36 resistors are the current limiting resistors for your LEDs just choice them to come out with about 20mA (so R = 150 to 220 Ohms).

Cheers!

And by the way:Put a 100nF ceramic capacitor to the input of each 595. That's a point we skipped that should't be skipped!
Reply | Reply with quote | Quote
 
 
0 # Mike 2012-09-19 13:40
Quoting René:
Yea, that's fine! And the 36 resistors are the current limiting resistors for your LEDs just choice them to come out with about 20mA (so R = 150 to 220 Ohms).

Cheers!

And by the way:Put a 100nF ceramic capacitor to the input of each 595. That's a point we skipped that should't be skipped!


ok thats great, do i need some sort of special cabling to go from adruino to the IC's. and from IC's to led's? and probably a stupid question but vcc voltage = ?
thanks for the help.
Reply | Reply with quote | Quote
 
 
0 # Jacek 2012-10-20 19:16
Quoting René:

And by the way:Put a 100nF ceramic capacitor to the input of each 595. That's a point we skipped that should't be skipped!


Which input do you mean?
Reply | Reply with quote | Quote
 
 
0 # Thomas 2012-10-20 19:37
The 100nF filter cap should be placed close to every IC and there between power supply and ground.
Reply | Reply with quote | Quote
 
 
0 # mike 2013-02-21 13:02
Quoting Thomas:
The 100nF filter cap should be placed close to every IC and there between power supply and ground.

still unsure? a 100nf cap at pins 10,11,12,13 of each ic? thanks
Reply | Reply with quote | Quote
 
 
0 # opel 2012-09-17 21:33
Iam using Arduino Uno pins 10-11-13 is that
correct? :-?
Reply | Reply with quote | Quote
 
 
0 # René 2012-09-18 21:33
Yes it is!
Reply | Reply with quote | Quote
 
 
0 # opel 2012-09-17 21:29
ive built this project but when i upload code it does its own thing. Any ideas what Iam doing wrong??
Reply | Reply with quote | Quote
 
 
0 # René 2012-09-18 21:34
That's really hard to say without having a look to your setup. Could you give us some more information!?

Cheers!
Reply | Reply with quote | Quote
 
 
0 # davee 2012-09-19 14:26
to me it does not work and I put the capacitor 100nF
Reply | Reply with quote | Quote
 
 
0 # opel 2012-09-25 18:10
i just cant get mine to do the worm and jumping balls - dont know wher iam going wrong - can i use common anode rgb leds instead of cpmmon cathode?
Reply | Reply with quote | Quote
 
 
0 # alessio carrara 2012-09-01 16:00
what are the pin exactly why I have to connect with the schemes and the progam you do not understand!
Reply | Reply with quote | Quote
 
 
0 # René 2012-09-05 17:55
??? :-*

Cheers!
Reply | Reply with quote | Quote
 
 
0 # dave 2012-08-09 11:16
Hello! I wanted to ask if you could make printing the PCB under the download section ... please
Reply | Reply with quote | Quote
 
 
0 # René 2012-08-27 06:17
Hi Dave,

what do you mean with "make printing"? The board layout can be found in our download section!?

Cheers!
Reply | Reply with quote | Quote
 
 
0 # alessio carrara 2012-08-28 16:25
Quoting René:
Hi Dave,

what do you mean with "make printing"? The board layout can be found in our download section!?

Cheers!


I say this:
http://www.adrirobot.it/scheda_passo_passo/circuito_stampato.jpg
Reply | Reply with quote | Quote
 
 
0 # davee 2012-08-30 09:19
I say this:
http://www.qsl.net/ik1hgi/atv/gunn2/gunn-pcb.jpg
Reply | Reply with quote | Quote
 
 
0 # René 2012-09-05 17:54
Ok, this should be possible. If we find some time we will put the plot to the download section.

Cheers!
Reply | Reply with quote | Quote
 
 
0 # davee 2012-09-12 14:33
ok thaks
Reply | Reply with quote | Quote
 
 
0 # davee 2012-09-19 14:24
when you put it?
Reply | Reply with quote | Quote
 
 
0 # Urvish 2012-07-23 12:28
A simple hats-off for that FFT thing...
Reply | Reply with quote | Quote
 
 
0 # René 2012-08-27 06:13
Thanks! ;-) Wasn't easy, but nothing of value comes without being earned 8)

Cheers!
Reply | Reply with quote | Quote
 
 
0 # John 2012-06-28 06:15
Wow, this is really impressive!!!

Can it be slightly scaled up to drive slightly larger display? 10 x 11 to be exact.

Does the PC control software support this display?
Reply | Reply with quote | Quote
 
 
0 # René 2012-08-27 06:12
Hi there,

Fore sure it is scalable! However, you will have to change the firmware. And just as as hint: Life goes easier when taking multiples of 8 for the size of the matrix. :lol:

This project was build to be a stand-alone application, so it just calculates images by itself. There's no feeding of data via software from a PC.

Cheers.
Reply | Reply with quote | Quote
 
 
+2 # alessio carrara 2012-06-24 12:19
hello nice project! :lol: I have a problem with the codes because all they give me problems because some parts are not declared! :cry: what program to use arduino?
thanks for the answer
Reply | Reply with quote | Quote
 
 
0 # René 2012-06-26 20:45
Please see the answer(s) below!

Cheers!
Reply | Reply with quote | Quote
 
 
0 # Mathias 2012-05-30 20:15
Hello,

which LEDs did you use for your matrix?
Reply | Reply with quote | Quote
 
 
+3 # René 2012-05-31 07:51
we used 5mm diffuse RGB LEDs with common MINUS from:

http://www.led-dealer.de

Order number: LB-1010-10

Have a nice day!
Reply | Reply with quote | Quote
 
 
-8 # Ika 2012-05-16 18:29
Hello!
I'm a beginner and here is my first project: http://www.youtube.com/watch?v=yCWdudxSv4o .
Now, I'm interested to make an RGB LED 5x5x5 Cube.
I saw you project and can you send me schematic, how to solder the LEDs?
For any kind of answer, write me on my email: !
Tnx in advance!
Reply | Reply with quote | Quote
 
 
0 # srideep nayak 2012-05-02 02:30
how can i control more led using less number of pins of my arduino?
Reply | Reply with quote | Quote
 
 
+2 # srideep nayak 2012-04-22 04:46
wow..........yo u people are really did a great job...mind blowing......

i also want to do some graphics using led matrixes.I'm quit new to arduino and microcontroller s.so please tell how do you able to get those graphics(blinki ng sequence).is der any software sothat i can create some graphics and able to get the blinking sequences of leds?
Reply | Reply with quote | Quote
 
 
0 # René 2012-04-23 19:32
You can find the complete source code for this project in our download section! :D
Reply | Reply with quote | Quote
 
 
+4 # David 2012-06-25 23:25
Very nice work you guys. One question tho, I have downloaded the code from your site for this project and Im getting a bunch off errors while compiling it. I have not changed the code in any way, And am wondering how i can fix this to make it run. here is some of the errors I am getting.
Main.cpp: In function 'void loop()':
Main.pde:-1: error: 'Moving_RGB_Lin es' was not declared in this scope
Main.pde:-1: error: 'Jumping_RGB_Ba lls' was not declared in this scope
Main.pde:-1: error: 'Moving_Rainbow ' was not declared in this scope
Main.pde:-1: error: 'Laola' was not declared in this scope
Main.pde:-1: error: 'Display_String ' was not declared in this scope

There are more errors, But the are all basically the same.

any info would be greatly appreciated.
Reply | Reply with quote | Quote
 
 
+1 # René 2012-06-26 09:34
Hi David,

Looks like Arduino IDE is missing some of the files in your case!

I'm not sure which version of the Arduino IDE you are using. However, the following will work for sure:

1.) Make sure you have extracted the downloaded .tar.gz file into a Folder called "Prog_Mem".
2.) From within the Arduino IDE open the File "Prog_Mem.pde" in the mentioned dir.

That's it!
Reply | Reply with quote | Quote
 
 
+1 # Martin 2012-06-26 12:14
Hi David and Rene,

We are using the Arduino Diecimala Duemilanove /w Atmega168 board. We have the same problem and the same error message as you, but no idea how to solve this problem. Did you solve this problem and can you tell us how you did?

We are thankful for every answer. Thanks!
Reply | Reply with quote | Quote
 
 
+1 # René 2012-06-26 20:34
Hi Martin,

Do you have the tar.gz. file extracted into a folder called "Prog_Mem"? And does this folder contain more than one .pde files?

This is essential!

Cheers!
Reply | Reply with quote | Quote
 
 
+1 # David 2012-06-27 09:08
That did the trick. It will now compile. I will post an update as soon as I get home, And can give it a shot. Once again, Thank you very much for helping out a noob.
Reply | Reply with quote | Quote