I have wired a 5x6 matrix of LEDs to a MAX7221.
To test the wiring, I simply set the 7221 into display test mode in my setup() by writing 0x01 into the display test register.
If I connect only one column (5 anodes connected together) and disconnect the other columns, it works. It does not matter which column it is -- it works with any column.
However, if I connect two columns or more, everything flickers, and the different rows aren't even the same intensity.
I am out of ideas what could be wrong.
Do you have the scan limit register set to the number of columns connected?
You don't have the columns & rows swapped, do you? Anodes go to segment pins, cathodes go to digit pins.
You don't have the columns & rows swapped, do you?
No; if I had, the polarity applied across the LEDs would be reverse and therefore no LEDs would light at all, so that's not the reason.
Do you have the scan limit register set to the number of columns connected?
I simply set the scan limit to 8. The connected digits are not the first five but I selected which ones to use based on easiest circuit routing.
Do you have the scan limit register set to the number of columns connected?
Actually, that shouldn't even matter because we are talking about display test mode, and that overrides the scan limit to "scan all 8 digits".
Power supply insufficient.
(Or a bogus chip - just perhaps.)