So I've wanted to know was a fully addressable backlit keyboard would be like for quite a while. That wouldn't be too much trouble to make but I primarily use a Kinesis Advantage Contoured keyboard which adds some headaches as they aren't built for backlighting, plus they have diodes built-in so drilling a hole in the motherboard and passing thought an LED wasn't really an option, plus they have the thick plastic over the board...more reasons...more reasons, etc.
Anyway I finally got around to doing it. And I'm pretty happy with the results.
I had an extra Kinesis keyboard lying around that was ps2, was white, I had already pretty messed it up and had gotten gross over the years and years and turned yellow (not sure exactly what did this but I digress). So I did a few things. I painted the keycaps which turned out really well. I spray painted the case just to see if it would look better. Side note, it does but not amazing as it is still pretty banged up.
Just a few things to mention. I don't really care about this keyboard it is in very bad shape so I wasn't too concerned with messing it up and I will probably just scrap it for parts soon so take care if you do something similar as it is easy to mess up as you are soldering while navigating and moving wires precisely.
So here is how I did this (and yes I am sure there is a better way).
1. Take your LEDs. Bend them once with a set of needle nose pliers, then again, then cut them which should form a "J" as shown in my photos. Then put them through top part of the the LED slot. and out the front of the LED. Then Pull each lead tight (to make sure it won't touch the diode below. You also need to make sure they are not touching the black plastic but not sticking too far up. If they touch the plastic you will melt it (which is okay I guess but smells crappy and looks worse). If they are very high at all they will touch the key and mess that up. It is a really fine balance. This took just short of ages as getting the angle just right was so hard and plus it would change because of the way the kinesis is curved (It doesn't seem like it should since the keycaps are the same but it is different for each key). MAKE Sure you put every LED in the same way as after you solder them in they are very hard to replace and you will likely melt or break the thin area there and it makes it much much harder to fix.
2. I took wires in a grid and ran them by hand vertically on the left side of the keys. You need to solder the last LED first so you can stabilize the wire. You have to really be careful to make sure they are low enough to not mess of the keycaps. I have a photo showing how I did this for the left LED pins vertically on the board. For the right pins I ran horizontal and they were the most difficult. After several tests I figured the best way is to solder the last pin then to run the wires first bending them. Also I had to use fairly thick wire as anything thinner would not stay in place when bending, especially with the horizontal wires. This also takes a fair bit of time but now that I think about it for me it was more the time to figure out the best method and the right size wire than the actual work so it probably won't take that long.
3. Solder each row of the horizontal wires between the two hands so that you have a continuous rectangle of rows and columns.
4. For powering and controlling the LEDs I used a colordunio. I can power 64RGB leds or 192 single color ones. This is a full ardunio and the simplest way I have found to power and control matrixes of LEDs. You can get it as low as $10 sometimes but it is usually around $20. It is a full arduino and you can chain them together so you can power more lights. It supports I2C for being driven and can separately drive other colordunios itself using separate output. I used an FTDI controller ($3) so that I could plug in via USB and control it via my computer but you can also control it via another arduino or you can run the arduino sketch directly on itself because it is a full arduino.
5. This should easily fit inside the case (under where the palms rest) but I didn't bother as I am not keeping it together.
I have some videos showing it doing a few random patterns. Plus a few photos of turning specific keys on. It is fully programmable so you could have it display your tweets as a giant scrolling LED board if you want.
I didn't add lights to the thumb pads but it was because I couldn't find transparent keycaps for those keys. The keyboard looks amazing with the semi-transparent keycaps and the video and photos really don't do it justice. I really am interested in making the ergodox backlight and full programmable hopefully with RGB surface mount leds but I'm not sure I will get around to it. I like the idea of multiple surface mount LEDs as they will fully light up the entire key. I would like to do lots of PC interaction such as display when I have new mails/notifications or my long compiles are complete etc. Or CPU disk performance with changing brightness or using the number keys as a bar graph, etc.
Also you could add many many more leds to the case to show status. Plus you could have the colorduino be the usb controller itself if you wanted it to as there is arduino code to support it being a hub keyboard.
Here are my videos and photos. I just did a couple of them to show that that it was indeed addressable:
Finished:
Links:
Colordunio code for setting colors. (C++ libraries as well as arduio sketches and examples).
ttps://github.com/lincomatic/Colorduino
Neat colorduio videos:
Random images:
(horrible prototype which I used wirewrapping to test if it was even viable (oh you can see my Oculus Rift case in the background too.
).
My dogs wishing I would take them out instead of wasting time with this stupid project.