I made a simple LED matrix with shift registers in both row and col(anode and cathode). Now I want to build a 8x8 RGB PWM matrix so that I can control the color of each LED in the matrix.

One thing I'm struggling with is which IC to use on the cathode end. Previously, I simply added another 74HC595 and simply set row(cathode) that I wanted to light up and set RCLK. I was hoping to use the same approach, but I'm not so sure with the PWM.

I also considered using another TLC5947 but I don't think it works as source current?

EDIT: the micro controller I'm using is atmega32u4 at 16Mhz

  • \$\begingroup\$ You could use the OE (output enable) input to modulate the LED intensity with the PWM signal. \$\endgroup\$
    – user59864
    Jun 21, 2017 at 14:26

1 Answer 1


I commend your ambition, but not your choice of projects (at your apparent level of knowledge). What you need to do is apply a PWM which varies depending on the row which is selected.

In principle this is pretty straightforward, but it's not easy. You would make 8 PWM generators, one for each column, and when you select each row you would load the appropriate PWM control value into each generator. Maybe you can go to this website:electronic parts

As you might guess, this will take considerable hardware. While it's true that some MCUs generate PWM outputs, I can't think of any with 8 such outputs. A compact solution would be to use an FPGA to do the job.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.