Fretboard design generator

1 Dec 2017

Tags: cad, cnc routing, fretboard, javascript, laser cutting, maker, open source

Fretboard layouts are one of the more fiddly bits of building a guitar. Even if you’re using CNC machinery as part of your workflow, taking the output of a fret spacing calculator and entering it into your design tool is very tedious.

For my first fretboard, I found an existing design file at the right scale length, but now someone has asked me about a baritone neck, so I was back to square one. Being both lazy and a software engineer, I decided to automate the generation of design files into a simple webpage, which you can access here.

A screenshot of a fretboard editor in a browser. Shows a diagram of a fretboard, and controls that let you set things like scale-length, how many frets, inlays etc.

It’s (hopefully) simple to use: you enter the details of the neck you want such as the scale length, the number of frets and so forth, you get a preview of you fretboard along with the positions in a table for you to confirm it is what you want, and then you can export the design as SVG or DXF. This means you can import it into most design and CAM software for final tweaking and then to production. Here you can see one imported into the tool I use for driving the laser cutters at Makespace:

A fretboard designed loaded into the LaserCut software for a laser-cutter.

At Electric Flapjack Guitars we’re a big believer in contributing back to the luthier community that continues to help us out, so this tool is open source for others to play with and contribute to. The tool was mostly created using MakerJS, a nice Javascript library from Microsoft that is targetted at people trying to make it easy to generate designs for the kit you find in maker spaces programatically. The library isn’t perfect, for example it won’t generate polylines in DXF, so you still need to close them in whatever other design tool you use if you pick that option, but overall it made it nice as easy to create this tool.

A tip of the hat to Matt of the awesome Fidelity Guitars who gave me some feedback on this to help improve it!