8x8 RGB LED Matrix With PWM (Or Similar)

Hi,

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').

Some methods I've seen so far are:

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.

What I would like to do doesn't seem like a corner case.

It is not, but it is not trivial either you are trying to control 192 LEDs.

There are many ways to do this, this is one approach I used:- http://www.thebox.myzen.co.uk/Hardware/Hexome.html

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.

Thank you for the reply, Mike,

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?

Thank you for your help, so far.

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.

I suspect your best best would be the TLC5940's.

Is there a reason you used FETs over something like darlington pair transistors?

You don't loose as much voltage through a FET as you do through transistors.

I am trying to work on a monome clone. I saw your build of the mini monome,

Did you see my other monome project:- http://www.thebox.myzen.co.uk/Hardware/Econo_Monome.html That is more conventional.

Good luck.

Hi,

thank you for the information, johnnycanuck, and mike.

It seems like the TLC5940 is a commonly used driver for monome-like applications.

I might try using shift registers or drivers some time. It would probably be a good learning experience.

I didn't see your Econo Monome project. Thank you for the link.

Maybe I'll try it with shiftPWM.

Thank you for the 'good luck'; the hardware part is not exactly something I am very familiar with.