I also ordered a string of WS2812B LEDs to add backlighting to the keyboard. This proved fairly trivial to do.

The interfacing was just as trivial, since an Arduino library for the LEDs was available. Two rows of seven LEDs seem to have been good enough.

Probably need to find something better to diffuse the LEDs. Maybe some cheap frosted plastic sheeting might do to disperse those bright highlights. Also added Ctrl-Enter to toggle the backlight on and off, and perhaps I’ll add a Fn-lock that will change the colour of the LEDs (or perhaps light up a strategically-placed one). I’m running out of GPIO pins if I also want to interface some kind of pointing device and its buttons.
I suppose one way we could help with reducing the number of GPIO pins would be to use a shift register like a CD4021 (famously used in the classic NES controller) or a 74xx165. Might be worth trying to use these to compress the column inputs into just 3 pins.
Leave a comment