Homemade 8x8 Led Matrix & Max7219 Setup Not Multiplexing

So this is my first forray into Matrix multiplexing.

I’m using an UnoR3 and I made an 8x8 matrix and using a max7219, followed the wiring diagram HERE.

All the LEDS light up when connected, but regardless of what library I use, or code examples, I can’t get any multiplexing - they’re always all lit.

Here are some photos of my matrix.

Did I wire something up wrong?

FYI - I’m following the instructions and code from this page (minus the bluetooth part).

So the code I’m using is:

/*
      8x8 LED Matrix MAX7219 Example 01
   by Dejan Nedelkovski, www.HowToMechatronics.com
   Based on the following library:
   GitHub | riyas-org/max7219  https://github.com/riyas-org/max7219
*/
#include <MaxMatrix.h>
int DIN = 7;   // DIN pin of MAX7219 module
int CLK = 6;   // CLK pin of MAX7219 module
int CS = 5;    // CS pin of MAX7219 module
int maxInUse = 1;
MaxMatrix m(DIN, CS, CLK, maxInUse); 
char A[] = {4, 8,
            B01111110,
            B00010001,
            B00010001,
            B01111110,
           };
char B[] = {4, 8,
            B01111111,
            B01001001,
            B01001001,
            B00110110,
           };
char smile01[] = {8, 8,
                  B00111100,
                  B01000010,
                  B10010101,
                  B10100001,
                  B10100001,
                  B10010101,
                  B01000010,
                  B00111100
                 };
char smile02[] = {8, 8,
                  B00111100,
                  B01000010,
                  B10010101,
                  B10010001,
                  B10010001,
                  B10010101,
                  B01000010,
                  B00111100
                 };
char smile03[] = {8, 8,
                  B00111100,
                  B01000010,
                  B10100101,
                  B10010001,
                  B10010001,
                  B10100101,
                  B01000010,
                  B00111100
                 };
void setup() {
  m.init(); // MAX7219 initialization
  m.setIntensity(8); // initial led matrix intensity, 0-15
}
void loop() {
  // Seting the LEDs On or Off at x,y or row,column position
  m.setDot(6,2,true); 
  delay(1000);
  m.setDot(6,3,true);
  delay(1000);
  m.clear(); // Clears the display
  for (int i=0; i<8; i++){
    m.setDot(i,i,true);
    delay(300);
  }
  m.clear();
  // Displaying the character at x,y (upper left corner of the character)  
  m.writeSprite(2, 0, A);
  delay(1000);
  m.writeSprite(2, 0, B);
  delay(1000);
  m.writeSprite(0, 0, smile01);
  delay(1000);
  
  m.writeSprite(0, 0, smile02);
  delay(1000);
  
  m.writeSprite(0, 0, smile03);
  delay(1000);
  
  for (int i=0; i<8; i++){
    m.shiftLeft(false,false);
    delay(300);
  }
  m.clear();
}

flyagaricus:
I’m using an UnoR3 and I made an 8x8 matrix and using a max7219, followed the wiring diagram HERE.

All the LEDS light up when connected, but regardless of what library I use, or code examples, I can’t get any multiplexing - they’re always all lit.

Instant diagnosis!

That diagram posted by idiot!

You did well, followed instructions, but - the anodes and cathodes have been swapped in the diagram! :cold_sweat:

Paul__B:
Instant diagnosis!

That diagram posted by idiot!

You did well, followed instructions, but - the anodes and cathodes have been swapped in the diagram! :cold_sweat:

Uggh.

Is this one correct?

Paul__B: Instant diagnosis!

That diagram posted by idiot!

You did well, followed instructions, but - the anodes and cathodes have been swapped in the diagram! :cold_sweat:

Thank you for noticing this. I swapped the connections, and it works fine. Cheers.

When I say "instant diagnosis", this is the trick - all LEDs continuously on, with or without any program.

Something we see often here. :grinning:

Paul__B: When I say "instant diagnosis", this is the trick - all LEDs continuously on, with or without any program.

Something we see often here. :grinning:

Yeah, I can believe that!