A controller is an essential component of every computer numerically controlled (CNC) machine. Among other things, the controller handles motion, speed, and temperature, and operating it via software can further allow for control over a multitude of devices, including lathes, mills, routers, lasers, and more.
There are many industrial and commercial CNC controllers, with perhaps the most well-known industrial options coming from Fanuc and Siemens. Commercial controllers, on the other hand, can be used to retrofit or build a DIY CNC machine. You can even find companies, such as Centroid CNC, that provide the service of retrofitting CNC controllers for various machines.
Yet, there are many more options out there, which we’ll see in the following. But before we see the top controller boards in the market, let’s take a closer look at what we need to know about them.
A CNC controller is a core component of any CNC device. You can think of it as the machine’s brain. It connects and runs hardware, software, and peripherals in the same way that the brain connects and runs muscles, nerves, and organs. CNC machines can have linear movement, rotary movement, or both. This leads to two or three linear axes alongside possible rotary movement. All said, CNC controllers handle the actuation of motors and powering of drivers along with control of the axes’ movement. These controls or commands can be given using G-code or a control panel.
There are many controller boards available, each with its own specific features, functionalities, and applications. For example, there are those that don’t need a computer and can connect to a device using USB, Wi-Fi, or Ethernet. A few controllers rely on the Raspberry Pi as their microprocessor. Some boards are used as shields or add-ons: They’re plugged on top of microprocessors or microcontrollers to add more functionality.
Important concepts when discussing controllers are firmware and software.
In simple terms, firmware is low-level software that enables the controller to directly act with the hardware. GRBL is a great example of firmware that’s reliable and run by many controllers. It’s free, open source, and runs on Arduino.
Software, in the case of controllers, is responsible for generating or sending G-code scripts or commands. You’ll find that there are many different types of software, whether free, paid, or proprietary. Some are provided by manufacturers themselves, while others can be operated using a web browser.
Now that we have a basic understanding of CNC controllers, let’s see what’s good to keep in mind when purchasing one.
Perusing the CNC controller market, you might wonder what factors you should consider. Here are a few aspects that’ll help you stay on track:
Now, let’s finally take a look at our top picks. We’ve organized them by price, but note that because of the chip shortage at the time of writing, some of them may have varying prices or availability.
Rattm Motor is a GRBL 1.1, firmware-based, 3-axis CNC controller. It’s one of the most affordable boards for hobbyists looking for 3-axis controls. It’s suitable for CNC applications of router, milling, engraving, and laser engraving of the 1310, 1610-Pro, 3018, 3018-Pro, and 3018-Pro Max CNC machines. It’s also great for retrofitting in certain CNC machines, such as the F-Yi GRBL CNC Engraving Machine.
The board comes with an outer casing for protection and a fan for heat dissipation. The manufacturer recommends that you use a stepper motor with a maximum current of 2A (such as a NEMA 17). The controller uses Candle control software, which is a free, open-source G-code generator and sender.
It’s the first entry with the lowest price point, and in spite of that, it still delivers in functionality and support. The reviews also reveal that it’s a popular option in the makers’ community.
Protoneer is a Raspberry Pi CNC HAT that runs on GRBL firmware. If you’re wondering what a Raspberry Pi HAT is, simply said, it’s an add-on that sits on top of a Raspberry Pi. That’s what HAT stands for: “hardware attached on top”. These HATs extend the capability of the Pi and allow it to communicate with additional components and devices.
Protoneer is compatible with GRBL firmware and works as both a G-code generator and sender. It’s also suitable for machines like the 3018. For applications like plotting and laser cutting, this board can control three axes as well as a clone axis. You can clone any of the X-, Y-, or Z-axes using the A-axis.
Software like Raspberry Pi CNC can be used with this HAT. If you need help in configuring the CNC machine with a Raspberry Pi, this Instructables project has you covered, and you can find tutorials and documentation on the Protoneer’s Wiki page. On Instructables, you can also find a guide to make a plotter and laser using this HAT.
PlanetCNC is known for its USB-based CNC controllers, and the Mk3/4 USB is a device. It has a step frequency of 110 kHz, perfect for CNC applications such as plasma cutting, foam cutting, laser cutting, mills, and lathes. It also features multiple digital I/O pins, spindle controls, and support for both stepper and servo motors.
The company also provides CNC software, called the “USB CNC Controller software”, with a handy manual. There’s also the proprietary TNG software, which is completely free and available on many platforms. It supports four operating systems: Windows, Linux, MacOS, and Raspberry Pi.
Note that you have to activate your controller’s license after purchasing and receiving it; failing to do so will limit the available functions.
WixHC Mach4, as the name suggests, is a CNC controller that runs on Mach4 software. It has three different USB interface options: 3-axis, 4-axis, and 6-axis. In other words, it supports up to 6-axis control, with a maximum step-pulse frequency of 2,000 kHz.
Mach4, similar to its predecessor Mach3, is motion control software that can generate and send G-code. The software, costing around $200, is an additional purchase but is considered worth it given that it’s fast, flexible, highly customizable, and able to execute complex codes. Furthermore, because the software is intuitive, the learning curve isn’t steep. Mach4 comes with profiles suitable for lathes, mills, engravers, and plasma cutters.
The CNC controller offers features such as wireless operation, multiple I/O pins, and spindle feedback and control. It supports stepper drivers and motors, multiple relays, optical limit switches, and spindle inverters.
While it doesn’t have the most comprehensive guides, you can find WixHC Mach4’s manual online.
Ethernet SmoothStepper (ESS) is a controller board by Warp9 Tech Design, which connects to the PC with an Ethernet cable. The “SmoothStepper” in its name comes from the stable pulse generation that helps achieve smooth motion of the stepper motors. It’s suitable for CNC machines like mills, lathes, router, lasers, and plasma cutters.
The controller allows you to run CNC machines on Mach3 and Mach4 software, either of which can be used as a G-code generator and sender. Note that, even if they’re made by the same developers, Mach3 and Mach4 are different. In particular, when using this controller, Mach3 requires the use of a computer, effectively converting it into the CNC controller.
The documentation for setting up Mach3 or Mach4, the plug-in required, and all things ESS, are available at Warp9tech. To power the ESS, you need a 5-V DC external power supply.
Similar to the ESS, there’s another SmoothStepper called USB SmoothStepper. You can think of it as the ESS’s cousin. As the name suggests, the main difference is that, instead of the Ethernet connection, this controller connects to the PC via USB.
The xPro V5 by Spark Concepts is an Arduino-based CNC motion controller with GRBL firmware running a 32-bit port of GRBL: Grbl_Esp32. An interesting fact about this firmware is that it allows for control of up to six coordinated axes.
The xPro V5 is an excellent choice if you intend to use CNC machines for milling, plasma cutting, and laser cutting. It uses Trinamic TMC5160 stepper drivers and has true 4-axis motion, which means that, besides linear X-, Y-, and Z-axes, it can control a rotary A-axis. CNCjs can be used as the software interface for the controller, but it can also be controlled with a PC or a smartphone via Wi-Fi.
All of the above makes the xPro V5 arguably the best 32-bit GRBL CNC controller available. Documentation on the hardware, starting up, and changing settings is available on GitHub.
The OpenBuilds BlackBox also runs GRBL firmware (1.1) and is Arduino-based. It’s powered by an 8-bit ATmega328p microcontroller and is most suitable for routers as well as plasma and laser cutting.
With OpenBuilds Control, a software companion to the BlackBox, you can send commands directly to your CNC machine. The BlackBox is therefore both a machine interface and a G-code sender. Yet, there’s also a way to use the controller without the need to connect to a computer. This is possible with the tool Interface, purchasable for approximately $190. It has a touch interface and is quite intuitive and user-friendly.
OpenBuilds has great community support on its forum, along with assembly instructions and documentation.
The Acorn is a CNC controller by Centroid, available as a complete kit that includes the board, a relay module, a power supply, and an Ethernet cable. The board can connect to stepper drivers, spindle drive control, encoders, and limit switches.
Along with the hardware, Centroid provides the software for routers, mills, and lathes. There are free and paid versions of the CNC12 software, which is an interactive interface. The free version should be sufficient for hobbyists, but the “Pro” version upgrades the software, providing many additional features and functionalities.
Many hobbyists find the Acorn to have an easy setup and great support, and it’s very popular for retrofitting within the maker community. All the Acorn’s documentation and guides are available in Centroid’s CNC forum.
Buildbotics’ CNC controller is a completely open-source and standalone 4-axis CNC controller based on a Raspberry Pi. It’s a simple plug-and-play controller, which is great for CNC retrofitting and DIY CNC machines. That said, it’s also suitable for machines like the Onefinity CNC machine or to upgrade a DynaMyte 2400 CNC Mill.
The controller is capable of a wide range of CNC applications, including routers, mills, lathes, plasma cutters, and laser cutting. You can access the controller’s interface using a wired or Wi-Fi network and a web browser. Additionally, you can connect a webcam to the USB ports, which allows you to remotely monitor your PC.
Buildbotics offers numerous guidelines and tutorials for its CNC controller. Documentation of its firmware, enclosure, and PCB is available on Buildbotics and GitHub.
The G3 is a CNC controller from Masso, and its main utility is not requiring a PC for operations. The controller is capable of operating three different variants – 3-axis, 4-axis, and 5-axis – and you only need the one device. This is because you can simply purchase the software upgrade to go from 3-axis to 4-axis operation, for example.
This controller can produce up to a 110-kHz pulse rate on each axis, sufficient for any CNC machine. It also supports other features, such as multiple I/O pins, direct spindle control, and pulse-width modulation.
The G3 uses its own proprietary Masso Link software, which is a graphical interface supporting three types of CNC machines: mills, lathes, and plasma cutters. With the board, it’s also possible to plug in a keyboard and a mouse via USB ports and a display screen via a VGA cable.
To get you started and help you with all things Masso G3, there’s a great amount of documentation and support available.
Interestingly, the G3 comes in a touch version. It can be used, for example, to restore an old Multicam CNC router. This goes to show that it can be the controller for old and new CNC machines.
License: The text of "The 10 Best CNC Controllers (USB & Boards)" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.
CERTAIN CONTENT THAT APPEARS ON THIS SITE COMES FROM AMAZON. THIS CONTENT IS PROVIDED ‘AS IS’ AND IS SUBJECT TO CHANGE OR REMOVAL AT ANY TIME.