posts tagged with the keyword ‘cnc’


Little CNC Mill

I’ve completed the mechanical build of a small CNC mill/engraver. I’ve seen these on eBay from various sellers (like this, this, this, and this) and I’ve even seen one on Amazon from LinkSprite. I didn’t order from any of those sellers…

Somehow I happened across a blog post at TC Maker about a CNC Building Class at The Hack Factory. While I would have loved to have attended the class, I couldn’t make it, but I got in touch with Alex to ask a few questions, and the next thing you know I’m ordering a kit from him.

Alex said he’ll be doing another class, and hopes to sell these to other people as well. (I guess I’m one of the first customers?) I was attracted to the mill because it’s small (my workshop is cramped already) and it runs Grbl. I’m hoping to mill PCBs with it, and other small things. If I get really ambitious I can extend the machine with some longer lead screws and Aluminum extrusion. But first I have to get it working… I still have the wiring and electronics to deal with.

I’ll go through a bit more about building it in this post, and probably follow up with a few more posts once it’s complete.

Little CNC Mill

First, let’s talk about the instructions. Remember, Alex does an entire class on building this, which I did not attend, but I’ve built a few CNC machines in the past, so I wasn’t too worried. I did get a construction manual, and it was helpful, though in the end it sort of reminded me of building my RepRap. At some point the instructions seem to lose their usefulness and you just have to figure things out. Luckily, there’s the Internet.

The page titled DIY CNC 3 Axis Engraver Machine PCB Milling Wood Carving Router Kit Arduino Grbl is helpful, as is the video LinkSprite DIY CNC 3 Axis Engraver Machine installation tutorial. I should mention that these kits come from different sellers, and they all seem just a slight bit different. Minor things here and there, so again, if you can figure things out on your own, it’s not that bad.

There’s some videos from Jingfeng Liu that might be useful, including LinkSprite CNC Kit base Video 1, How to assemble LinkSprite CNC kit front video 1, and How to assemble LinkSprite CNC kit front video 2. Again, use them as loose guides.

Little CNC Mill

The worst problem I had during the mechanical build was dealing with the rod holders. Now, I’ve used rod holders before to hold smooth rods, and didn’t have issues, but these caused me some heartache. The one on the front right was the first I dealt with. I tried to tighten it up on the rod, and I could not get it tight enough to hold the rod. After I sent an hex key flying across the room, I tried one more time to tighten it up enough by putting a Torx bit in a drill (I know, bad idea.) This just stripped out the screw, and now it’s in there, and not coming out. (Oh, before I over-tightened/stripped it, I tried to put a little tape on the rod. Kapton tape seemed thin enough, but was still too thick.)

Little CNC Mill

I still had three rod holders to deal with, so I took a different approach. I put one in the vise and cranked on it to pre-bend the metal just enough to hold the rod tight, but not too tight. Well, I managed to do that with one of the rod holders. The next one I cranked too much, and then had to pry open a bit with a slotted screwdriver. (You can see in the photo above a little bit of the damage from that. In the end I got them all working good enough, except for the first one, but since the back rod holder is good, I may not have to worry about the front one being tight enough. (It doesn’t wobble, but I was able to rotate the rod when it was just in the front holder.)

CNC Machine

There’s a 3D printed part on the front for the lead screw to set in, with a bearing. I have not mounted this yet, as I’m not sure it’s a good idea. Some builds use this, or a metal plate, and some let the lead screw hang free in the air. (The x axis has a similar holder.) As this is not a super-precise machine, constraining the lead screws might not be the best thing…

Little CNC Mill

The shaft coupling is one rigid piece, which means that if not perfectly aligned, constraining it on the other end could cause binding while trying to turn. I’ve used flexible couplings before and they might be a better option. Again, I’ll probably get the machine up and running first to check the performance before I think about upgrades. (I talked to Alex and he suggested that flex couplings might not work as well as I think they would. I’ll do more research on it.)

Little CNC Mill

The mechanical build took an evening, not a late-night evening, but a full evening. I expect the electrical portion to take maybe a few hours at most, including getting it up and running. Hopefully I’ll find some time this week to get that going, and report back.

Stay Tuned!


Make Getting Started with CNC

I can’t remember the last time I did a book review… Have I ever done a book review? I should, because on rare occasions I do read books. While stuck on a plane last weekend (as well as a horse farm with no WiFi or cellular service) I read “Getting Started with CNC” by Edward Ford. I met Edward many years ago when he came to Milwaukee Makerspace, and I’ve helped build a few Shapeoko CNC machines over the years. So when I saw his name as the author, I was excited to consume his knowledge of CNC machines.

I should state for the record that I didn’t just see this book and buy it. It was part of a Humble Bundle where you pay some small amount and get a boatload of electronic versions of books. I tend to fill my old iPad with these, and read them when I get the chance. Seriously, if you are a fan of any of the Make Magazine books, sign up at Humble Bundle. You’ll mostly get emails about games (boring!) but once or twice a year you’ll get an email about an amazing book deal. Totally worth it.

Oh yes, on to the review! The book itself is about 160 pages, not too long, but just enough to introduce someone to the world of CNC machines. (We’re talking CNC routers, not mills, or 3D printers, or laser cutters, though some of the concepts apply.)

There’s good information about end mills, and toolpaths, as well as software (commercial and free options) and it even gets into G-code a bit. There are also some CAD exercises you can do even if you don’t have access to a CNC machine. There are a number of good photos and diagrams to explain concepts and machines, and there’s a walk-through of a complete CNC project which involves inside and outside cutting, pocketing, and milling down the surface. It’s written in a very approachable manner.

Now, I’ve done some CNC machining over the years, but I am far from an expert. Still, “Getting Started with CNC” was a worthwhile read, and something I’d recommend to anyone who has any interest in using a CNC router to make things.

Make Getting Started with CNC

I do have a few very small complaints. I found a few typographical errors, as well as some images that appear to have had FPOs put in, and never updated. These are things I think I can mention because I’ve served as a Technical Editor, otherwise I wouldn’t have mentioned them. ;)



I wanted to document how I did the artwork and toolpaths for the MAKE thing I make on the Shapeoko CNC router at BAMspace recently…


I started with my old MAKE design in Inkscape and set it to the size I wanted. I also placed it on the canvas as if it were on the piece of stock, knowing that the lower left corner would be the home position on the CNC router.


After I saved out my SVG file, I loaded it into MakerCam. Now, you can go to and use that, or you can load up the SWF, and save it locally to run on your own machine. (Flash is required either way. I guess the source code is also available, but you probably need Adobe’s Flash development tools to do anything with it.)

If you’re using Inkscape, you need to set the prefs to 90ppi instead of 72ppi before you open your SVG file. Oh, make sure you check out the MakerCam tutorial, help, and about pages.


In MakerCam I created two profiles, one to cut the inside pieces, and one to cut the outside of the entire piece.


These setting worked fairly well. I would up the feedrate or the step down on our machine if using 1/2″ HDPE. This job definitely took a while to run…


Once I had the toolpaths all set in MakerCam I exported the G-Code into a single file, and then loaded that file into OpenSCAM to run a simulation. (Looks like OpenSCAM recently rebranded as CAMotics… guess I should grab the latest version!) Running the simulation allows you to see the toolpaths and check how many passes it will take to cut through the material. I guess you could also use math, but sometimes I prefer visualizations…

That’s pretty much my workflow for 2.5D toolpaths; create art in Inkscape, load it into MakerCam and generate G-Code, load G-Code into OpenSCAM (CAMotics) and see how it looks.



After all of my experiments with recycling various HDPE scraps, I finally got around to milling a piece on the Shapeoko at BAMspace.

Milling on the Shapeoko

The piece I used was close to 0.5″ thick. I added a thin piece of MDF beneath the piece so I wouldn’t chew up our nice looking hold-down surface…


The milling took quite a while. The first attempt with a different piece did not work out well, partly due to too high of feed rate, and partly due to a piece getting stuck after being cut out. (I can see the appeal of a vacuum table!)

GRBL Controller

We use GRBL Controller on one of my old Linux laptops to control the Shapeoko.


Did I mention the milling took a long time? It was about 14 passes at 0.04″ per pass to cut through. I used a 1/8″ bit.


The end results were nice. A little rough, but some sanding and a few hits with a blow touch should clean things up just fine.


Encoding Discs

While Inkscape is a great and powerful open source vector editing application, sometimes it can’t do it all. Since I primarily use it for creating files for laser cutters, vinyl cutters, the Egg-Bot, etc. I need to have lines. No fills, no objects sitting on top of other objects, no crazy intersections of paths, just lines.

I’ve found that on occasion it’s actually easier to export a raster image, re-import it, and trace it to get the needed vector file. I’ve done this for many files from because they weren’t created with CNC uses in mind, but that’s what I use them for.

Back when I wrote my rotary encoding post I mentioned a perl script that could create encoding disks. It’s simple to use, and outputs an SVG file that I can open in Inkscape. Sadly, it’s not exactly what I need, but it’s pretty close, and easy to fix.

Encoding Disc

Here’s the disk that was created, which uses some neat SVG capabilities to generate it, but makes it quite difficult to edit using Inkscape. You can’t ungroup it, or break it apart, or use union or difference commands on it.

Encoding Disc

I’ve placed a smaller disk on top of it, Right now it’s gray (just so you can see it) but I’m going to fill it with white and give it no stroke. (Normally I would place one object on top of the other and use the difference command to cut a hole in the larger object. In this case, that can’t be done.)

Export at PNG

Once that’s done it looks like I want it to look, but it’s not all lines. It’s really overlapping objects. As long as it looks like I want it to look, I can export it as a bitmapped file. (A PNG file, to be precise.)

Import PNG

Here’s the PNG file. It’s raster, not vector, and again, it looks just like I want it to look. Excellent! Let’s go back to Inkscape and import the PNG file.

Trace Bitmap

Once imported I can use the Trace Bitmap command to easily change this black and white image into a vector file. (Yes, make sure it’s just pure black and white, so it can easily separate the two colors and create the needed path.)


After the bitmap has been traced I’ve got nice vector lines, shown here in outline mode, and it’s ready to be cut with a CNC machine. (Oh, I’ll probably add a center mounting hole, as the encoding disk eventually does need to attach to something.)

« Older Entries |

buy the button:

Buy The Button