Building a CNC Router

This is part 1 of 1 in the series CNC Router
  • %post_shorttitle%

I wanted to build a CNC router and started designing the machine in FreeCAD, a great free and open-source CAD application. Note that the design shown above is not yet finished, but already clearly shows the way I wanted to go, weighing cost versus stability.

When designing the frame, I quickly realized the huge amount of choices presenting itself:

  • moving table or moving gantry for the Y axis? Some reasons I found very compelling to prefer a moving gantry:
    • a moving gantry model wastes less floor space, i.e. it’s only just a bit larger than your working area, while with a moving table model, your machine needs to be at least twice the size of your moving table for it to be able to move the working area back of forth on the Y axis underneath your spindle
    • the stepper motors only need to be able to to move the gantry with the spindle, not your whole working piece, which reduces the requirements of your stepper motor drivers and controller, reducing the cost of the machine—also, the linear bearings and machine frame can be much lighter and stiffer when you’re only moving your spindle or router instead of the entire table and work piece
    • easier to work with pieces that are a lot longer than the table itself since they don’t need to be able to move back and forth
    • offers the possibility to take the table off, put the machine on top of a full piece of plywood and machine through where the table normally is if your Z axis has enough reach
  • ball bearing sliding carriages on guide rails or V-Wheels? I prefer guide rails:
    • carriages on guide rails offer more stability
    • not sure about this one, but possibly less friction than V-Wheels?
    • they seem to be a lot easier to get in Europe than V-Wheels
    • all kinds of rail diameters and carriage sizes makes it easier to scale
  • transmitting force from the motors onto the axes using lead screws, rack & pinion or belt driven? And when using lead screws, there’s the option to use simple threaded rods, acme lead screws and ball lead screws. It is recommended that both X and Y axes use the same method, while the Z axis method can differ. To keep the cost low, I decided to go with timing belts:
    • using lead screws, preferably ball lead screws, seem to be the preferred way for DIY CNC routers. Ball lead screws are very expensive though! Acme lead screws seem a good compromise between cost and efficiency while simple threaded rods are to be discouraged!
    • rack & pinion offers the most stability but might have problems with backlash and isn’t cheap
    • timing belts—while not having high power capacities, limiting the materials to be able to work with—are lighter, cleaner and safer to work with, not at all noisy, more resistant to wear & tear and easier to replace

30x60 Profiles & RailsI decided to build the frame primarily with 30×60 aluminum profiles because those offer slots spaced exactly where the rails can be mounted with T-slot inserts (as indicated on the image, showing the right rail of the Y axis, viewed from the front)—I wanted a design that was as easy to build as possible without the need for too much extra drilling. Note that the slots in the aluminum profiles are simplified as square slots to make the FreeCAD models less complex to work with. After several tries to be able to mount the guide rails upright, I decided to mount them sideways 1 in order to solve the next problem: I wanted the belt to be tucked away in a slot (as shown on the right side of the image, where the bearings are sticking out at the bottom) and couldn’t figure out an easy way to accomplish this with the guide rails upright without making the design a lot bulkier. Hiding the guide rails under the table also prevents dirt and pieces of wood/metal to land on the rails—when the sliding carriage rides over this, it would probably damage them.

Motor Driving BeltFor driving the GT2 belt with the motors, I decided to use the same method the X-Carve uses (as shown in the image on the right, viewed from the top, between the two beams of the gantry mounted to the sliding carriages) to be able to have the GT2 pulley (not shown) on the stepper motor shaft make contact with as many teeth of the belt as possible. This approach also allows the motor to be mounted higher up on the side of the gantry.


Then, the last weekend of November 2015, Inventables had a sale and offered a $100 discount on the X-Carve. Because I didn’t believe in my ability to actually pull off building my own CNC router from scratch like this—or at least not within an acceptable time span—I hesitated and then ordered the X-Carve Core Components, 500mm Rail Kit and Acme Lead Screw Kit for $298 plus an additional $80 for shipping to Belgium. That’s without a waste board, stepper motors, spindle, controller, power supply, wiring, drag chain nor any of the accessories in order to keep the shipping costs as low as possible. I ordered only the parts that are hard to get in Belgium and would look for the rest elsewhere. I’m glad I did, because I was required to pay an additional $112 import tax, customs clearance fees and whatnot at the post office! I justified the unexpected cost as if I bought it without the $100 discount. So to any of you interesting in buying the X-Carve and living in Europe, beware of the additional fees!

However, having researched all this stuff about CNC routers was very useful and I don’t regret the hours spent doing so. And by getting a design that ‘works’ as already proven by the community, reduces the risk of me messing that up at least. Too bad I had to give up the idea of guide rails. In a distant future, when I’m more confident about me being actually able to build this, I might actually continue with this design.

In the next post, I’ll go over the X-Carve assembly, customizations and additional parts I bought to complete the mechanical part of the project, before venturing of into the software part and finally discussing the whole tool chain from designing a part (CAD) to planning tool paths (CAM), possibly doing some post-processing and simulations, before finally having the controller execute G-Codes on the CNC router. There’s a lot more to discuss…


  1. with 85% efficiency compared to the upright position, whereas mounted upside down would result in an efficiency of 50%

You may also like...

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.