CNC machines require a lot of software to get them running and it’s possible to run up a pretty big bill buying commercial options. In fact, it’s easy to spend more on software than you did on your CNC router. Luckily, there are many options for free CNC software available.
Starting from your design to the g code for your CNC machine, you’re going to need several CNC software applications:
- CAD Software (Lets you draw your part)
- CAM Software (Lets you turn the drawing into a tool path in g code format)
- CNC control software (Makes your machine follow the g code tool path)
We’ll cover a few paid products in addition to free options. You may spend more time with the software than your CNC mill, so it’s definitely worth a few dollars if the paid software makes CNC machining easier.
We’ll limit our listing to software for a CNC router or CNC milling machine and avoid other machine types, like plasma cutters and laser cutters.
Free CAD software
CAD, which stands for Computer-Aided Design, is the CNC software that lets you draw your designs. There are many CAD software packages out there, but unfortunately, most of them are not free. Luckily there have been some great improvements int he free options over the past few years as 3D printing, which uses the same CAD program, has taken off.
FreeCAD is a completely free 3D CAD parametric program that’s become increasingly popular as 3D printers have become more popular. Like Alibre, it’s capable of creating very complicated designs with very high precision, but the user interface is much more complicated, and the learning curve will be much more difficult. It’s not necessarily what we’d recommend for a beginner, but it is free, so there’s no cost to try it.
The output from FreeCAD, STL, STEP, SVG, or DXF, can be sent to any of the CAM programs listed below.
In addition to it being freeware, if you really want to nerd out on CAD then the source code for FreeCAD is freely available.
FreeCAD runs on Mac, Windows, and Linux.
Solvespace is another freeware 3D CAD program that’s got an almost cult-like following. It allows you to create 3D parts like FreeCAD but, because it’s got a somewhat limited custom CAD kernel, it is better suited to mechanical-looking parts that don’t have highly sculpted, organic surfaces.
The user interface is quirky but more simple than FreeCAD.
Solvespace can export STL or STEP files for a third-party CAM program.
Solvespace runs on Mac, Windows, and Linux, and the source code is freely available.
While not strictly a CAD package, Inkscape is very popular for 2D designs for CNC machining. It’s generally used more for artistic projects than precise mechanical work, but it should work for either if you have the patience.
Inkscape is similar to Corel Draw and Adobe Illustrator but totally free. It exports SVG and DXF files for your CAM software.
Inkscape runs on Mac, Windows, and Linux.
Inexpensive CAD Software
You can do a lot of great work with the programs listed above but it’s worth considering a commercial CAD program, particularly if you’re into 3D modeling.
Alibre Atom is a fully parametric, history-based CAD program that will let you create almost anything. It’s based on a commercial CAD kernel, so it’s very robust and reliable (and it comes with full support).
The learning curve is moderate, and they have higher-end versions available if you create products that need sheet metal designs or other complicated features.
Alibre Atom is downloaded software that you own; it is not cloud-based.
Alibre Atom costs approximately $200 USD and runs on Windows.
Free CAD/CAM software
The next step down the software chain is CAM software, which is responsible for taking your designs and creating a toolpath for the machine to follow to cut out your parts. There are many CAM programs out there, and most are very expensive. Writing a CAM program is very difficult, and the market is not huge, so they’re priced accordingly. Luckily, there are a few free cam software options out there.
Most CAM programs have at least limited, if not full, CAD ability built-in so we’ll note that in the descriptions below.
CAD/CAM programs come in two variants, 2D and 3D. 2D CAM programs are focused on creating tool paths for flat items without any surface curves. Examples of 2D parts might be gears or signs.
3D CAM programs are capable of taking any shape and creating a toolpath for it (subject to the limitations of your CNC machine)
Whether it’s 2D or 3D, the output from your CAM software will be a file called “gcode” or “g code”, which is a series of motion command that instruct your machine on how it should move to cut your part out.
Carbide Create is a free 2D CAM software package that includes basic 2D CAD as well so that you can create your designs and take them all the way to g code using nothing but Carbide Create. Carbide Create lets you load SVG or DXF files if you’d like to start from an external design and is able to create a variety of toolpath strategies:
- Contour toolpaths
- Pocket toolpaths
- Engraving toolpaths
- Texture toolpaths
- Drilling toolpaths
- V-Carve and Advanced V-Carve
Carbide Create runs on Windows or Mac computers, and it’s downloaded software that runs on your machine locally. It is not cloud-based.
In addition, Carbide 3D, the company that makes Carbide Create, will do its best to support you even if you’re not directly a customer. Carbide Create also has a vibrant user community online.
Easel is a free CAD/CAM program that includes a machine controller for GRBL-based CNC machines. In that way, it’s a complete CNC software package, as long as it suits your needs. It’s got a unique workflow where the design and the toolpath are the same things. This is different than most other CAD/CAM programs, where the tool paths are created separately from the design. This unique workflow makes Easel easier to start with, but it can limit the complexity of what you can create.
Easel is cloud-based, so it’ll run on almost any platform, but there’s no option to run it locally or offline. It’s totally cloud-based.
Makercam is a browser-based CAD/CAM program that lets you draw simple designs and create g code for your CNC machine. It requires a Flash plugin for your browser, so its time is probably limited as Flash is further phased-out but in the meantime, it’s still an option used by a lot of people.
Not-quite free CAM Software
While the free CAM software options are pretty good, it’s worth considering some of the less-expensive paid options if you want additional capabilities.
MeshCAM is a dedicated 3D CAM program that’s built to take external designs and generate g code. It doesn’t contain any CAD functionality. MeshCAM lets you load STL files from any common 3D CAD program and quickly create a toolpath for it. It includes a variety of toolpath strategies:
- Waterline finishing
- Parallel finishing
- Pencil finishing
- 2D Contour (PRO)
- 2D Pocket (PRO)
MeshCAM runs on Windows and Mac computers and does not require any cloud subscriptions or maintenance fees.
If you’re just looking to buy 3D STL files or 3D models for cnc on Etsy and cut them, MeshCAM is a good option.
MeshCAM sells for $250 - $500 USD.
Alibre Workshop is a combination of Alibre’s Atom 3D CAD software and MeshCAM Pro, making it the best value in CNC software.
In addition to CNC mills, the STL files generated from Alibre Atom are perfect for use in 3D printers.
Alibre Workshop sells for approximately $400 USD and runs only on Windows.
NOTE: Alibre Workshop is included with our Nomad 3 Desktop CNC Mill
Carbide Create Pro
Carbide Create Pro is an optional purchase for Carbide Create that adds basic 3D design and machining.
Carbide Create Pro runs on Mac or Windows and starts at $120 USD/year. Perpetual licenses are available for those who do not like subscriptions.
CNC Control Software
A CNC router requires a computer and software to actually make it move and follow the g code files generated by your CAM software. Some CNC routers, particularly professional or industrial machines, have a built-in computer that runs the CNC control software.
Less expensive machines use an external computer to control them. In the “Free” category, you really only have two options:
- Linux CNC (formerly EMC2)
- GRBL plus a gcode sender
LinuxCNC is an open and free CNC control program that runs, as the name implies, on the Linux operating system. It’s a full-featured program that’s capable of running huge machines or little DIY machines made from scrap. Because it requires Linux, it’s going to require a dedicated machine that you can install Linux on. LinuxCNC can talk to your CNC milling machine via two interfaces, a parallel port or a USB interface.
The parallel port is old technology by now and isn’t included on many PCs, so it’s not really a valid option anymore.
There are a number of USB peripherals made for Linux CNC that allow your milling machine to connect to the USB port of your computer. If you’re going to go down the LinuxCNC route, then a USB adapter should be your first choice.
GRBL is a program that runs in a small microcontroller in your machine to handle all of the real-time motion control so that the burden on your computer is greatly reduced. It runs on even a very basic Arduino.
GRBL is increasingly being used on commercial CNC routers and CNC milling machines because it’s proven itself to be so reliable and because it simplifies machine design so much.
GRBL still requires a computer, PC, Mac or Linux, to run a program called a “GCode Sender”. The memory in GRBL only has enough room to hold a handful of gcode statements, so a computer is used to stream the gcode down to GRBL as it executes the movements of your CNC machine.
NOTE: Image above is the bCNC interface for GRBL.
Which should I choose?
For ease of use, GRBL is tough to beat. It doesn’t require a dedicated computer, and it performs well. That said, if you need a fuller set of features, like cutter compensation, then Linux CNC is much more standards-compliant.
For most people, particularly beginners, GRBL is the way to go.
There’s never been a better time to get started in CNC machining, the free CNC software options are very good, and there are a lot of good inexpensive options as well. What’s the best option? As a user, that can only be answered by you. Everyone’s mind works a little differently, and it’s worth spending the time to pick the option that best matches the way your mind works.