Yet another LED matrix question

Hey there!

I have an 24x8 matrix which is not wired yet. I have been thinking about what would be "the best" (TM) possible method to hook this thing up, since there are quite a lot of ways to do so (like shift registers, MAX7219, TLC5940, ...). Maybe someone likes to share some insight on what is easier when it comes to programming and so on.

Greetings, V

3 x max7219. Each chip drives an 8x8 section of the matrix. Daisy-chain the 3 chips, only 3 Arduino pins needed. Each chip will need a resistor to set the led current and 2 caps.

That's probably the easiest way.

But how do you need to drive the LEDs? Are they single colour of RGB? Do you need to dim the display overall or dim each led independently?

There are no requirements on how I have to solder the LEDs or anything. Also, I don't have a problem when the hardeware side of things gets a little more complicated. Dimming (either way) would be nice (but is not a must have) but as far as I can remember, only the TLC is capable of PWM, right? After all, I am worried that programming might get really messy, especially when it comes to animations.

Max7219 has 16 dimming levels for the matrix as a whole. You can't dim individual leds, only switch them on/off.

Tlc5940 has 4,000 dimming levels and each individual led can be individually dimmed. But the thing is, each tlc chip, used by itself, can only control 16 LEDs, versus 64 LEDs with the max chip. So you would need 12 tlc chips in total rather than 3 max chips. Unless, that is, you use the tlc chips as part of a multiplexing circuit. If you do that, you probably only need 2 tlc chips, plus some kind of chip to drive the anodes such as mic5891. But this will make the software side more complex. The Arduino would have to run the multiplexing as well as handling the animations. That's all perfectly possible, but harder for a beginner. By contrast, the max chips take care of the multiplexing themselves, leaving the Arduino free to handle the animation.

only the TLC is capable of PWM, right?

A better option if you go down that route is the PCA9685, unlike the TLC chip it is a set and forget system, so requires much less software interaction. It still only controls 16 LEDs per chip but it is I2C with six address setting lines so you can have up to 64 chips on the I2C bus without resorting to tricks. You can get the chips on a break out board or solder the bare chip onto a carrier, like here:-