I realize that driving an 8x8 RGB matrix seems to be a common thing. I've read through a number of threads, blog posts, and articles, and I still have quite a few questions / am kind of overwhelmed.
It seems that using some kinds of shift registers or LED drivers is a common way to drive an RGB matrix.
What I would like to do doesn't seem like a corner case. I would like to build an 8 x 8 RGB LED matrix. I am aiming for the matrix to be able to produce 24 bit colour per 'pixel' (8 bits per 'subpixel').
I don't work electronics like that very often, and this is kind of a challenge for me.
I am planning on making the matrix (connecting the RGB LEDs), so the LEDs could be either common anode, or cathode (right now I think they would be common anode).
Can some one please recommend an approach to driving a matrix like the one described above?
Also, the MY9221 apparently does something called 'Adaptive Pulse Density Modulation(APDM)'. I am not certain what that is (I am guessing it is similar to PDM). Does anyone know if there's an advantage to PDM over PWM?
Thanks for reading, and thank you in advance for any replies / input.
An other approach is to forget the matrix idea and use shift registers directly:- http://www.elcojacobs.com/shiftpwm/
Although you will need 24 shift registers to make that work.
However a lot depends on what you want to use the resulting display for. That is how much time you need in addition to that needed to do the multiplexing.
I think I know what I would like to do (or a general idea). I think I am going to use a Maple as the controller (an ARM cortex-m3 development board), which offers among many things, 39 digital inputs / outputs, and 15 PWM outputs, and drive either some transistors or something to provide more power. That should keep things a bit more 'simple', I think. Also, that would not come with the same overhead as driving shift registers, or LED drivers (that overhead might be pretty negligible, though). Using such a controller is probably over-kill, but I would like to try it.
I am trying to work on a monome clone.
I saw your build of the mini monome, which I found very informative; thank you.
Is there a reason you used FETs over something like darlington pair transistors?
Noob myself here, but I have been reading up a lot on this stuff lately.
If you're doing a big matrix, I think you can pass on ShiftPWM and Arduino's PWM. Your PWM would have to be synchronized with your row/column scanning. I've done it myself with a 3x3 red matrix, but am not sure how big it'll scale before blinking too much.