One of the most common questions we get from makers interested in CNC milling is the following : which CNC software should I use? Before diving into software recommendations, this guide will walk you through the following sections:
- What are the different type of software used in the milling process
- CAD Software
- CAM Software
- Control Software
- CAD / CAM software comparison and recommendations
- Autodesk Fusion 360 (previously Fusion360)
- FreeCAD
- VCarve
- SketchUp
- SolidWorks
- CorelDRAW
- Carveco
- CNC control software comparison and recommendations
- PlanetCNC
- Mach3
- LinuxCNC
- GRBL
- Easel
- Carbide Motion
- Onefinity (Standard and Elite)
What are the different type of software used in the milling process
Let's start by understanding the different types of software at play. There are 3 different types of software that are used in the process of milling:
- CAD (Computer Aided Design)
- CAM (Computer Aided Manufacturing)
- Machine control software
While there are three categories of software, a single tool (e.g. Autodesk Fusion 360) can sometimes offer a combination of a couple of them, which makes them even more complex to understand.
1/ CAD software
Simply put, CAD is the software you're going to use to design your parts. You're going to go from sketches (drawings in 2D) to objects in 3D.
If you're comfortable with 2D drawing software like Illustrator or Inkscape, you can start from there, and import *.dxf files into your CAD software.
If you're not, you can directly learn to do 2D sketches on the CAD software you're going to pick.
2/ CAM software
This is the software that allows you to generate machine instructions (G-code) to manufacture your object. It always goes like this:
- you define the size of the raw material you’re going to mill;
- you position your 3D design in it, and;
- you select milling operations to get the desired result.
Often, CAD and CAM software goes together as one solution. But you can also decide to separate the two, for example, if you're already familiar with a CAD software that doesn't have CAM capabilities.
Let's have a look at the last type of software, then discuss the existing solutions out there.
3/ CNC machine control software
This last type of software is simply the interface you're going to have to control your machine. Most desktop CNC milling machines don't come with an onboarded computer, so it's a software you may install on your laptop to connect it to your machine.
When it comes to machine control software for CNC desktop machines, some of the big names include Mach3, LinuxCNC and GRBL/USG. Before diving deeper into the pros and cons of each software, we need to understand how a CNC milling machine is controlled. The electronics that control a CNC are basically composed like this:
- Each axis is controlled by one or two motors;
- Each motor gets its instructions from a driver;
- A central controller sends instructions to the different drivers, based on the information it gets from a control software;
- A control software, which is directly connected to the controller with a transfer protocol (usually Serial (i.e. USB) or Parallel (i.e. DB25)).

Which CNC software should you choose?
1/ CAD and CAM software comparison
The criteria to decide the best software for your usage should be:
- your budget,
- the existing community of the software and
- the nature of what you want to mill.
For versatile usage in wood, metal, foams or plastics, here are the most used software:
Autodesk Fusion 360 (previously Fusion360) (CAD + CAM)
+ Advantages of Autodesk Fusion 360
- Free if you're an individual or a small business
- A very powerful software out there with almost infinite capabilities
- Huge online community and a lot of learning resources
- Perfect for learning on a tool that you'll be keeping for years
+ Downsides of Autodesk Fusion 360
- Some very handy features are only under the Autodesk Fusion 360 paid licence (the automatic Arrange feature for example, as well as limited rapid speeds in the CAM module)
- It is so complete that it might feel overwhelming at first.
For more information on how best to generate G-Code from Autodesk Fusion 360, see our full video tutorial.
FreeCAD (CAD + CAM)
+ Advantages of FreeCAD
- Open-source and free
- Growing online community and a lot of learning resources
- Perfect for getting into the CNC world
- Downsides of FreeCAD
- The graphic interface is not the most user-friendly, but the software is improving fast.
- Our experience is that only the Windows and Linux versions are stable.
- Currently not as powerful as proprietary solutions, but we all know the power of open-source solutions !
For more information on how best to generate G-Code from FreeCAD and use it on your CNC machine, see our dedicated tutorial.
VCarve (CAD + CAM)
+ Advantages of VCarve
- Very easy to use, gets you to milling in no time
- Designed for CNC milling users, lots of helpful features on the CAM side
- Perfect for engraving
- Downsides of VCarve
- Quite expensive (660€ ex. VAT at the time this article was written)
- No 3D CAD capabilities: you can import 3D files, or design in 2D for engraving
- The graphic interface is not the most user-friendly and can feel a bit old-fashioned
For more information on how best to generate G-Code from VCarve and use it on your CNC machine, see our dedicated tutorial.
SketchUp (CAD + CAM)
+ Advantages of SketchUp
- Free
- Loads of people know this solution already, maybe it is your case
- Active online community and a lot of learning resources
- Downsides of SketchUp
- The CAM plugin is not so easy to install and is not official
- Not CNC-oriented, some design might be difficult or impossible to make
To find out how to generate your own G-Code from SketchUp, follow our comprehensive tutorial on the subject.
SolidWorks (CAD + CAM)
+ Advantages of SolidWorks
- New 99$ / year subscription for hobbyists and makers
- Probably the most powerful software out there with the most capabilities that is accessible
- Perfect for learning on a tool that you'll be keeping for years
-Downside of SolidWorks
- Very expensive for professional use
- There are so many features that it might feel overwhelming at first
CorelDRAW + CamDRAW (Vector + CAM)
+ Advantages of CorelDRAW + CamDRAW
- Useful plugin if you're a regular user of CorelDRAW and you don't want to change your workflow
- Full capabilities for sign making and engraving
- Very simple to grasp
- Downsides of CorelDRAW + CamDRAW
- Quite expensive (369€ + 209€ / year)
- Quite limited to engraving and basic pockets and contour
- Only works on Windows or Linux
For more information on how best to generate G-Code from CorelDRAW and use it on your CNC machine, see our dedicated tutorial.
Carveco (CAD + CAM)
+ Advantages of Carveco
- 3 versions with different levels of complexity and with corresponding prices
- First version ("Carveco Maker") is very easy to use
- Designed for CNC milling users
- Specialised in engraving and carving images, bas-reliefs (3D milling)
- Downsides of Carveco
- Subscription system (starting at 15$/month for the most basic version)
- Low CAD capabilities in terms of 3D
- Basic version will quickly feel limited if you use it for business
For more information on how best to generate G-Code from Carveco and use it on your CNC machine, see our dedicated tutorial.
2/ CNC control software comparison
Once you've mastered CAD and CAM software to design your parts and prepare your G-code for milling, you need to familiarize yourself with a CNC control software for your machine.
There are a lot of different software out there. Some are free or open-source, while others are linked to a specific control board or to a specific machine brand. It may be hard to make a choice, so here is our comparison of the most used CNC control softwares and why we've decided to implement PlanetCNC on Mekanika's CNC milling machine.
When choosing a CNC control software, pay attention to the following:
- The intuitiveness of the user interface;
- The hardware you're using: type of controller + the type of device running the program ;
- The features available (some of them can change your life during milling)
- The transfer protocol ;
- The documentation provided with the software, the activity level of the community, as well as the frequency of software updates;
Let’s start with software that is not linked to a specific brand of machine.
PlanetCNC - Our favorite CNC control software
Let's start with a software we consider to be one of the best options on the market s far: PlanetCNC.

PlanetCNC, a European brand comes with its own hardware. They have developed a single-board USB controller that allows up to four axes. They offer many nice features out-of-the-box, like automatic tool length measure or tool change, jump to line, override feed rate, and support all compensation methods for common milling operations, as well as 3D milling.
The software runs on Windows, Linux or Mac and is compatible to almost all CAM programs on the market and can import a vast variety of files like Gerber, PLT/HPGL, DXF or NC files.
Why we chose PlanetCNC for Mekanika
When we started designing the Mekanika CNC machine, we tested several controllers and software and PlanetCNC came on top in terms of software stability and robustness of electronic components.
Plus, it runs perfectly on a Raspberry Pi 4, which allowed us to create a standalone electronic enclosure without any need to use an external computer.
+ Advantages of PlanetCNC
- Easy-to use interface: PlanetCNC has - in our opinion - the easiest-to-use interface, which allows users to get started quickly. It also has a handy G-code manipulation window that allows maximum flexibility. The user interface can also be customized.
- Straigh to the point: All the needed features a CNC milling machine needs are offered, without unnecessary options making the use of the machine more complicated.
- USB transfer protocol
- Possibility to create applications on top of the software thanks to its API offering
- Custom features are very handy, like spindle control, video display or relay control
- Can support a rotary option, a laser or an automatic tool changer if you want to upgrade your setup
- Downside of PlanetCNC
Proprietary software, cannot be used with any other electronics.
Mach3 – The most popular
Mach3 is without any doubt the most used software on the desktop CNC market so far.

Mach3 is a control software compatible with many hardware solutions and has positioned itself as the market leader for desktop CNC control software. Its success is mainly historical, as it came in at a time when its interface was a lot more user-friendly than what existed on the market so far.
+ Advantages of Mach3
- An easy-to-use user interface that still does the job, even if its design will make you feel like you’re back in the ‘90s;
- The interface itself is highly customizable to adapt it to your needs;
- As 70% of hobby CNC users uses Mach3, a lot of documentation is available online through its community of users.
- Some custom features are very handy, like spindle control, video display or relay control.
- Downsides of Mach3
- Mach3 uses a parallel-port transfer protocol, which isn't compatible with most computers today or will make you buy an adapter.
Note : Artsoft has since developed Mach4, which they claim to have begun from scratch and have solved almost all gaps of Mach3, but struggle to make their community switch from Mach3 to Mach4.
LinuxCNC - Free open-source CNC software
The "father" of all low-end CNC software, created in 1993, is a free open-source Linux software. Most further control software have based their original code on the LinuxCNC project.

The project benefits from a huge open-source community that has developed several versions of the software and has contributed to the fact that it's still the second most used CNC control software today.
+ Advantages of LinuxCNC
- As numerous persons have worked on this software, it offers huge flexibility. It may, however, be confusing for some beginning CNC milling or looking for a compact software without unnecessary options;
- The community of LinuxCNC offers a lot of help to newcomers and is almost always able to solve issues, they also have developed lately numerous nice and intuitive UI.
- While LinuxCNC used to runs on parallel transfer for real-time application, it now supports ethernet communication with the controller.
- Downsides of LinuxCNC
- The features and possibilities of LinuxCNC are almost endless, but the learning curve is also important.
GRBL + USG
Technically speaking, GRBL is a firmware which enables motion control for CNC machines, but it doesn't come with a user interface. It is actually an open-source software that allows microcontrollers like Arduino to receive G-code from a computer, through USB transfer.
It is usually combined with a G-code sender software that allows the user to transfer G-code to the Arduino. One open-source software has been sailing through the multitude of available software : the Universal G-code Sender, however most of the proprietary software from companies Inventables or Shapeoko are running on GRBL as well.
Recently, two new branches of the GRBL code emerged: grblHAL and fluidCNC, both taking advantage of the far more superior computing power of 32-bit microcontrollers (instead of the 8-bit Arduino). These are both promising projects that we are closely watching!

+ Advantages of GRBL + USG
Arduino is a well-known microcontroller and it's quite easy for DIYers to build a homemade CNC with the GRBL system;
- It's the easiest set-up for small and homemade CNC machines;
- The USG software is free and open-source, and works with inexpensive hardware;
- You can choose your favourite software to generate G-code.
- Downsides of GRBL + USG
- Arduino cannot handle huge works and complex milling actions, but this is intended to be solved by grblHal;
- This setup can quickly become a bottleneck for your system.
.Let’s continue with control software developed by CNC machine companies. They all developed their solution on top of 8-bit GRBL.
Easel CNC Software from Inventables
Easel is the software developed by its mother company: Inventables, which developed the X-carve CNC machines. It comes as a free version or as a Pro version for 24$ / month.
The main purpose of Easel is to simplify the life of its user by integrating CAD/CAM and control into a single software that generates more or less all the machine operations. It also simplifies the machine setup process, automatically doing all the positioning procedures of the machine when you launch a job.
Screenshot from the Easel CNC control software
+ Advantages of Easel CNC Software
- The software is perfect for complete beginners: you can quickly achieve satisfying designs without any prior experience
- The software turns the whole CNC workflow into a black box: it is extremely easy when you want to do simple stuff and you don’t need to understand all of the steps described above to mill
- Downsides of Easel CNC Software
- The full process only works with X-carve machines. You can design with Easel and export G-code for any other machine but it’s not very handy.
- The design process is quickly limited and you’ll probably have to learn proper CAD/CAM when you move to more complex projects
- The free features are quickly limited and as soon as you want to use your own custom bits or material, you have to move to the paid version.
Carbide Motion
Carbide – the parent company of Shapeoko CNC’s - has developed a similar approach as Easel, but in the more traditional form of two software: Carbide Create to design, and Carbide Motion to control the machine.
Carbide Motion has a very sober interface that cuts all the unnecessary options on a CNC machine to help you focus on the main features.
+ Advantages of Carbide Motion
- We’re big fans of sober interfaces and even if the interface design is a bit rough, it fulfills its first goal: it is simple to use
- Carbide motion as its own way of handling coordinate systems – called MDI - that may feel more intuitive for beginners
- Downsides of Carbide Motion
- It only works for Shapeoko and Carbide Nomad machines;
- It does not include a visual representation of what is being milled;
- It is quite limited and does not include more than the very basic features.
Onefinity
Onefinity is built on top of Buildbotics, an open-source controller that runs its own control software. Like the two previous software, Onefinity is a very sober interface that cuts all the unnecessary options on a CNC machine to help you focus on the main features.
Screenshot of Onefinity CNC software
+ Advantages of Onefinity CNC software
- The interface showcases the most necessary features
- A visual representation of what’s being milled is included
- Downsides of Onefinity CNC software
- The interface design isn’t intuitive
- It is quite limited and does not include more than the very basic features
Onefinity Elite
In 2023, Onefinity launched their Elite models together with Masso, finally offering a proper interface for their users.
Masso is well known for their CNC controller and Onefinity has embedded its G3 model, a combined controller with a touch screen on their machine.
Screenshot of Onefinity Elite CNC software
+ Advantages of Onefinity Elite
The interface showcases a good mix of intuitive and advanced features, much like PlanetCNC
- A visual representation of what’s being milled is included
- The interface is clear and straight to the point
- It includes a lot of advanced features like jumping to line, turning the router on and off automatically or overriding feed rates.
- Downsides of Onefinity Elite
Again, the software is proprietary to Masso controllers and cannot be used with any other electronics.
About Mekanika
Mekanika is a Belgian startup based in Brussels whose ambition is to make local production more accessible.
We produce desktop machines for screen printing and CNC milling, which have been recognized for their quality and ease of use, with open-source plans allowing makers to adapt their tools to their specific needs.
Visit our shop to find out more, or check out our tutorials to continue learning.