3
\$\begingroup\$

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 4x4 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 4x4 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?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Try MAX6960 or MAX6974 instead; these are actually made to drive RGB LED matrix. (Each row is a common-cathode; each column is a common-anode.) \$\endgroup\$
    – MarkU
    Sep 10, 2014 at 0:54
  • \$\begingroup\$ @MarkU: They look very handy :) But they seem to only come in TQFN, which is a bit beyond me at the moment :/ \$\endgroup\$
    – naught101
    Sep 10, 2014 at 1:16
  • \$\begingroup\$ From the datasheet my understanding is that the biggest problem is the pull of DIG pins to V+ during the off state. Should I use 3 ICs to drive each of he 3 colors, it would bring interference since DIG pins are the common cathode and should be GND when one of the colors wants to use these. What if instead of connecting LEDs to DIG pins I just connect all the 3 color cathodes of all the rgb LEDs to GND? Testing it today ... \$\endgroup\$ Mar 23, 2016 at 11:11

2 Answers 2

3
\$\begingroup\$

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

\$\endgroup\$
3
  • \$\begingroup\$ Yeah, I understand that. I was wondering if there was a way of getting around that (hence mentioning charlieplexing). But maybe that's not possible either. \$\endgroup\$
    – naught101
    Sep 9, 2014 at 23:23
  • \$\begingroup\$ Ah, thanks @venny, I was thinking along the lines of high/low with the 74HC595, but I still don't understand either chip very well. \$\endgroup\$
    – naught101
    Sep 9, 2014 at 23:56
  • \$\begingroup\$ Actually the comment about different intensity is not true with the MAX7219. There is the ISET pin that can modify the output current. Each color can get its own chip and slightly different output current. \$\endgroup\$ Mar 22, 2016 at 20:01
-3
\$\begingroup\$

You didn't provide a link to the MAX7219 datasheet, so I can't say for sure. However, from your description it sounds like this chip has 8 anode and 8 cathode driver lines. If so, it can handle groups of up to 8 LEDs with cathodes connected.

You have 16 groups of 3 LEDs, with the cathodes connected in each group. One cathode driver line from your chip can handle two such groups, and you can have 8 of those, for a total of 16 groups. So yes, it should be possible. Of course you'll have to consider how the individual color LEDs are arranged within the overall 8x8 matrix and convert from your (X, Y, color) address to the chips (X, Y) address.

Another issue (again, need datasheet to know) is whether the chip can tolerate different forward voltages per LED, or different within a row or column, and what maximum voltage per LED it can drive. You may be able to compensate for the different voltage of the red, green, and blue LEDs with different series resistors, depending on whether the chip drives with current or voltage. See the datasheet for details.

\$\endgroup\$
8
  • 3
    \$\begingroup\$ You could always google "Max7219" and click the 1st or 2nd link if you wanted to be for sure. \$\endgroup\$
    – ACD
    Sep 9, 2014 at 13:53
  • 2
    \$\begingroup\$ @ACD: Of course I could, and if this was a question from a paying customer I would, and of course charge for the time. People asking for free help here should provide the necessary information in the question. No, I'm not going to do it for them. \$\endgroup\$ Sep 9, 2014 at 14:13
  • 7
    \$\begingroup\$ @OlinLathrop That's fine, if you don't like the way the question is formatted you are not forced to answer. That said I downvoted because this isn't a place to post "guess" answers or assumptions. \$\endgroup\$
    – ACD
    Sep 9, 2014 at 15:17
  • 1
    \$\begingroup\$ You do not need a datasheet to read that he has 4 cathodes which are common for entire row/column of 4 RGB LED groups. \$\endgroup\$
    – venny
    Sep 9, 2014 at 15:25
  • 2
    \$\begingroup\$ @Roh exactly, if there's no link you should either 1. move on 2. Post a comment saying you won't get a good answer without the datasheet link or 3. edit the question with a link yourself. What you shouldn't do is post something that isn't an answer as an answer. \$\endgroup\$
    – ACD
    Sep 9, 2014 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.