CNC dovetails, part 2

After several failed attempts, I finally managed to get a complete run of the dovetail program on the CNC. While Camotics and the stable version of Universal-G-Code-Sender both choked due to the large size of the GCode program, a nightly build of Universal-G-Code-Sender was able to cut it.

Here’s how it came out after the program completed:

The CNC didn't quite get all the way through the board

The CNC didn’t quite get all the way through the board, due to some basic operation mistakes on my part. It also took somewhere in the area of 5 hours to cut — way too long. Some optimization in the cutting paths would be a clear win.

Red oak board being routed in the CNC

I was happy to see the stair-stepping on the pin board seems to have worked alright. Now that I see the result, I’m interested to see how the finish might come out moving the two axes together, to get a line segment instead of stair stepping.

Pin board in vice

After the CNC finished, I used a chisel and small saw to chop out the main pieces from the frame.


I accidentally broke off two out of six of the dovetails, when I chiseled in the wrong order. The correct way, I found, is to first chisel the angle at the cross-grain, and second with the grain. Chiseling with the grain first resulted in the detached dovetails. (edit: the real correct solution, of course, is to orient the grain the other way, so it extends out with the dovetail, which is so obvious now in hindsight!)

Testing the fit of tail and pins

After I broke the dovetails off, I wasn’t motivated to keep working to get a perfect fit. I tested the fit here between the dovetail and pin slot on which I got furthest. Still needs more work, but at this point I’ve learned a lot of lessons and got what I want out of the project. I’ll try cutting again in the future and hopefully won’t repeat my mistakes.

CNC Dovetails

I’ve been hacking on a heightmap to Gcode generator, and thought for fun I’d try to put it through the paces of cutting out pieces for a dovetail jointed box. The SVG is generated via DOM manipulation in JavaScript, and the Gcode generator is in C# (Mono) just as a refresher, since I haven’t used .NET in a while.

Heightmap generated with SVG:
Heightmap for dovetail jointed box sides

Converted to Gcode, and rendered in CAMotics:


Unfortunately my GRBL controller seems to not be responding properly. It somewhat works in Carbide Motion, but can’t run the program for these, and responds with gibberish on connect instead of the usual Grbl version information as prompt. I think a reflash might be in order.