Author Topic: Ways to drive led matrices?  (Read 2463 times)

0 Members and 1 Guest are viewing this topic.

Offline aqwsdezx

  • Thread Starter
  • Posts: 2
  • Location: Netherlands
Ways to drive led matrices?
« on: Fri, 31 July 2020, 08:59:09 »
I am attempting to design my own custom PCB for a TKL layout with 12 extra macro buttons to the left. In total it will require 100 rgb leds. I think I'm gonna use the at90usb1287 (48 GPIO pins) but it's up for change.

My keyboard matrix, with some space saving hacks, I calculated to take up 17 cols + 6 rows = 23 pins. That leaves 25 pins to address 100 common anode rgb leds.

For reference, here is the layout: https://imgur.com/a/zRkqr6M

The matrix has 1 column less because I managed to squeeze the navcluster + bottom right modifiers into 2 cols.

Since each color of each led triplet should be individually addressable, we're really dealing with 300 outputs.

So far, I have looked at 1:16 demuxers but that would still take up too many pins. Big Demuxers, of 128 and larger I'm not able to find for a reasonable price. I also wasn't able to find shift registers which do pwm, and chaining them would cause too much delay anyway.

Are there chips that do this? And what are they called? I tried searching for "RGB LED driver" but all I could find were those sh*tty led strips, or those smd rgbs with built in controller. How do other boards do this?
« Last Edit: Fri, 31 July 2020, 09:28:55 by aqwsdezx »

Offline fpazos

  • Posts: 166
Re: Ways to drive led matrices?
« Reply #1 on: Fri, 31 July 2020, 11:12:27 »
You are trying to use common rgb leds while you should be using addressable leds such as the WS2812 or other models.

These use a data input and output and you can individualy programm the leds using only one output of the controller that sends the data.

These leds receive the datachain. Take one byte of the data wich tells them to wich color to change and send the rest to the other leds.

At least that would be what I use. Creating a pcb for common rgb leds sounds quite complex.
« Last Edit: Fri, 31 July 2020, 13:50:54 by fpazos »
 

Offline coarse

  • * Maker
  • Posts: 37
    • Coarse Keys
Re: Ways to drive led matrices?
« Reply #2 on: Fri, 31 July 2020, 12:20:25 »
youll want to use an led driver to drive the rgb matrix. you can look at the is31fl3731 or is31fl3733

Offline gipetto

  • Posts: 91
Re: Ways to drive led matrices?
« Reply #3 on: Fri, 31 July 2020, 12:54:21 »
youll want to use an led driver to drive the rgb matrix. you can look at the is31fl3731 or is31fl3733
really you should be checking the qmk docs first to see what's supported.
https://docs.qmk.fm/#/feature_rgb_matrix

Offline aqwsdezx

  • Thread Starter
  • Posts: 2
  • Location: Netherlands
Re: Ways to drive led matrices?
« Reply #4 on: Fri, 31 July 2020, 14:12:17 »
youll want to use an led driver to drive the rgb matrix. you can look at the is31fl3731 or is31fl3733
Thanks, I will be taking a look at these.

You are trying to use common rgb leds while you should be using addressable leds such as the WS2812 or other models.

These use a data input and output and you can individualy programm the leds using only one output of the controller that sends the data.

These leds receive the datachain. Take one byte of the data wich tells them to wich color to change and send the rest to the other leds.

At least that would be what I use. Creating a pcb for common rgb leds sounds quite complex.
That sounds pretty good. I looked at some videos and I'm really excited. A bit scared of the passive current draw though, USB 2.0 only allows so much current.

youll want to use an led driver to drive the rgb matrix. you can look at the is31fl3731 or is31fl3733
really you should be checking the qmk docs first to see what's supported.
https://docs.qmk.fm/#/feature_rgb_matrix

I'm not worried about qmk, I will be rolling my own firmware.