When it comes to building a circuit to do this stuff I highly recommend getting a PCB built. I tried actually making a small prototype of this to test the concept before I spent money to get PCBs made, and it was ultimately a big waste of time. The connections are so numerous that in the time it takes to
hand wire something up you could get custom PCBs made, delivered, and populated. A high-quality fabricated board will also have a much better reliability than any hand wired job.
In creating the PCB I decided to go with a kind of modular approach. Knowing the space I had to work with inside the case was long and narrow, instead of getting a single PCB made that was a foot long and an inch wide, I decided to do it with modular short sections I could join. My motivation here extended beyond just this application though. Although the subject of this mod is the Deck, by going with a modular concept I could add USB controllable LEDs to other projects I'm working on.
To this end I drew up a schematic with the controller and the shift registers on separate PCBs. The sections are designed to connect end-to-end (overlap actually), whereby I can take a dual row header (2x6) and place it through both boards then solder the combination together. This allows a variable number of register/LED sections to be used with a single controller.
For small PCB designs like this I usually go with ExpressPCB. I have used them numerous times in the past and they always delivered high-quality boards. The design software can be downloaded free from their website, and their fabrication costs are reasonable. A zip file containing the actual PCB schematic/layout that I used can be found here. To read these the ExpressPCB software must be installed and the custom components (included in the zip) must be installed appropriately in the ExpressPCB directory tree.
Now I should mention a couple things about the schematic/layout. One thing a technically minded person might notice looking at the schematic is a certain lack of capacitors. Yes, it's true, I absentmindedly forgot to include the caps when I created the boards. A certain amount of bypass cap WILL be necessary to get the boards to work properly. In particular the USB 5V bus supply, the KA334 amp outputs (LEDVCC/2), and optionally the LEDVCC supply will need bypass cap on them. Since I had already fabricated the boards by the time I noticed this, I did a bit of sky-wiring in places to add in the caps. I forget the exact amount of cap I added, but I tried to put in a small electrolytic, and a small ceramic cap on each of those nodes.
The other thing is that the schematic contains just two parts, while the PCB has three parts. The difference is because an extra register board was placed on the PCB to get a higher ratio of register to controller boards.
Shown below are the fabricated boards that I got back. Since the solder-mask is not needed (the green coating PCBs usually have) I went with a no solder-mask option to save some money. A bandsaw was used to cut the PCB into the smaller component boards.
Once I got the PCBs separated, I went to work soldering the components and connecting the boards together. It took some time (several hours), but it was much faster than trying to hand-wire something similar.
Shown below I did a test fit using the bottom casing of the Deck (click for larger version). It barely fit in the "mod space", but it did fit, which was very good news! Shown far right is the controller board with a temporary USB cable wired in. The controller section has the JB8, the level shifter, the amp, and the interconnect resistors. On the left are the three and a half register boards I needed to get the required 14 registers. I cut the "half" register board using the bandsaw as I did not need the full 4 registers (good thing too, it wouldn't have fit). Black components are the 595s, while blue ones are the resistor arrays.
One modification I did on the resistor arrays had to do with the resistance value. Since I expected to pick up some amount of resistance through the 595 logic I changed the resistance from 60 ohms to 51 ohms. Each blue array chip has 8 parallel 51 ohm resistors. I did not make a current measurement, but I think I picked up less resistance than I expected so the currents came out a little bit higher than normal. This does not seem to have affected the LED brightness much if at all.
Since I wasn't sure if I would have to rework the board I didn't want to hard solder all 106 LED connections. Instead I decided to wire the connections as pluggable single-pin connectors. To do this I used a single-row of 90 degree header pins (shown along the top).
In order to get the PCB to fit into the "mod space" nicely it required some minor alterations to the Deck casing. On one side of the casing, under the leg used to prop up the back of the keyboard there were a couple protrusions. They appear to be for connecting a switch of some sort. For my purposes they were just in the way, so a bit of work with a Dremel tool, and the obstacles were gone.
The next thing to go were the plastic reinforcements running parallel to the ridge, they were going to get in the way of the wires running to the row of single pin connectors. So a bit more work with the dremel tool and they were gone.
The PCB was assembled and the casing was prepared, so the next step was to join the PCB to the keyboard. The first step was to mark out what I needed to do on the keyboard. For this I took the bottom of the Deck and marked off which LEDs would be connecting to a top register and which ones would be connecting to a bottom register. I also marked off where I would be cutting the backside traces to break the original 120 ohm connections. Using bits of packing tape and post-it notes (what else?) it looked like this:
The next step involved probably 12 hours of tedious cutting, crimping, soldering, and trimming. For each LED pair I cut the 120 ohm connection, measured, cut, and soldered wires to the top LED (colored red), and to the bottom LED (colored green), crimped and soldered single-pin connectors to each wire, and added a piece of heat-shrink tubing over the connector to keep it from shorting to adjacent wires (technical spec - the wires were 24ga. copper solid core, and the heat shrink was 3/64th inch dia.). Main power line connections were done with 18ga. solid core, and the USB connections were 22ga. solid core. The PCB itself was attached to the bottom of the Deck using double-sided foam sticky tape, with the component side facing outward.
After all that, the bottom of the keyboard looked like this:
Here is an edge shot and some closer shots:
This completed the bulk of the hardware build, with the remaining job of connecting up the USB. Unfortunately it was at this point the project took a bad turn. That's covered on the next page.