8x8 LED Matrix and Arduino Mega (help needed)

I have had the Arduino Mega for about 3 weeks now and have been messing with numerous items. The main project i am starting is building a scrolling LED sign out of 3, 8x8 LED matrices. I also have 4, SN74HC595N shift registers just waiting to be used. I pretty much have just about everything to build this sign but i need some help putting it together. I am having some trouble getting the shift register wired to the 8x8 display and Arduino. I have successfully connected one 8x8 directly to the Arduino but that wont work for my sign i have to use 3 shift registers.

If anyone out there could really help me with this project it wold be greatly appreciated. I am going to document the whole process and put it up on my website.

A great thanks to anyone out there who will be willing to help me with this project.

Here is the schematic:
Just replace the 8x8 RGB matrix with your 3, 8x8, single color matrices.

Also, follow this thread:

Thanks for the reply that schematic is really going to help me.

Question... that schematic like you said is for an RGB Matrix. I am confused as to how to wire up 3 8x8 single color matrices to the shift registers as there are 16 pins per matrix. that schematic only shows 8 anodes i would have 8 anodes for each matrix. would i wire all anodes up to the same pins on the 595 for each matrix? EG pins 1, 2, 3, &, 4 of matrix one go to pins Q7, Q6, Q5, &, Q4 of the 595 shift register.

Thank you

Second question... the schematic shows 330 Ohm resistors for the RED Matrix. I have directly driven a single red matrix with no resistors from the Arduino Mega. i will be driving 3 for this project.. are the resistors necessary?

An LED RGB matrix is in essence 3 "parallel" single-color LED matrices, where the rows are connected. A multi-color LED matrix is characterized as either "common-anode" or "common-cathode", depending on what LED terminals are connected internally.
So, you will have to connect the rows of your 3 LED matrices.
Resistors are important, they need to be there. Anything between 100 and 330 should be ok (adjust the value for brightness).

A somehow more intuitive schematic is this:

It is for 2 RG LED matrices, but I hope you get the idea.

The 2 red green one is perfect i have 2 bi color 8x8 matrices id love to run. Thank you for spending the time to explain this with me it has helped greatly. Now all i have to get down is the software.

can you please post a larger pic of that schematic.. also i am going to post a pic of what i have so far set up according to the first schematic you gave me.

Here is the setup of what i have wired up so far... it shows the connector i made that runs to one 8 pin row of the matrix (connected with no resistors for now until i get more) project requires 6 of the connectors.

I hooked this up the same way your first schematic shows, i am guessing this would be correct.


You can find the schematic (and other related pics) here:


I have all of the shift registers wired up and one matrix display, i hooked it up to the Arduino to try and test matrix one with some code and as soon as the Arduino is plugged into USB it gets an over current warning and shuts off the port. Will i have to power this with a separate power supply?.... i am going to check the entire circuit for shorts but im pretty sure there is none.

You appear to have 300mA of LED current (about 9mA per LED) the USB should be able to cope with that, so it must be some miss wiring.

I tested the circuit with a continuity tester to see if i am getting any shorts from 5v to ground and when i test to see if ground is shorting to 5v the tester beeps once saying its making contact but then stops... if its shorting it should be a continuous beep. Idk why its getting overcorrect error.

why its getting overcorrect error.

Well maybe you are actually drawing too much current. Try measuring what you draw.

I can't see any capacitors (decoupling) in that circuit. Thee initial beep is when the capacitors charge up. You can have a miss wiring without actually having a dead short.

How am I suppose to measure the current draw it don't stay on long enough for me to measure it lol, idk why it would be shorting its wired up exactly according to the schematic...idk I guess I just got to keep looking.

How am I suppose to measure the current draw it don't stay on long enough for me to measure it lol

You put the meter in series with the power line and measure it as you turn it on. If it doesn't stay on long enough then you put a 1 ohm resistor in series with the power and measure it on an oscilloscope.

Alternatively you put it on an external bench supply and measure what that gives.

I hooked up the meter between power and the Arduino and it gets 4.25V and stays on. It shows 0001 on mA setting.

I hooked up the meter between power and the Arduino and it gets 4.25V and stays on

Put the meter on the CURRENT range and connect the leads to measure CURRENT.

It stays on because the volt meter is a high impedance and is masking the short.