If you're a regular visitor here at ProjectGuitar.com you may have caught our four-part series on using a compact desktop CNC milling machine and its application in lutherie. In the first instalment it was mentioned that a CNC is ideal for applications where precision and flexibility is required. One of which was milling fret slots in a fretboard blank, where positioning of the fret slots is crucial to the accuracy at which the resulting instrument can intonate, particularly in the higher registers where a small error in fret placement can result in a a major error in fretted pitch,
The trade-off to owning a small CNC machine (or indeed any CNC machine) is that it has a practical limit to how big a piece of material it can fit within the confines of the milling area - the X, Y and Z axes can only move so far before they eventually run into the endstops, and no further reach of the cutter head is possible. If you take a guitar fretboard for example it will comfortably fit within the limits of one axis of even the smallest CNC machines - unless you are building some kind of 17 string monster most fretboards will not exceed more than about 70mm in width. The problem is that the fretboard length is usually in the vicinity of 500mm or more. To machine such a long object on your CNC machine in one hit obviously requires an axis with a reach of at least this length.
There is, however, a way of expanding the reach of an axis so that you can machine objects bigger than the physical limits of your CNC machine. By milling the object in two (or even several) stages, moving and accurately repositioning the material midway through the process, it is possible to complete a complex milling operation on an object larger than the CNC router. This operation is known as tiling, and while it presents its own set of challenges and hurdles it is not unheard of to operators of CNC machines; tiling can be often be required no matter how big your CNC machine is - if the client requests an object bigger than your machine, if you simply don't have access to a larger CNC router you'll likely resort to tiling to complete the job.
Successful tiling requires that the job be accurately repositioned partway through the milling process, such that the end of the first stage of milling aligns perfectly with the beginning of the next stage. This can be achieved through the use an indexing plate affixed to the CNC bed and a series of locating holes in the workpiece that align with matching holes in the indexing plate. Conveniently for us, we can use the CNC itself to create the indexing plate and holes to minimise any milling inaccuracies that may occur when changing positions.
Creating the Jig
- V-cutting engraving tool
- 1/8" diameter stubby rivet drill
- 6mm MDF sheet, approx. 600 x 450
- 12mm MDF sheet, large enough to cover table of CNC machine
- M6 or 1/4" nuts and bolts (20mm length)
- Four spare 1/8" drill bits, cutters or other solid rod material (to use as indexing pins)
- Glue, clamps, pencil, straightedge
Most CNC machine beds are made from slotted aluminium extrusions to allow the user to freely affix the workpiece to the bed using nuts and bolts. Our indexing plate will be rigidly secured to the bed and is made from a flat, smooth, easily-machined material - MDF suits our needs admirably. Cut a piece of 12mm-thick MDF large enough to cover the entire bed of the CNC. Neatness and squareness of this piece is not super-critical at this stage.
With the MDF laid on the table carefully mark the locations of two outermost channels on the bed to allow us to drill some securing holes for the indexing plate. Drill a hole in each corner that aligns with the mounting channels used on the CNC bed. Use countersunk screws or otherwise recess the heads of whatever bolts you use to secure the plate to the bed.
Once the plate has been drilled to accept the mounting hardware, return to the CNC machine and fit the plate to the bed. The slots on this machine will accept an M6 nut, the channels being narrow enough to prevent the nut from turning once the bolt is tightened.
Mark a starting point about 50mm in from the left edge of the CNC bed. This will form the origin of a vertical line that will be engraved parallel to the long edge of the table. By using the CNC to scribe this line we ensure that the line engraved is square to the CNC machine's motion, rather than square to the table or MDF edges. This is essential for ensuring accuracy of the jig.
Fit an engraver cutter to the collet. Home and touch-off the CNC to the indexing plate at the mark that was created.
Most motion control applications include a manual G-code entry mode. This is useful if you want to perform some basic milling operations where generating a comparable G-code would be unnecessary or wasteful. If using LinuxCNC for example, click the 'MDI' tab in Axis (or press F5) to display the manual entry window. By typing G-commands one line at a time we can instruct the CNC machine to perform movements on a step-by-step basis.
With the CNC machine homed and touched off to the MDF sheet, switch on the spindle and type the following lines into the MDI tab, pressing <enter> after each. Alternatively copy the below text into a blank G-code file, save and run it within your motion control software:
G1 Z-0.5 F300 G1 Y280 G1 Z10
The above listing will lower the cutter to a depth of 0.5mm into the surface of the MDF, engrave a 280mm straight line up the Y axis and then retract the cutter out of the MDF to a height of 10mm, where the spindle can safely be switched off again.
The line engraved on the MDF will form the reference to assist with assembling the next part of the jig. Using a piece of 6mm MDF cut a piece about 25mm wide and the same length as the CNC bed. Take care to ensure that one of the longest edges is as straight and square as possible (hint: the factory cut edge from a sheet of MDF is often very squarely machined - use this as the reference edge). This thin strip of MDF will form a fence for the indexing plate. Glue and/or screw the fence to the MDF indexing plate, lining up the square edge of the 6mm MDF to the engraved reference line as closely as possible. Be careful to ensure that the fence doesn't accidentally slip or move while the glue is drying.
Using some more 6mm MDF, cut a baseplate large enough to comfortably hold a fret board blank with about 15-20mm overhang on all sides. For example, if your fret boards are nominally 60mm x 550mm, make the MDF plate about 100mm x 600mm. On one of the longest sides sand/cut/file/plane a nice, clean square edge. This edge will ride along the fence on the indexing plate and needs to mate with minimal gaps and bumps.
For the next step we will need to create CAD drawing and resultant G-code program to drill the locating holes. The reason we do this is that the CAD drawing of the holes is subsequently used to determine the 'split point' of the fret slotting job when milling in two halves, Without an accurate reference for the split the two halves will never align properly when machined, no matter how well the jig has been constructed.
In your favourite CAD program draw a rectangle representing the fret board holding plate at a scale of 1:1 (ie, 100mm wide by 600mm long) with a lower-left corner origin at X-5, Y-5. Make sure the rectangle is drawn vertically aligned such that the longest edge is in the Y-direction.
Next, draw four vertexes/points in the locations shown - two positioned 5mm in from the bottom corners and two 5mm in from each side at the exact midpoint of the rectangle (hint: use object oriented snaps and draw reference lines to accurately position these points, and delete afterwards). The critical point is that by virtue of creating a rectangle with origin X-5, Y-5 and then offsetting each edge inwards by 5mm, the lower-left drill hole is at exactly X0, Y0. In the below example the points have been added on a new layer in red.
The four points now need to be exported as G-code. When doing so, set the feedrate fairly low (say 50mm/min) and set the Z depth to -10mm. The resulting G-code should look something similar to the following. Note that I have broken up the listing a little and included some comments to better illustrate the four drill hole steps.
Now we get to cheat a bit with the CNC machine. The collets on the smaller units are usually designed to accept 1/8" shank bits. A 1/8" 'stubby' rivet drill, with its short cutting flutes can also comfortably fit into the collet of the CNC machine, and can be used to accurately drill the workpiece locating holes for the jig.
Re-install the MDF indexing plate and lay the fret board MDF plate on top with the reference edge hard up against the fence. Position the leading edge of the fret board plate flush to the front of the indexing plate and secure in place with some temporary clamps. Fit a 1/8" stubby drill bit to the spindle and tighten securely.
Open the drill hole G-code in your motion control software. Home and touch-off the tip of the drill bit such that X0, Y0 is 5mm from the bottom edge of the fret board plate and 5mm from the left edge - this is where we want to begin drilling the four holes.
Turn on the spindle and run the G-code - four holes will will be drilled into the holding plate and through to the indexing plate.
The final step of creating the jig also serves to illustrate how the tiling technique is performed. Remove the temporary clamps and slide the fret board holding plate down such that the top two holes are now positioned over the bottom two holes in the indexing plate. Insert two spare 1/8" shank cutters or drill bits into these two holes, locking the holding plate to the index plate, and temporarily clamp the top of the holding plate in place to prevent it shifting from side to side.
Open up the G-code for the four locating holes and edit out the lower two drill hole entries (hint: enclose the relevant lines within brackets to convert them to non-executable comments). We obviously don't want to re-mill the first two holes, not the least because we now have two pins inserted into them, but we do want to mill the second pair of holes again for the top section of the fret board holding plate.
Note that the X90 co-ordinate has now been added to Y295. As the previously defined X co-ordinate has now been disabled it needs to be moved to the new 'initial' drill hole position, which is now at the upper-right corner. Save this file and re-open within the motion control software, but do not re-home or re-touch off the machine.
Run this G-code again and note that only the top pair of holes are drilled into the holding plate through into the pre-existing holes in the indexing plate.
The jig is now complete and ready to be used. By using four 1/8" pins and securing the holding plate at the lower position the first half of the job can be machined. When this operation is complete the pins are removed, the plate shifted down, the four pins re-inserted and the second half of the job run with perfect alignment between the two halves.
In the next installment we will delve into formatting and splitting an over-sized job into the requisite halves such that the milling of a fret board can be achieved, and also learn a little about optimising our G-code to run a little more 'intelligently'.
Milling Fret Slots on an Undersized CNC Machine - Part 1 by curtisa is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
You are free to:
- Share — copy and redistribute the material in any medium or format
- Adapt — remix, transform, and build upon the material
Under the following terms:
Attribution —You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
NonCommercial — You may not use the material for commercial purposes.
ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.