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 # 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
 
 
+2 # 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 # 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
 
 
+1 # 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
 
 
+1 # 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
 
 
+1 # 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
 
 
+2 # 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
 
 
-7 # 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
 
 
+3 # 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