Best CNC Controllers For CNC Machines

The world of CNC Controllers has evolved considerably in the last 20 years. While industrial CNC controllers were the only choice a decade ago, new technological advancements have revolutionized the world of CNC.

Many features which were available only in industrial-grade CNC machines are now available at an affordable price. In this guide, I list the best CNC controllers available today for CNC applications and provide a general review of each motion controller.

Some of these control systems are PC-based motion controllers that turn the your Computer into a controller while others depend on a microcontroller to interpret the G-code.

Even for control systems that turn PC into the controller like Mach3, Mach4 and LinuxCNC, there are dedicated CNC controller boards which do a better job than the direct parallel port.

This article will also serve as a CNC controller board comparison guide for those overwhelmed by the choices available.


Masso G3 CNC Controller

Masso is Australian based, and sells its products through distributors for CNC users worldwide, Masso CNC Controllers being used in 11 000 + machines across 60 countries.

Their latest CNC controller offering is the Masso G3.

Masso G3 CNC Controller is a standalone CNC controller from Masso, an Australia-based brand that’s quickly becoming popular around the world.

The Masso G3 CNC controller does not require a PC to operate it and it is one of the biggest advantages of this controller. Masso offers its control system as 3-axis, 4-axis, and 5-axis versions, and you can make your choice from these.

There is no hardware difference whatsoever between these versions and the same G3 controller is used for all three versions. The difference is only in the control software. If you buy the 3-axis (XYZ) version of the Masso G3, you can upgrade to a 4-axis (XYZA) or 5-axis version (XYZAB) later by paying an extra fee. The upgrade happens as a software update.

For people running a CNC mill with dual drive motors, with the 3-axis Masso, you can only manually square the machine when you do a homing routine. Dual drive motors refer to having a stepper motor for each side of the Y-axis and it’s really common in CNC Router machines that are not very small.

You need to use something like a physical end-stop to do the squaring with the 3-axis Masso G3. With the 5-axis Masso, you get auto-squaring when you do a homing routine and that makes this really easy. This is because the Y-axis can only be slaved by the software with the B axis, and you get the B axis only in the 5-axis version.

Since the 5-axis version is only R600 more compared to the 3-axis version, I highly recommend you get the 5-axis Masso G3. Similarly, Masso G3 has control software for three types of CNC machines, CNC router, CNC lathes, and CNC plasma cutter.

The hardware is the same (Masso G3) for all three types of CNCs, but the software is different. All three software programs are provided for free when you buy the Masso G3 controller.

The Masso CNC lathe control system is becoming quite popular among users for a CNC lathe application.

Note that the lathe control system of Masso is a 2-axis system. Masso G3 can produce up to 110 kHz pulse rates on each axis. Pulse rate has an indirect relationship with the feedrate that you can run on your CNC. Although there are a few CNC controllers which can do higher frequencies, for most users, 110 kHz is high enough for any CNC machine application.

Masso G3 board has quite extensive I/O options with 24 optically isolated inputs and 18 outputs.

Masso G3 IO
Masso G3

Two types of spindle controls are available on the board, PWM control for engravers and 0-10 V signal for VFD spindle control. Masso has detailed documentation on their website for wiring instructions for all popular VFD spindles.

For offline control and jogging, Masso offers a handheld MPG (Manual Pulse Generator) pendant. The MPG pendant works like a handwheel using which you can move the CNC in any of the five axes, control feed override, and spindle override.

MPG Pendant for CNC Machines – PoPendant 1C
Masso MPG Pendant

In terms of connectivity, Masso G3 can accept G-code through WiFi from any device (computer, phone) through their MASSO Link software. If you don’t want to use WiFi you can also connect to Masso through a USB connection from your computer.

Once the G-code is transferred to the Masso controller, you don’t need the computer to be connected. If you are connected to the Masso controller via WiFi you can monitor the status of your machining job from anywhere.

Note that what you get with the Masso G3 controller, is just the controller board, and things like stepper drivers, power supply unit, and stepper motors should be bought separately. You need a power supply that can deliver 12 and 24 VDC voltage with a minimum 1.5A output.

MASSO G3 Touch-V2
MASSO G3 Touch

Masso G3 also has a touch version which costs around R4000 more. It gives you industrial-style touch control at an affordable price. If you think that costs too much, you can use a touch screen monitor that’s compatible with Masso, instead of the Masso touch controller.

Note that you need to buy the Masso touch screen upgrade for the control software to work with the touch screen monitor. Another feature that makes the Masso industrial grade is its built-in support for Automatic Tool Changer (ATC) Spindles.

Masso G3 supports several types of automatic tool changer spindles for both CNC mills and CNC lathes. If you have a tool changer system, you can check the Masso documentation to check for compatibility.

If you are planning to buy a used Masso, you can transfer the license from the original owner to you by emailing Masso support. This is something that will improve the resale value of a Masso controller if you ever decide to sell it.

After the Masso G3 being launched in 2019,  several CNC brands have now adopted the Masso G3 CNC Controller for their CNC machines.

Major brands include the highly popular Sherline Mills and Lathes, 3D CNC Africa, 3Dtek Routers, CANCAM, and Revo CNC. 

Support and Documentation

Masso has excellent documentation that details everything you might need to operate the Masso G3 controller.

In addition, their dedicated online forum is quite active and useful.

For formal support, Masso has an email-support option and a support portal where you can raise tickets in case of issues.

Masso does not offer phone support, presumably because they’re based in Australia.

All the products made by Masso have a 12-month formal warranty on them in case of manufacturing issues.

Overall Thoughts

Masso G3 is a good controller that’s fast-growing in popularity.

Although not as popular as some of its competitors, it offers near industrial-grade control and quality in its standalone controller.

Although it can seem pricey at first, once you factor in the ease of use, free software, good I/O options, and the ability to operate without a PC, the value becomes apparent.

Best Mach3 / Mach4 CNC Controllers

PoKeys57CNC USB and Ethernet CNC Controller

Mach3 is the most popular controller software after GRBL for running hobbyist CNC machines. Although the makers of Mach3 have released a new version, the Mach4, earlier version still remains popular. The most popular and reliable choice for running a Mach3/Mach4 based CNC is the Pokeys57CNC Controller.

Pokeys57CNC Controller
Pokeys57CNC Controller

Manufactured by Polabs, the company Polabs.d.o.o. is based in Slovenia, EU.

This motion controller makes operating CNC machines running Mach3 or Mach4 software easy and efficient.

Mach3 and Mach4 work by turning the computer itself into a CNC controller instead of relying on microprocessors.

You can run your CNC with Mach3/Mach4 by directly connecting the circuit (stepper drivers/breakout board) to the parallel port on your computer.

The other option is to use a dedicated motion controller like Pokeys57CNC Controller, which will act as an intermediary between the circuit and the computer.

Pokeys57CNC works with both Mach 3 and Mach4.

For setting up Mach3/Mach4 to work with Pokeys57CNC, you need to install a plugin called Pokeys plugin.

The plugin installation is straightforward and the video tutorials (and documentation) by Polabs should help you do it easily.

You need to use a 12-24VDC external power supply to power the Pokeys57CNC controller.

How Pokeys57CNC works

When supplied with G-code from the CAM software, Mach3/Mach4 converts the G-code to low-level commands.

These low-level commands are sent to Pokeys57CNC by the plugin.

Pokeys57CNC then generates the step and direction signals which are sent to the stepper drivers.

Using Ethernet Pokeys57CNC vs direct parallel port connection

There are significant benefits to using a dedicated controller instead of directly connecting to the computer via a parallel port.

Performance is significantly smoother when using Pokeys57CNC compared to direct connection with PC.

This is due to smooth and stable pulse generation which results in a smooth motion of the stepper motors.

Without a dedicated controller like Pokeys57CNC, you need a parallel port in your computer for the connection.

Pokeys57CNC connects to the computer via an ethernet cable and connects to the stepper driver and other breakout boards.

Since the controller connects via an ethernet cable, the computer used is fully isolated from spikes in current. This is a real danger if you directly connect to your computer via a parallel port.

With a direct parallel port connection, if you do other work on your computer while the CNC is running, you risk missed steps and your CNC crashing.

Pokeys57CNC by being a dedicated controller removes this burden from the computer and leaves you free to run other programs even while your CNC is running.

Without a dedicated controller like Pokeys57CNC, Mach3/Mach4 can run only on a 32-bit computer. With Pokeys57CNC, Mach3/Mach4 works on 64-bit computers.

Considering most computers available today are 64-bit, you will most likely need Pokeys57CNC to run Mach3/Mach4 from your computer.

This controller is highly popular among Mach3/4 users for all kinds of CNC applications including CNC routers, plasma cutters, laser cutters, and waterjet cutters.

You can support up to 8-axis motion with this controller which is a real benefit if you are looking for that.

For connecting to stepper drivers, connect directly from the Pokeys57CNC.

Using a breakout board is really useful as it offers multiple pinouts lending you significant flexibility in connecting other accessories to your CNC setups, such as vacuum pumps, coolant pumps, encoders, and opt isolators.

For using this controller you need a PC running Windows OS. However, that’s a limitation of Mach3/4 rather than the controller itself.

Pokeys57CNC can run almost any stepper driver,  A highly popular and successful combination is the PoStep60-256 Stepper Motor Driver.

At R3000, this control system can be used to power almost any CNC application.

Overall, the Pokeys57CNC is one of the most popular, tried, and tested solution for running Mach3/Mach4 and it’s difficult to go wrong with one.

Planet CNC Controllers

CNC USB Controller Mk3/4_4
CNC USB Controller Mk3/4

Mk3/4 USB CNC Controller

PlanetCNC is a highly popular brand that makes CNC control systems including software and hardware. They make two controller boards, Mk3/4 (4-axis) and Mk3 (9-axis). Of these, the 4-axis Mk3/4 is more popular among hobbyists.

PlanetCNC is a combined hardware and software solution for many types of CNC applications like CNC mills, routers, lathes, plasma cutters, laser cutting, and foam cutting.

As a CNC plasma controller, the Mk3/4 is preferred over GRBL, Mach, and LinuxCNC by many people.

The company PlanetCNC, d.o.o. is based in Slovenia, EU.

The hardware part of PlanetCNC, the motion controller is offered in two models-Mk3/4 (4-axis) and Mk3 (9-axis).

The Planet CNC Mk3/4 4-axis CNC controller is the more popular one as most hobbyist applications need only up to 4-axis support.

Mk3/4 controller connects to the computer through a USB connection.

With 3 digital inputs and 4 digital outputs onboard, the Mk3/4 is a breakout board and controller rolled into one.


This controller can deliver up to 110 kHz step frequency, which is excellent for most hobbyist applications.

It works with almost all stepper drivers on the market.

If you wish to connect a stepper driver that connects with a DB25 cable, like the Gecko stepper driver, you need to get the DB25 adapter sold by PlanetCNC.

You also need to get an 8 – 24V DC power supply for powering this controller.


The control software offered by PlanetCNC is called PlanetCNC TNG software.

The software is free but it works only with controller boards sold by PlanetCNC.

So, effectively, you get the control software for free when you buy the Mk3/4 USB controller.

PlanetCNC recommends some best practices while using their control software.

You should ideally have a computer dedicated to running PlanetCNC and should not use it for other purposes.

Other software programs can interfere with the functioning of TNG software and that can result in catastrophic results.

TNG software is quite easy to use for even beginners and it has several built-in features that make things easy for CNC work.

However, it also supports advanced functionalities if that’s what you need.

Since the software is not open-source, the development work is not as fast-paced as GRBL or LinuxCNC.

Support and Documentation

PlanetCNC does not have a forum of their own but most of the online community discussions about PlanetCNC happen on the cnczone forum where representatives of the company are also involved.


PlanetCNC control system is quite popular among the hobby CNC crowd who love it for its ease-of-use and value for money.

Best GRBL CNC Controllers

GRBL is an open-source CNC control platform/firmware that’s highly popular for running hobbyist CNC mills and desktop CNC routers. The controllers running GRBL are Arduino-based CNC controllers.

The best GRBL based CNC controllers available today are the following two:

  • xPRO V5 CNC Controller
  • Openbuilds Blackbox CNC Controller
CNC xPRO V5 GRBL CNC Controller
CNC xPRO V5 GRBL CNC Controller

The xPRO v5 is another new and highly rated GRBL based CNC Controller For CNC Machines.

This controller has a 32-bit microcontroller at its core and that results in some major advantages over a controller with 8-bit microprocessors.

The 32-bit microcontroller gives the xPRO v5 much higher memory and processing power compared to 8-bit systems.

Most importantly, xPRO v5 can communicate with the computer via WiFi or Bluetooth whereas 8-bit GRBL controllers have a USB connection.

Having WiFi support, cable management is considerably reduced and you are not restricted by the wire length.

Also, you can control the xPRO v5 using even your phone through WiFi.

The stepper drivers on this controller are four Trinamic TMC5160 stepper drivers which can supply a current of up to 6A.

Unlike BlackBox, the xPRO v5 is a true 4-axis controller (XYZA).

This means it can control a rotary axis in addition to the X, Y, and Z axes.

The firmware on this controller is GRBL_ESP32 which is a 32 bit port of GRBL. This firmware is quite popular and frequently updated on GitHub.

You can connect up to 2 stepper motors on each axis of the CNC using the xPRO V5 and that means it can run up to 8 stepper motors at the same time.

xPRO v5 is manufactured and sold by Spark Concepts, which is based in Waynesville, OH.

One disadvantage of xPRO v5 compared to BlackBox is that it has no dedicated online community and GitHub is the only place where you can ask questions.

Spark concepts have excellent documentation on this controller on its GitHub page.

One disadvantage of this controller is that the manufacturer does not offer any formal warranty on it.

However, the general feedback on this controller is highly positive and almost everyone who has bought this controller is satisfied with its performance.

Overall, it is probably the best 32-bit GRBL controller on the market and an excellent choice for hobbyists wanting the best performance.



Leave a Reply