3

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?

naught101
  • 630
  • 3
  • 11
  • 20
  • 1
    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.) – MarkU Sep 10 '14 at 00:54
  • @MarkU: They look very handy :) But they seem to only come in TQFN, which is a bit beyond me at the moment :/ – naught101 Sep 10 '14 at 01:16
  • 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 ... – Evgeny Mar 23 '16 at 11:11

2 Answers2

3

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

naught101
  • 630
  • 3
  • 11
  • 20
venny
  • 3,058
  • 13
  • 16
  • 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. – naught101 Sep 09 '14 at 23:23
  • 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. – naught101 Sep 09 '14 at 23:56
  • 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. – Evgeny Mar 22 '16 at 20:01
-3

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.

Olin Lathrop
  • 310,974
  • 36
  • 428
  • 915
  • 3
    You could always google "Max7219" and click the 1st or 2nd link if you wanted to be for sure. – ACD Sep 09 '14 at 13:53
  • Added the datasheet link to the question. – naught101 Sep 09 '14 at 13:53
  • 2
    @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. – Olin Lathrop Sep 09 '14 at 14:13
  • 7
    @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. – ACD Sep 09 '14 at 15:17
  • 1
    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. – venny Sep 09 '14 at 15:25
  • @ACD I'm agree with you that Olin are not forced to answer but on the other hand I'm agree with olin that he/she should provide a link to the component. Olin have just tried to help the OP. then +1 for him. Olin, he/she has been provided a link to MAX7219 – Roh Sep 09 '14 at 15:27
  • 2
    @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. – ACD Sep 09 '14 at 15:29
  • @ACD All guys should learn that how to ask a question. there are many pages about "how to ask a quastion"! for instance: www.catb.org/esr/faqs/smart-questions.html – Roh Sep 09 '14 at 15:43