• Save 15% on ALL SFF Network merch, until Dec 31st! Use code SFF2024 at checkout. Click here!

Stalled Iris 16 - RGB Vandal Button

CC Ricers

Shrink Ray Wielder
Bronze Supporter
Nov 1, 2015
2,234
2,557
Effectively it sounds like a chaser pattern but done as quickly as possible for persistent vision.

Do you think letting the user choose between high refresh frequency and colour variety could help? So you could choose between 50Hz & 24-bit, 75Hz & 18-bit and 100Hz & 12-bit colour?

This appears to depend on how limited you are on bandwidth, and your bus protocol. 50hz x 24 bits x 2 LEDs (as you said you can drive 2 at a time) equals 2400 bits per second. I wonder if you can easily double the data rate to 4800 bits per second, so you don't sacrifice bit depth for a higher refresh rate.
 
Last edited:

PNP

Airflow Optimizer
Oct 10, 2015
285
257
50Hz should be perfectly acceptable for a 'full persistence' LED indicator. It was acceptable for pulse-illuminated CRTs all over Europe (PAL on 50Hz line frequency).

There is also a reason CRTs that operated at mains frequency were considered low quality/cheap. But since the on-board controller will be re-programmable, it's a non-issue.

Ah yes, good point about the animation speed. I wonder what sort of limits RGB keyboards have in that regard.

It depends on how good you are at squeezing out performance I guess.

The RYOS MK PRO had an unspecified 32-bit ARM processor (I guess something from the Cortex-M series) dedicated just to lighting control, the original K70 RGB (the one that came with the Corsair tramp stamp) used a Panasonic controller but experienced flickering in full color depth mode. And yet the Ducky Shine 5 can do everything the former two can do with just one ARM M3 for both input and lighting.
 
Last edited:
  • Like
Reactions: 3lfk1ng

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
This appears to depend on how limited you are on bandwidth, and your bus protocol. 50hz x 24 bits x 2 LEDs (as you said you can drive 2 at a time) equals 2400 bits per second. I wonder if you can easily double the data rate to 4800 bits per second, so you don't sacrifice bit depth for a higher refresh rate.

We will see how far I can push it. The problem is that I need a few cycles for reading out the HDD LED and USB interrupts and responding to them as well, but when using BAM instead of PWM, I could easily use the time it takes for the last few bits to pass to do that job, and as the controller has built-in USB, I don't need too much time for handling communication there either.

It depends on how good you are at squeezing out performance I guess.

The RYOS MK PRO had an unspecified 32-bit ARM processor (I guess something from the Cortex-M series) dedicated just to lighting control, the original K70 RGB (the one that came with the Corsair tramp stamp) used a Panasonic controller but experienced flickering in full color depth mode. And yet the Ducky Shine 5 can do everything the former two can do with just one ARM M3 for both input and lighting.

Damn, Ducky really optimised the hell out of that, huh? I mean, that board is full-sized with about 110 keys, so they have to drive about 330 LEDs and scan a key-matrix with 5 rows and about 20 columns a few times per second. It seems they are using MX Red RGB switches, so they don't need through-hole LEDs with drivers for each one but can use intelligent SMD LEDs like the WS2812. Still impressive.
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
How small do you think you could feasibly make the vandal switch package?

So I checked my model and right now it looks like the switch will have to be at least 15mm long, measured from the outside of the panel it is installed in. So with a 2mm thick panel, it will stick out 13mm. On the S4 Mini it would only stick out by 9mm (5mm wrap-around bezel, 1mm frame), so the biggest microUSB plugs will just about fit. Seems like a perfect length to me, maximum supported thickness for panels will then be about 7mm. It could be that I have to make it 1mm longer, but I can't say for sure right now.
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
Assuming that there is a point to the 1000hz polling rate i'd guess that it scans the key-matrix much more than "a few times" per second :p

Well the point is that they can claim the maximum delay to be 1ms. Which of course isn't the entire truth, but it's pretty close. Yeah "a few" might've been a slight understatement. ;)
 

MarcParis

Spatial Philosopher
Apr 1, 2016
3,672
2,786
I mean in nfc s4 mini, normal depth/length power button could be a chalenge to put.
Without front bezel of 5mm thick, gpu cooling is far above, however power button has to be even shorter to fit...I've just broken my button, trying to force it in position.
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
I mean in nfc s4 mini, normal depth/length power button could be a chalenge to put.
Without front bezel of 5mm thick, gpu cooling is far above, however power button has to be even shorter to fit...I've just broken my button, trying to force it in position.

Your button has it's connectors on the end, though, right? With my button, the connectors are on the side, so if the button fits, you'll get the cabling to fit as well.

I'm actually worried about making the button too short. The nut that holds it in place takes a bit of space as well, so with a wrap-around panel of 5mm, inner panel of 1mm and the nut of about 3-4mm, there's only something like 7mm left for the USB cable, and the smaller micro-usb cables have a 6.5mm tall connector. Normally they can be up to 8.5mm. Not a lot of space to play with there.
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
Once I received low profile version, I'll make some picture for sure.

Great, I'm interested to see them! Would you mind sharing where you got the low-profile version from?

Small Update:

Today I've managed to improve the concept of the LED control significantly!

To recall, the concept previously was to always control two LEDs at a time with BAM and do that for all 18 sets of LEDs 50 times a second, or more. This was limited by the maximum power dissipation of each RGB LED. So per package, I could only turn on one LED at a time.

I've reworked the design to link LEDs together in a fabric-like pattern, so now I can run 5-6 LEDs at a time with each one sitting in a separate package, depending on how many cathodes are connected to the pin that is acting as GND that step. So now I have 7 sets of LEDs instead of 18, which means the maximum brightness and potential refresh rate have been more than doubled!
It does look like this new layout will require four layers instead of two, though, so now I'll have to choose a new CAD program for layouting the PCB.

If anyone wants to recommend a good piece of software for that, go right ahead!
 
  • Like
Reactions: Phuncz

hardcore_gamer

electronbender
Aug 10, 2016
151
125
Great, I'm interested to see them! Would you mind sharing where you got the low-profile version from?

Small Update:

Today I've managed to improve the concept of the LED control significantly!

To recall, the concept previously was to always control two LEDs at a time with BAM and do that for all 18 sets of LEDs 50 times a second, or more. This was limited by the maximum power dissipation of each RGB LED. So per package, I could only turn on one LED at a time.

I've reworked the design to link LEDs together in a fabric-like pattern, so now I can run 5-6 LEDs at a time with each one sitting in a separate package, depending on how many cathodes are connected to the pin that is acting as GND that step. So now I have 7 sets of LEDs instead of 18, which means the maximum brightness and potential refresh rate have been more than doubled!
It does look like this new layout will require four layers instead of two, though, so now I'll have to choose a new CAD program for layouting the PCB.

If anyone wants to recommend a good piece of software for that, go right ahead!

I use Cadence Allegro and Altium Designer. Both are good options for professional grade PCB design.
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
I use Cadence Allegro and Altium Designer. Both are good options for professional grade PCB design.

Thanks for the suggestion! You have to call their sales department to buy either of those, sooo... am I right to assume that they will cost something like a few thousand bucks a year? Seriously considering going with Circuit Studio. Less than a thousand, is a perpetual license and seems to have everything I need, including STEP export. It looks like eagles commercial permium license is a little cheaper, but it limits me in board size and layers, and looking at the workflows for panelisation and Pick&Place text file output, it seems like Circuit Studio is much more fleshed out.

EDIT: Apparently, Panelisation is only in Altium designer, not Circuit Studio. Goddamnit.
 

hardcore_gamer

electronbender
Aug 10, 2016
151
125
Thanks for the suggestion! You have to call their sales department to buy either of those, sooo... am I right to assume that they will cost something like a few thousand bucks a year? Seriously considering going with Circuit Studio. Less than a thousand, is a perpetual license and seems to have everything I need, including STEP export. It looks like eagles commercial permium license is a little cheaper, but it limits me in board size and layers, and looking at the workflows for panelisation and Pick&Place text file output, it seems like Circuit Studio is much more fleshed out.

EDIT: Apparently, Panelisation is only in Altium designer, not Circuit Studio. Goddamnit.

Sorry, I didn't think about standalone license costs of the tools I suggested. We get Allegro license for free because we use Cadence's expensive tools for silicon design. Also, there's a cost effective private license server option for Altium for relatively large number of users.

I'll talk to our full time layout engineer for cheaper alternatives that meet your requirements and post to this thread tomorrow.