First of all hi everybody.I have recently received 3 MAX7219CNG and decided to start a project with them. at a fast search i found the wiring diagram at . I make all the connections - power from the arduino, load, clock and data, etc. all like in wiring diagram for a single MAX7219. I wrote a short schetch wich should blink a single led, i uploaded and when i power the MAX7219 surprise : all the matrix was HIGH, not just (1,1). I search different schetches, but not working.All i obtain is all leds to high. DataPin,Clock and Load works correctly.I switch the Max IC with a new one . The result was the same - all the matrix was power on.
I don't know what to do...
What should i do, or where is the mistake ?
Thanks !

PS : I am sorry for my bad english

all the matrix was HIGH, not just (1,1)

How were you looking at this? An oscilloscope is OK but a voltmeter will not tell the truth. This is because all the matrix inputs will be being scanned, not just the ones you tell to go high.

actually i was wrong when i said that is high. i should say all the matrix is light up, all the 64 leds are light up, and blinking as it matrix(1,1) should do.All these happened when i don't have VCC connected. If i connect VCC all the 64 leds become brighter and they are not blinking.
Actually is verry strange...i can't understand where is the mistake

All these happened when i don’t have VCC connected.

Then there is little point in describing it. Chips without power don’t work properly if at all.

If i connect VCC all the 64 leds become brighter and they are not blinking.

So what happens if you reduce the current by changing the reference resistor. If this dims things you might have wired it up correctly and the problem is your software. Otherwise check that the grounds are connected from the chip to the arduino. Have you a 0.1uF across the supply of your chip?

the dimmer is working (22k resistor regulator) and yes i do have a 10uF and 100n electrolithic.I also tried without capacitors and the problem persist.It seems to be in test mode, but it isn,t…i have already set de register for test mode to false.Should i check the data pin with the oscilloscope to see that arduino sends data corectly ?

Does anything you do with the software change anything. If so you can assume it is getting through.
At this stage it would be good if you could post the schematic of what you are wiring up and also the code you are using so we can see exactly what the problem is.

So, the wiring is like that :

arduino pin 13---->Max Data Pin(1)
arduino pin 12---->Max Load Pin (12)
arduino pin 11---->Max Clock Pin(13)
arduino 5V VCC —>Max Power supply (19) plus potentiometer—>ISET MAX(18)
arduino GND —>Max GND (4 and 9)

Between GND and VCC i added two capacitors in parallel (one 10uf + one 100nf).

from the max i have wired digits to the plus pins of matrix, and seg to negative pins of matrix.

the dimmer work only if the VCC is not plugged.If i move the potentiometer resistor the brightness of the matrix grow untill the matrix is full brightness.

My simple fast test is next:

#include <Binary.h>  
#include <Sprite.h>  
#include <Matrix.h>  

Matrix myMatrix = Matrix(13, 12, 11); 

void setup()  

void loop()  
myMatrix.clear(); // clear display

  myMatrix.write(1, 5, HIGH);
  myMatrix.write(2, 2, HIGH);
  myMatrix.write(2, 6, HIGH);
  myMatrix.write(3, 6, HIGH);
  myMatrix.write(4, 6, HIGH);
  myMatrix.write(5, 2, HIGH);
  myMatrix.write(5, 6, HIGH);
  myMatrix.write(6, 5, HIGH);

And i try also with LedControl Library and still no result.
When the upper code is uploaded, all the leds matrix are on, and blinking same time.Actually the leds not powering off complet, actually they are dimming.

I think i’ll try to drive the led matrix with shift registers if i can’t do it with MAX ic

Read until they bleed


To find out the correct value for RSet you need the datasheet for the MAX72XX and the datasheet for the Led's, matrix, 7-segment display, whatever you are going to use.

Read until they bleed - code

Now the matrix library

At minimum you've swapped numbers in the matrix initialization routine

Matrix myMatrix = Matrix(13, 12, 11);

That SHOULD be Matrix(data, clock, load)

Go read until your eyes bleed some more. Cause I'm not a gonna tell you. :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue: You will need to enter the numbers in the correct order based on your wiring from the Arduino.

Actually that is not the problem. My mistake... I was in a hurry when i wrote the code to forrum (not paste it) original code, uploaded to arduino was

Matrix myMatrix = Matrix(13, 11, 12); // data, clock,load

I've checked again and it's correct.That is not the problem.
Thanks anyway mrmeval

The problem is that my matrix is not even initialised. All the leds are on, and communication seems to be dead, even if the clock, data and latch are working (verified with a led connected to pin load/clock/din and gnd).

reading datasheets was the first thing i did.

Hi everyone again.
I just wanna say i'm embarased. I said that i verified the connections to the matrix...actuaslly that was the mistake, because it was wired wrong (i switched the anode/cathode) ... now it's wotking.Thanks again all and i'm sorry for my mistake.