Fretboard prototype working

Let me explain what the Ukulele prototype is all about.
A long while ago I showed a breadboard with a bunch of leds that represented the fingerings of chords on a ukulele. Back then it was controlled through flash and java.

This time I took the measurements of a real ukulele’s fretboard and used a lasercutter to cut the shape of the fretboard and the holes for 3mm leds. I’m using a max7221 chip to drive the led matrix. Since this chip can only drive a 8×8 matrix (or so I think) and not a 16×4 I had to put rows 5 to 8 behind rows 1 to 4. I only used 6 colums in all rows. So row 1 and row 5 represent the frets of the first string and so on. It’s connected to an arduino (duemillanove).
I grabbed the schematics and library from the arduino site .
The sketch is reading from the serial port, and I’m sending 4 characters in hex representing the fretnumber for each string. Where a fret number is converted to the correct led.
So frets 1 to 6 on string 1 are led 1 to 6 on row 1, and frets 7 to 12 are less 1 to 6 on row 5..

ukefretboard_poster

I then started to build an html5 version of the wonderful Ukulele Playalong by my friend Marcel van der Zwet . It's certainly not ready yet but it has the basic functionality of showing the chords to a song. The chords are timed to a video on youtube, and I'm using popcorn.js trigger the chords a the correct time. The events are routed through a websocket to a helper application ( a simple Cocoa app at the moment) that in turn sends it to the serial port after which the arduino does the rest.

So next up is version 2: building a custom pcb with smd components so that I can actually mount it onto the neck of a (soon to be sacrificed) ukulele.
But that means I have to learn to work with software like Eagle and doing multilayered pcb's
which is all completely new to me. So I think this will take while....