Electronic – Is it possible to drive a 4×4 RGB common-cathode LED matrix with a MAX7219

74hc595charlieplexingled-matrixmultiplexer

The MAX7219 (datasheet) is a LED matrix driver that's designed to drive an 8X8 single-colour LED array.
tronixstuff has an intro on how to use it with an arduino that has some relevant diagrams.

I'm wondering if it's possible to use the chip to drive a 4×4 common-cathode RGB LED matrix? This is effectively 3/4 of the intended matrix, so if it weren't for the common cathode aspect, it would be easy. But the chip only has 8 in and 8 outs, so it would not work to treat it that way, because all three 4×4 matrices share only 4 cathodes, so there will be interference.

So I'm trying to figure out if it's possible to get around this problem in a not-too-painful way, perhaps using some kind of charlieplexing scheme. Or should I just give up and go back to 74HC595Ns?

Best Answer

The answer is no. If the matrix has 4 cathodes and 4*3=12 anodes, and the driver has 8 current-sourcing pins, it is not possible. If the LEDs' pins were individually accessible, you could rearrange them to 8 cathodes and 6 anodes which would work, like this:

pic

But still, there would be a problem with different perceived intensity for different colours.

Charlieplexing is not applicable here because direction of current is not reversible. 8 pins can source and 8 pins can sink