As mentioned at the end of my last post it was now time to finally get some frets into the neck. While usually not such a big deal, the plan was to put a fret-scanner in, which made this task “slightly” more complicated.

There’s two main ways to accomplish fret-scanning. The first one views the strings and the frets as a 2D-matrix, where you send time-multiplexed pulses down the strings and pick them up at the frets. The advantage of this is, that you have to do less wiring (one wire per fret), but you do need to isolate the strings from ground, which I found a bit problematic to achieve. There’s also issues regarding electric interference from the pulses.

The second approach is to divide the frets into 6 isolated segments. This means a lot of mechanical work and a lot of wiring, but the detection circuit is much simpler. Each MCU input is programmed with an internal pull-up resistor, and then you just have to watch for the voltage to drop to zero as the string touches the fret.

Here’s the first few fretlets, as I decided to call these fret segments:

Each has a wire soldered to it that pokes out at the back of the neck

Bringing all these wires (6 x 19 = 114!) to a centralized location wouldn’t work of course, so instead I installed little MCUs right into the back of the neck, one per fret. This, again, was cut with the CNC, using a very small endmill:

There was a limit to how far I could use the CNC though. Taking the curvature of the neck into account would have required a precise scan, and preferably also an additional axis to tilt either the guitar or the toolhead. I wasn’t quite willing to run an extra loop of figuring all this out, so I decided to carve the channels from the MCU to the fretlets with a manual tool.

And here with a chip wired up:

Needless to say that all this carving took a long long time…

…and got complicated at the neck-body joint:

Also had to install some spring-loaded pin-headers to connect to the body electronics.

The individual MCUs are all connected by a daisy-chained SPI bus. The overall update frequency is about 1kHz.

The chips and wire-channels will eventually be covered with clear shellac, but I’ll wait with this until I’m absolutely sure that I won’t have to re-program the MCUs again. So far the detection seems to work quite well though