Octoprint® is quickly becoming the best way to drive many types of machines. Including CNC and lasers mills that use the common 3D printer controllers. I have one 3D printer and one CNC machine. In my previous blog, I explained how to control multiple printer’s trough Octoprint. Now I will explain how to convert one of them to control a CNC machine, using GRBL.


First things first: GRBL (which doesn’t actually stand for anything in particular, and is pronounced like “gerbil”). It is free, open-source software that was developed as motion control for an Arduino microcontroller board. It makes it possible to use an Arduino to operate CNC machines. It was initially released to the public in 2009. It has since been adopted by several companies as their software of choice for motion control (beating out similar proprietary applications). It remains available for free on GitHub.

GRBL software is run on ATmega328-based microcontrollers, which are found on most Arduino boards, and you can stream G-code commands directly through It. Many software applications are free to use in conjunction with GRBL, such as Fusion 360.

Better GRBL Support

Better GRBL Support is a plugin that lets you use GRBL based CNC machines with OctoPrint. This plugin gets you 90% of the way there for adding support to Octoprint, but had a couple limitations and lacked some bells and whistles from a UI and configuration perspective.


Now that the Hardware is ready, we can go to the software part. Fortunately, installing the software is really easy as we’ll be using a pre-existing plugin. Open the Octoprint in your browser and log in.

Next, click the settings icon (wrench).

Now choose the plugin manager on the left-hand side.

You’ll see a list of plugins, but you need to select the + get more button on the top. en simply search for Better GRBL Support. At this point, you should see Better GRBL Support by Shell M. Shrader.

Go ahead and install it.

It will take a few minutes and afterward you’ll be prompted to restart your Octoprint.

Restart OctoPrint. Next, click the settings icon (wrench).

Now choose the Better GRBL Support on the left-hand side. And just your settings as are fit for your CNC Machine.

Simple as that!

Actually, there is one setting we need to change for this plugin, open OctoPrint’s settings page again, choose ‘Better GRBL Support’ from near the bottom of the left-hand menu and then change the value of ‘Hello Command‘ to blank (instead of the default ‘$$“).