This week we had the opportunity to review some of the best open-source GRBL software available. With so many GRBL microcontrollers available, we wanted to create a shortlist of compatible software that budding hobbyists, DIY fans, and engineers alike can use for their various projects.
Our detailed list contains some of the best and most popular open-source GRBL software projects around. All of the projects contained herein even come complete with documentation and examples to help get you started.
So, whether you’re looking for GRBL software to control your 3D printer or something to help manage your laser engraver, you’ll find it in our list of open source apps.
A lot changed in 2009 when Italian microcontroller manufacturer Arduino revolutionized the world of motion controllers. The world of motion controllers changed when they released the first version of GRBL.
GRBL, which doesn’t stand for anything and is pronounced “gerbil,” has enjoyed a steady rise in popularity ever since.
With GRBL firmware, you eliminate the need for a parallel port on your computer or laptop. GRBL can reliably pass lines of code to your microcontroller through a USB cable. With this handy feature, you can connect to your favorite microcontroller via a standard USB interface.
GRBL is still one of the most popular movement controller firmware available. Many hobbyists use it in combination with a CNC controller to create their CNC machines.
To this day, GRBL remains open-source and free. It’s available on GitHub, where the repository is constantly maintained and updated by Sonny Jeon.
Choosing the Best GRBL Software
Choosing the best software can often be a daunting task. This task is further complicated when considering the versatility of GRBL-based controllers. Today, some hobbyists use GRBL in their 3D printers, while others use it to control their laser engravers, miller machines, and CNC routers.
Because of this, our list of GRBL software needs to include something for everyone. We deliberately avoided including command-line GRBL software, such as CANDLE 2.0, as increasing numbers of users are moving towards GUI-based applications.
Ease-of-use and simple installation make them a far better choice for DIY engineers and hobbyists as there’s no need to learn complicated lines of code.
A well-designed GUI also saves time with its easy-to-use interface, getting you cutting, engraving, and printing faster.
The Best GRBL Open Source Software (Our Review)
Most Popular: Cncjs
No review focussed on 3-axis motion controllers would be complete without listing the ever-popular and reliable Cncjs. This web-based interface for CNC milling controllers is compatible with GRBL, TinyG, Marlin, and Smoothieware. This compatibility makes it an excellent option for any budding engineer.
The interface is user-friendly and rich with GUI elements, which allows you to set up and control your new CNC machine.
Busy operators will be happy to learn that Cncjs supports running several instances of the user interface simultaneously. This saves you time when compiling and setting up your different CNC projects.
Our favorite feature about Cncjs is the sheer number of widgets found in the user interface. Unlike the most common interfaces, the widgets in Cncjs are easily labeled.
There are widgets for spindle control, toolpath display, and even position reporting. As a bonus feature, you can even add a custom widget to support new features and controls.
Cncjs offers users 6-axis digital readout along with 3D toolpath visualization. With its keyboard shortcuts and customizable workspace, it’s easy to see why Cncjs is the most popular open-source GRBL-compatible project around.
Cncjs is fully compatible with Linux, macOS, and Microsoft Windows. It also comes in an easy-to-use desktop app that makes implementation a breeze.
Cncjs is constantly being upgraded and is supported by a massive community of fans and experts alike. It remains on top of our open-source GRBL software list due to its ease of use and excellent documentation.
- Highly customizable user interface
- Excellent compatibility
- Ample documentation is available online
- Can’t run G-code files longer than 400,000 lines
Most Used: The Universal G Code Sender
The Universal G Code Sender has been around for almost as long as CNC routers and cutting machines themselves. There’s a reason for its usefulness. Universal G Code Sender is a self-contained Java application that includes all the required external dependencies to install it.
The Universal G Code Sender comes with two interfaces available to operators. The latest version supports a fully modular GUI that offers custom keybindings for most common tasks.
While the classic interface comes with more dated looks than we would have expected from a CNC controller software, the interface contains all the essentials. This interface also comes with an incredibly detailed 3D G code Visualizer with color-coded line segments.
Users of The Universal G Code Sender open source software will be thrilled with the fact that it supports joysticks and gamepads. Using these controllers will undoubtedly make setting up your next CNC task a breeze.
Another impressive feature is the duration estimates, which allows operators to plan out their busy schedules to ensure maximum efficiency.
The Universal G Code Sender is available on Microsoft Windows, macOS, Linux, and even Raspberry Pi operating systems. You simply need to unpack the program and start the installation.
The installation is incredibly straightforward, making it appealing to most hobbyists and anyone working on CNC machines for the first time.
The Universal G Code Sender is free software frequently maintained and updated by the always busy CNC hobby community. Frequent updates ensure this piece of software will always be future-proof.
We highly recommend trying out The Universal G Code Sender if you’re looking for reliable controller software.
- Exceptional documentation
- Superb compatibility
- Easy installation
- Common issues with Raspberry Pi Zero controllers
Best Laser Software: LaserGRBL
LaserGRBL is an optimized, laser-focused (har har) open-source software for GRBL controllers. In our experience, it’s probably one of the best G code senders for DIY laser enthusiasts.
This handy software can reliably send G Code paths to your connected Arduino. It can also engrave logos and images with its internal conversion tool.
The LaserGRBL interface is a no-nonsense, clutter-free interface that focuses on getting the task done. A simple preview takes up 80% of the screen, giving you a great idea of what to expect when laser engraving.
The interface includes job time estimates and even real-time position tracking for better management of your laser engraver.
One of the most loved features of LaserGRBL is the fantastic color scheme selection. You can select from several color schemes that are fully optimized for use with laser safety goggles. This optimization means less time trying to see what is happening on the screen and more time staying in control of your laser engraver.
LaserGRBL also comes with detailed alarms and error codes. Having such well-documented error codes and alarms make troubleshooting quick and easy.
LaserGRBL currently only works with Microsoft Windows. Some enterprising users managed to port a working version on Linux, using Wine 5.0 and Wine Mono 4.9.4 (Wineprefix 32-bit) with the WindowsDLL GDIplus.
You should note that to use LaserGRBL, your engraver must support laser power modulation through the efficient Gcode “S” command.
We find LaserGRBL one of the easiest, Windows-based GUI interfaces to use with any laser engraver.
- Straightforward installation
- Accurate preview and job time estimation
- Color schemes designed to work with safety glasses
- Only supports controllers with GRBL 1.1 and up
Most Popular for 3D Printers: ESP3D WebUI
It’s only a matter of time before DIY-tinkerers convert their motion controllers to work in 3D printers. This meteoric rise in popularity is the inspiration behind the popular ESP3D WebUI open-source software.
ESP3D WebUI does what its name says. This handy piece of free software provides you with an easy-to-use web interface to control your 3D printers.
A highly compressed CSS bootstrap and several SVG graphics make for a lightweight, pleasing user interface. The smaller footprint allows for more available resources on the ESP32 controller, making larger projects easier to complete.
This beautiful interface comes with all the controls and monitors your 3D printer requires. Some of these data-driven windows include position, temperature, SD card directory, print, and more, giving you all the necessary data at your fingertips.
ESP3D WebUI comes with built-in macro support, some good-looking temperate charts, and even supports multiple languages.
Since ESP3D WebUI uses an ESP8266 or ESP32 based board, we get access to Wi-Fi configuration, removing the need for additional USB cables around your new 3D printer.
You also get access to edit the GRBL settings, Repetier EEPROM, and Smoothieware config file with the ESP3D WebUI software.
Since ESP3D WebUI is a browser-based application, it works with most major web browsers. To ensure compatibility, you need to ensure that you are using the latest firmware version on either their ESP8266 or ESP32 controller boards.
ESP3D WebUI is a great companion for any DIY enthusiast ready to put together their first 3D printer. The interface is simple to use and promises only to improve in the future.
Setup may not be the easiest, though, so this open-source GRBL-based project is not recommended for beginners. Nevertheless, if you want to attempt compiling this software, the active community on GitHub is more than willing to answer any of your questions.
- Browser-based interface
- Fantastic 3D printer tools and diagnostics
- Active modding community
- Complicated installation and compiling process
Best Software for Mobile Devices: GRBLcontroller
Have you ever wanted to control your GRBL-powered CNC router or engraving machine from your phone? If so, look no further than the new GRBLcontroller open source, free software.
This compact Android mobile app makes controlling your CNC machine via Bluetooth reliable and straightforward.
The interface is designed with mobile devices in mind. It’s clutter-free and puts all the immediate controls within reach of your fingertips. The interface sports a red, gray, and white theme which is easy on the eyes.
Some of the tinier details, such as X, Y, and Z coordinates, are small and difficult to read on a mobile phone depending on your screen size. If you have an Android tablet, we’d recommend installing the controller there, as the larger user interface makes it much easier to navigate and control.
Four highly customizable buttons make it incredibly useful and compatible with a variety of GRBL-based controllers and machines. Customize these time-saving buttons with your most-used commands to automate various functions.
Android and Bluetooth ready. Yes, we know we have mentioned this before, but there genuinely aren’t many mobile-friendly apps made with CNC machines in mind.
Using a tablet, instead of an expensive laptop or computer, in a dusty routing environment is a better option. This way, our controlling equipment lasts longer and requires less maintenance.
This software also supports sending Gcode directly from your mobile device.
Perhaps the only downfall is that this beautiful piece of software is only available on Android Marshmallow (version 6) and up. It lacks support for older Android versions and iOS devices. We would love to see it ported to iOS, making it accessible to thousands of more users.
GRBLcontroller is a fantastic Android mobile app. The support and love that the development community shows this app makes it easily one of the best, if not the best, mobile-friendly CNC controllers. It’s also open-source and free, making future possibilities endless.
This software is perfect if you dream of a wireless environment where you can control your CNC machine from a tablet.
- The fantastic interface on an Android tablet
- Bluetooth controller
- 4x customizable buttons
- Doesn’t support trimming decimal places
Best Newcomer: Goko
Goko is a great desktop application for CNC controllers running either TinyG or GRBL. It’s one of the newer open-source, free software available to DIY engineers and hobbyists alike.
This software deserves a special mention. Despite being relatively new, it has some of the best documentation found online.
We find that Goko has a unique approach to the user interface. The interface consists of multiple views. Each view page can be customized, minimized, or even moved around in the GUI. This environment makes setting up the perfect workspace relatively simple.
With plenty of viewer preferences, you can customize the interface even further. We’re fans of the grid options, which allow you to set the opacity and grid line colors. This customizable grid makes it far easier to prepare our cutting projects, resulting in less material being wasted.
Goko comes with a 3D view that now includes a mouse for those operators that want to investigate every aspect of their project before starting the CNC process.
We were also pleased to learn that Goko provides some of the most accurate time estimates in the industry. Its refined estimation software uses the spindle’s maximum speed, path length, depth of cut, and material type to provide time estimates accurately.
Goko is based on Java, and as such, it requires a Java Runtime Environment to be setup on your operating system before you can use it. Goko supports both 32-bit and 64-bit virtual machines, making it a more compatible option for hundreds of users.
We simply love Goko. It’s a multi-platform, open-source CNC control software packed with valuable features. Goko provides you with the critical tools to move and execute jobs on your controller board. It even allows you to modify or edit the existing GCode files on your motion controller boards.
- Reliable performance
- Straightforward installation
- Excellent documentation and guides
- Limited to Java environments only
How to Choose the Best GRBL Software
You don’t have to worry about choosing the best open source software for your GRBL-based controller. Even if you choose the wrong software, it’s as simple as wiping your GRBL controller and installing another software package.
It’s best if you always look for software that addresses your specific concerns. For instance, you don’t want to install GRBL software with a bunch of laser-orientated features if you’re using the software to control your 3D printer.
Our list covers various applications, such as 3D printers, laser engravers, and industrial-sized CNC milling machines. There’s bound to be a recommended software package for you in this list.
Another critical aspect of choosing the best software is making sure that there’s ample documentation available. If your favorite software has excellent guides and comes with some examples, you can rest assured that the development team behind it is passionate and dedicated to a reliable script.
We only included software applications that have a great fanbase, with genuine support from the development community.
Advantages of Using GRBL Software
GRBL is often described as being a high-performance, low-cost alternative to older parallel-port-based motion control. We agree.
Instead of requiring the older parallel port on your computer, you can simply connect your CNC microcontroller through a USB cable for programming. The faster data transfer rates cut development time, saving you money.
Having your motion controller based on GRBL also ensures that your microcontroller board is future-proof. With continued development on the GRBL platform, it remains the perfect solution for CNC milling.
GRBL itself is open-source and runs on several popular Atmel ATmega328-based controllers.
This means that GRBL offers:
- Faster development time
- Direct connection with a USB cable
- Open-source code to modders
- Frequent updates
Disadvantages of Using GRBL
Currently, GRBL 1.1 only supports 3 motion axes, namely, X, Y, and Z. While that is more than sufficient for most CNC hobbyists, GRBL sadly lacks support for rotation axes.
Will GRBL Be Viable in the Future?
As open-source firmware, GRBL has an active community of developers and advocates continuously improving the GRBL platform.
The next step seems to be grblHAL. This ominously named version boasts more memory, higher performance, and even faster porting to your shields and CNC controllers.
GRBL will likely remain one of the most used Universal Gcode sender-compatible platforms around.
Our final thoughts on GRBL software
With so many different open source software applications available to users, we encourage you to explore and experiment. Since almost all open source software is free to use, you only need to download the latest iteration to test it on your GRBL motion controller.
Part of the fun of being a DIY engineer is discovering new avenues and getting them to work when nobody even thought it would be possible.
Perhaps, during your journey, you’ll find GRBL-compatible software that we didn’t include in our list. This is all part of the journey. For every imaginable CNC project, there are a dozen mods and apps that can make your life easier.
Mike Hostetler is an Entrepreneur & Technologist currently working to help technical teams grow and thrive. Mike formerly founded appendTo, a boutique consultancy born out of the jQuery project. He is an active OSS supporter and currently serves as CEO & Publisher of ModernWeb.com. Mike is passionate about Remote Work, the Future of Work, Leadership and helping others succeed.