A controller software program serves as a communication path between your computer and the CNC machine.
It reads the G-codes created using CAM software to run the stepper/servo drivers on CNC machines.
But without a firmware, the CNC controller cannot read G-codes.
Hence, it is necessary to flash the CNC controller board with a firmware that allows it to communicate with the controller software.
GRBL (pronounced gerbl), is a highly popular firmware that supports CNC configurations.
GRBL is the most popular open-source firmware which is flashed mostly onto Arduino-based controller board of CNC machines.
This firmware lets you control 3-axis motion of CNC machines using a PC via USB interfacing.
It is easy to set up and has simple configurations that make it the preferred choice for beginners and hobbyists. However, it can only control a maximum of three axes.
There are two types of control software for CNC, one simply passes on the G-code to the controller onboard the CNC router and are called G-code senders like UGS.
The other can interpret the G-code and produce the instructions for controlling the stepper motors directly.
In this article, I discuss some of the popular and reliable GRBL CNC controller software that you can use to run your GRBL based CNC routers.
|Universal Gcode Sender||Free|
Best GRBL control software
Best Free GRBL Control Software
1. Universal Gcode Sender (UGS)
Universal Gcode Sender (UGS) is a free, open-source software used to interface with CNC controllers flashed with GRBL firmware.
It is a G-code sender that simply pushes the G-code from your computer to the controller and the processing is done by the controller.
UGS software is available in classic and platform versions that you can download from its GitHub page for free. It is written in Java to support multiple platforms, such as Windows, macOS, Linux, or Raspberry Pi OS.
Although both the versions have the same robust backend, the platform version is the most recent release that has undergone some UI tweaks and has more features the classic version.
UGS lets you import standard G-code produced from any CAM software and edit it to run your CNC machine. If your CNC machine has an Arduino-based control board, UGS is the high-performance CNC controller software for it.
The controller state box of this software has several toolboxes, like reset zero to convert the current coordinate to a new origin and soft reset to reboot the CNC controller.
UGS has good documentation support for its users. On the GitHub page of UGS, you will find instructions from installation to making your first cut using CNC machines.
It is highly popular amongst hobbyists and you can also find many tutorials on YouTube to get you started with UGS software.
It is a browser-based, open-source controller software that sends G-codes to CNC controllers running on GRBL firmware. You can run cncjs on Raspberry Pi OS or PC installed with Node.js.
You can download the latest cncjs software from their GitHub page for free.
Apart from GRBL firmware, it can also be used with controllers running TinyG, g2core, and Smoothieware firmware.
It is a browser-based controller software, you do not require an active internet connection to run this software. It creates a local server on the PC and accesses it using a web browser.
It is compatible with popular browsers, like Chrome, Firefox, Opera, and Safari, except for Internet Explorer.
You can connect PC running cncjs with Arduino controller board of CNC machine over a serial connection, such as Bluetooth, WiFi, or USB.
Its local server lets you make multiple HTTP connections to connect several devices at the same serial port.
Its GUI has a minimalist design similar to the OpenBuilds CONTROL software and is easy to understand.
The installation requires a bit more tinkering than a typical software but the support documentation is quite helpful and will get you through the setup process without hassles.
Although cncjs does not have an official community forum, you may find many unofficial forums to get ideas related to software troubleshooting.
Candle is a free, open-source CNC machine control software for controllers running on GRBL firmware. You can download this software from their GitHub page for Windows or Linux PC.
The user interface of candle software has essential functions to run your G-code programs. Hence, it makes this software suitable for newbies and hobbyists in CNC machining.
You can connect to your CNC router with a USB cable and control the 3-axes movement of CNC machines.
Candle software lets you import, view, and edit standard G-code. The visualizer shows you the toolpath, you can rotate and zoom in to verify the toolpath.
This software lets you define the cutting head's work coordinates (offset position) and machine coordinates (home position).
Additionally, you can manually control the spindle speed and adjust the rapid speed and feed rate using the override feature.
You can map keys on the keyboard to jog the CNC machine continuously or in incremental movements.
Candle has a large user base and an active online community forum to support CNC machine control-related issues.
ChiliPeppr is a browser-based CNC controller software compatible with multiple firmware, including GRBL. It is a cloud-based software that lets you access its workspace using a web browser.
You need to install a serial port server and have an active internet connection to establish a WebSocket connection to use this software.
The serial port server can be installed on Windows, Mac, Linux, or Raspberry Pi OS.
It is a free software, and additional features like auto-leveling and probing make it suitable for advanced users.
Its UI lets you define several parameters related to CNC machining, such as feed rate, spindle RPM, work-coordinate, and machine-coordinate system.
This software accepts standard G-codes. However, its serial port server can not read G-codes exceeding 25,000 lines. It is because the planner buffer of the serial port server maxes at 25,000 lines.
ChiliPeppr has Maker Forums online community of active users where you can discuss CNC machine control-related issues and submit bugs for troubleshooting.
It is a free, open-source, G-code sender software capable of scrutinizing user-defined regions using an auto-leveling feature. It then creates a heightmap that can fit the toolpath of your design.
OpenCNCPilot software use basic bilinear interpolation between the nearest four points for auto-leveling,
Once the heightmap is ready, this software wraps the toolpath all over the curved surface. Now you can run your G-code file normally.
This feature is handy in PCB milling (isolation milling) with V-shaped engraving bits, where any deflection in Z-direction leads to narrow or wide traces.
OpenCNCPilot software is written in C#. Hence, you can only use this software on a Windows OS PC. Make sure to use the latest version of GRBL firmware 1.1 to use this software; otherwise, it will not work.
If you face any issue regarding using this software, you can describe your problem and share relevant images on the GitHub Issues tracker of this software page to solve your issues.
It is a free, open-source, cross-platform CNC controller software written in Python and can be used in PCs running Windows, Linux, and macOS.
The setup of bCNC software is tricky, but you will find elaborate instructions on its GitHub page for easy installation.
Its UI is intuitive and straightforward and has a graphical display of G-codes and workspace.
You can import and export standard G-code using bCNC software. Alternatively, you can import DFX and SVG files and convert them to G-codes to get physical objects of your designs.
This software has a configurable database of stocks, materials, end mills/router bits, and basic CAM features for profiling, pocketing, thread milling, and cutting.
You can install G-code plugins, like bowl generator and spirograph generator, to edit the G-codes. Additionally, its auto-leveling feature alters the G-codes for uneven surfaces.
This software also features manual tool change and canned cycle expansion for easy probing during CNC machining.
If you face any difficulty during CNC machine control, you can get help from many online community forums, like Maker Forums.
7. OpenBuilds CONTROL
It is a CNC control software that interprets G-codes and gives instructions to the GRBL controller of the CNC machine. OpenBuilds CONTROL is free, light software that you can use on PC running Windows, macOS, or Linux OS.
The UI of this software is well organized and clutter-free, making it quite intuitive, especially beneficial for beginners to CNC machining.
OpenBuilds CONTROL software lets you import, edit, and simulate standard G-code. You can also use this software to flash the CNC controller with GRBL firmware.
You can use either keyboard or smartphone for jogging your CNC machine. To do so, you need to connect your PC/smartphone and CNC controller to the same network.
OpenBuilds also provide OpenBuilds CAM which as the name suggests is a CAM software that integrates seamlessly with OpenBuilds CONTROL, you can use OpenBuilds CAM software as a G-code generator.
OpenBuilds CAM is web-based software and can generate toolpaths for CNC routers, laser cutters and engravers, plasma cutters, and drag knives.
Once G-code is ready, it sends that directly to the OpenBuilds CONTROL software to control the movement of CNC machine.
The great thing about this software is that it has the world's largest online community where you get a variety of topics ranging from project design to CNC machine control.
If you are looking for free, open-source, laser-focused GRBL controller software, then LaserGRBL is probably what you want. This software is considered one of the best G-code sender software for hobbyists working on laser cutters and engravers.
You can use this software only on a PC running on Windows. But, using the Wine 5.0 and Wine Mono 4.9.4 program with the Gdiplus Windows DLL file, few users have managed to run this software on Linux PC.
This software has a clutter-free UI that shows job preview, estimated job time, and real-time position of the laser head. You can also set buttons to quickly execute the custom actions, such as jog speed and image position.
I liked its unique color scheme that is fully optimized to be used while wearing safety glasses. This optimization lets you shift your gaze from work bed to computer screen without having to remove the glasses.
This software also offers detailed alarm and error code decoding for GRBL. It helps in quick and easy troubleshooting.
To use all features of LaserGRBL, the controller of the laser engraver should support S command power modulation.
Although LaserGRBL does not have an official community forum, you can find a Facebook page where users share their project ideas and discuss laser engraving-related issues.
It is a free CNC controller software that works only with Mk3 and Mk4 USB controllers sold by PlanetCNC. You can use this software on PCs running Windows, macOS, RaspberryPi, or Linux OS.
Even though PlanetCNC sells Mk3 and Mk4 controllers with integrated stepper drivers, you can also use your choice of stepper drivers. Ensure that the controller board is connected to drivers before connecting it to PC.
If you plan to connect Mk3 and Mk4 controllers to the parallel port stepper driver, such as Gecko, you can do it using the DB25 adaptor, which needs to be purchased separately.
In addition to CNC motion control, it is capable of CAM operations and can convert DXF, PLT/HPGL, Gerber, and NC Drill (Excellon) files to G-codes.
Using this software, you can also import and edit G-code files and export them to DXF or CSV files.
Its UI is clutter-free and intuitive. It offers various features, like different view options, axis motion control of CNC machine, spindle and coolant control, change of offsets, measurements, and many more.
PlanetCNC has its community forum under CNCZone, where you discuss CNC controller-related issues with CNC experts and get troubleshooting tips to resolve your issues quickly.
10. Ultimate CNC
Ultimate CNC is a GRBL based controller software that controls the movement of CNC machine axes by running G-code files.
You can use this software on a PC running Windows, macOS, or Linux OS. It is a light software, so you can also use Ultimate CNC software on a mini PC.
This software lets you connect to a CNC controller using a USB port. Its future updates will let you connect your controller via Bluetooth connection for communication.
It has a modern and clutter-free UI that lets you efficiently manage CNC control options, like table drill, miter saw, and polisher.
The UI also has a light and dark theme option that you can choose from.
If you want to use this software on a touchscreen-based system, I recommend a 7" screen size with a resolution of 800 x 480 pixels.
In addition to standard G-code files, you can import various image formats, like PNG, JPG, and other design file formats, such as STL and SVG files, to design within the software and generate G-code.
Similar to OpenCNCPilot controller software, it has an auto-leveling feature that is helpful in PCB milling. This feature automatically scales your G-code and delivers a reliable Z-axis position of the cutting head.
You can also create geometric figures, like circles, triangles, and rectangles, and convert them into G-code for CNC machining.
Although Ultimate CNC software does not have an official community forum, you may find unofficial forums of CNC professionals to get help with your CNC control software related issues.
Best Paid GRBL Software
1. LightBurn -Best for Lasers
If your CNC laser engraver has a G-code-based controller running on GRBL firmware, LightBurn is a good control software for your CNC machine.
It can be used on PC running on Windows, macOS, or Linux. You can use its trial software for free to ensure it is compatible and working with your laser engraver.
LightBurn software lets you import a variety of vector graphic and image formats, like SVG, DXF, JPG, PNG, and PLT. Using the offsetting, welding, and node editing feature this software offers, you can also create new vector shapes.
This software also lets you adjust cut settings, like speed, power, cut order, dithering mode, number of passes, anti-aliasing, and many more.
Its camera feature lets you use a USB camera to position design on a workpiece and monitor the laser to trace the engraved design.
If you are a beginner to CNC machining, you can enable the beginner mode available in this software. This mode removes the advanced functions that beginners rarely use and creates a simple UI to make your first cut.
You can also use a rotary table (A-axis) for engraving using LightBurn software.
LightBurn has its official community forum of active users where you can get support on editing and CNC controlling issues.
It is a G-code sender software designed to control CNC machines running on GRBL firmware. This software works optimally with G-codes generated by PicLaser and PicEngrave Pro 6 software.
Before purchasing this software, you can use its demo software for free.
You can use this software with a CNC router and CNC laser engraver. To use this software, your PC should be running on Windows OS.
The UI of this software is simple and has easy-to-use controls to pause and resume spindle, adjust feed rate and GRBL settings, and much more.
This software lets you import and edit standard G-code files having a maximum length of 20 million lines. If your G-code has any format error, it quickly detects and reports correction.
For CNC machine motion control, you can set a maximum of six different coordinate offsets and Z-axis retract distance when the job is canceled.
This feature can be helpful when you have to make a number of different parts that require a different offset position.
Pic Engrave has an official online community forum of active users where you can get their latest product-related announcements and discuss CNC controller-related issues.
Frequently Asked Questions (FAQ)
Why sometimes does my GRBL controller software shows offline and would not connect to the CNC machine?
Working on long G-code files may switch off serial ports of PC. So, make sure to refresh your PC to bring it out from sleep mode.
Which type of arduino boards should I consider to flash GRBL firmware for motion control of my CNC machine?
GRBL firmware is best suited with ATmega328 type Arduino boards, such as Uno, Nano, and Duemillanove.
How can I build a CNC machine without Arduino board?
Instead of an Arduino board, you can consider a Raspberry pi 4 board to build your CNC controller board and PlanetCNC controller software that runs perfectly with RPi boards.