I am looking to build a 3x3 RGB LED matrix with individually addressable LEDs as a form of user interface.

I do already have a micro controller available but want to use it only as high level controller, i.e. to either have it trigger a pre-stored lighting routine or sending a low-volume bit string that contains the information regarding the routine. A routine will run until the mc sends a new command, a sort of fire-and-forget setup.

By routine I mean for example one lit up led "running" in circles, or certain leds blinking with a certain frequency. Ideally fading animations would be possible -> high frequency of led value changes.

So now I am wondering what kind of ICs may already exist that would aid me in this endeavor. I have seen circuits using shift registers and the like, but not only do they use a lot of GPIOs, they also require the mc to constantly change GPIO outputs in order to produce animations.

I would like to delegate this to a dedicated chip and before I go building my own I would like to see what is already available.

So, if anyone has experience with this beyond what a simple google search would return (tried that😉), I would be grateful!

  • \$\begingroup\$ Please re-visit What topics can I ask about here?: what components already exist is close to shopping or buying recommendation. Spell out how this is not a request for help in selecting an offering. Have a look at the "Related" list on this page. \$\endgroup\$
    – greybeard
    May 20 at 12:55

1 Answer 1


3x3 matrix = 9 LEDs; 9 RGB LEDs, 9 x 3 = 27 individual control lines... what a mess!

As you said, you are aware of the shift-registers and the like (e.g., latches).

The constraints of your question (simplicity) points to only one option: individually addressable LEDs. This is the expression that you should search for. Note that it's forbidden here in EESE to recommend devices; I'm only saying the name of the technology that meets your needings.

This is a trivial solution: all LED's are connected to only one data line, in a cascade connection: the uC connects to the first LED "data in"; "data out" of the first LED connects to "data in" of the second LED; "data out" of the second LED to "data in" of the third LED, and so on.

The uC will issue instructions for the color and brightness of each of the LEDs, and each LED will change its color and brightness according the especific instructions for that LED.

Individually addressable LEDs connection

I do already micro controller available but want to use it only as high level controller

For this part, you can use another uC just for control of the LEDs (the LED's uC receives the command from the main uC and drives the cascade of LEDs), or the main uC can control the cascade of LEDs itself.


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.