Adding LEDs to Poker II

User avatar
flabbergast

28 May 2015, 12:01

I know that this has been documented at a couple of places already, but I learned something I wasn't able to discern from the internets while I was doing it, so I wanted to share here.

Image

So here it goes: I wanted to add LEDs to a stock non-backlit Poker II. The good things are that it apparently only requires actual soldering of the LEDs to the PCB, and there is no difference in PCB and firmware between the officially backlit and non-backlit Pokers. Of course the keycaps are non-see-through, PBT ones.

First thing that wasn't clear from the nets is the forward voltage requirement for the diodes (some say 3V at least, which rules out red, yellow, orange and green LEDs). I measured the resistors that the Poker II came with, and they are 550 Ohms. That's quite enough for any LED, as this only lets 2mA - 4mA of current flow through each LED. This also means that the total consumption for all the LEDs is at most cca 250mA, which leaves a lot (250mA) for the controller (if we stick with the official USB 2.0 allowed current of 500mA). LED calculator http://led.linear1.org/1led.wiz, with source voltage 5V.

Now I also measured the resistors on KBT Pure, and they are only 100 Ohms. That would result in 30mA of current through a 2V-drop diode and 20mA through a 3V-drop diode. Now most diodes I've seen have "20mA usual, 30mA absolute max" for the current flowing through them. So it does make sense to only use LEDs with 3V voltage drop on the Pure (meaning white or blue LEDs). However if each diode takes 20mA, the total consumption for the board would be way out of USB 2.0 spec, so I don't know how they do it - maybe they limit the current in another way than resistors (e.g. the LED controller could alternate between LEDs so that they are not all turned on at the same time). I would appreciate if someone could explain this to me.

The second issue with adding LEDs is the actual soldering, because the manufacturers apparently like to plug the empty pads for LEDs with solder. So one needs to remove the solder from the pads before LEDs could be inserted. I started with a solder wick, but that was really painful - each hole took a long time, and a lot of extra solder. Also the lead-free solder they use is more annoying to deal with than the regular poisonous leaded solder.

So after searching the internets again, I learned a trick that was really useful for me: Just take a sewing pin, heat the solder on/in a plugged pad/hole until it melts and then push the pin through the hole from the other side (as the LED would go). The pin is (usually) steel, so the solder doesn't stick to it, so one can just slide the pin back and voila - there's a nice hole.

That's all, folks.

User avatar
Mal-2

28 May 2015, 12:45

flabbergast wrote: Now I also measured the resistors on KBT Pure, and they are only 100 Ohms. That would result in 30mA of current through a 2V-drop diode and 20mA through a 3V-drop diode. Now most diodes I've seen have "20mA usual, 30mA absolute max" for the current flowing through them. So it does make sense to only use LEDs with 3V voltage drop on the Pure (meaning white or blue LEDs). However if each diode takes 20mA, the total consumption for the board would be way out of USB 2.0 spec, so I don't know how they do it - maybe they limit the current in another way than resistors (e.g. the LED controller could alternate between LEDs so that they are not all turned on at the same time). I would appreciate if someone could explain this to me.
Multiplexing.

User avatar
flabbergast

28 May 2015, 12:53

Mal-2 wrote:
flabbergast wrote: ... (e.g. the LED controller could alternate between LEDs so that they are not all turned on at the same time). ...
Multiplexing.
Thanks. That's kind of what I had in mind when I wrote the above - but it just seems pointlessly complicated to do if all that one wants to achieve is to have lots of LEDs on or off at the same time - larger resistors and having all the LEDs in parallel (like the Poker) is way easier.

It would only make sense to multiplex if they want to control each LED individually - which I haven't heard that the KBT Pure firmware does that.

User avatar
chzel

28 May 2015, 16:13

Muxing is used because it helps to keep the average current low.
You are using a small current for each LED for a tiny bit, and then move to the next for a tiny bit and so on. So ultimately you are using a small current over time.
Even if USB allows for 500mA, it would be crazy for a keyboard to need it. Imagine the impact it would have when plugged in a laptop...

User avatar
flabbergast

28 May 2015, 16:52

OK - you got me curious.

Poker II does not mux (I looked at the way it is wired, and it's really just all the LEDs in parallel, with one end in the ground, the other at a transistor), so either all LEDs are consuming current, or they're not. The point is that there's a hefty capacitor nearby which smoothes out the current (so that the USB port does not see the square wave they use for dimming, but something much flatter). I suppose if you have too many LEDs (like RGB) than muxing helps so that the cap doesn't have to do so much work ...

Anyway, I measured the consumption of a Poker II (approximate):
- no backlight: 20mA
- with backlight, from the dimmest to the brightest: 22mA, 25mA, 32mA, 43mA, 65mA, 105mA, 190mA (no kidding!)
So yea, it's quite a load on the brightest mode ;)

EDIT: I couldn't resist measuring also KBT Pure (no backlight):
vanilla: 5.7mA, CapsLock LED on: 7.3mA, 4 LEDs under RShift, RAlt, RGUI, RCtrl on: 27mA

Post Reply

Return to “Workshop”