The second issue I face iwas: if I power the red led, the others don't light up, as if the red is stealing current.
You are right, I don't put in resistors to limit the current, but if that helps I have a lot of them lying around... I thought my matrix has its own resistors for each row, because the datasheet says something about "5V ReverseVoltage"... but If you say that I should insert them I'll do it.I guess 8 330 OHM Resistors on the anode part will do it?
My main problem is now how to get different colors for each row. How to get around the need of using 24 PWM pins?
$6 for a 8x8 RGB matrix is incredibly cheap. Can you share me the link for that?
The red LEDs might need a bigger resistor because they need less volts. If you use the same on all three colors the red will be brighter than the other two.
There's no way around that with one of those matrices. You'll need 2x TLC5940 or something like that. The TLC5940 has built-in current regulation, too, so you won't need resistors.
so you mean putting resistors at the 8 anodes is wrong, and I should use a proper resistor for each color?
The datasheet gives me no information about the different led colors, and how much they source. I guess I'll have to find that out myself.
They only way I can think of saving pwm pins, is multiplexing each pixel inside the matrix. Is the Arduino MEGA capable of doing so in terms of speed?
maybe, but why bother?You'll have to add external shift registers to be able to connect 24 LEDs to an Arduino so why not use shift registers with built-in PWM and constant-current control? (ie. TLC5940 or similar)
Hmm the TLC5940 is hard to get in germany. It is also very expensive, because 1 has the price of one of my matrices, and I'll need two of them for each. Isn't there a cheap chinese replacement $)