GRBL Firmware

Last Update: 7 December 2020

The LongMill runs off of GRBL firmware, an open-source firmware that is designed Arduino based CNC machines.

The GRBL Wiki has a wealth of knowledge on compiling, connecting, flashing, and modifying GRBL.

LongMill Firmware (Oct 21, 2019) 

LongMill Firmware (Feb 25, 2020)

Flashing GRBL Firmware to the LongMill

You may choose to flash the latest version of the GRBL firmware to the LongMill. These are the instructions on flashing the firmware.

1) Download the firmware and Arduino IDE

Start by closing any programs that can connect to your controller such as any gcode sending programs (UGSPlatform, Universal Gcode Sender)

Download the firmware you want to flash above. You will also need the Arduino IDE to compile and flash the firmware. Install the Arduino IDE to your computer.

If you have flashed GRBL firmware before using Arduino IDE please ensure you follow the following instructions as well. If you have never flashed GRBL firmware on your computer before, you can skip this part.

You will need to make sure to delete any old libraries for GRBL. Arduino typically saves libraries in the Documents > Arduino > Library folder of your computer for both Windows and Mac. If you do not delete the old library first, you will install the old version of GRBL.


2) Use the Arduino IDE to clear the EEPROM

Start by plugging in your Arduino/control board. Open the Arduino IDE. You will want to make sure to check that the IDE has recognized your board by going under Tools menu. Make sure that “Board” is set to “Arduino/Genuino Uno and “Port” is set to your Arduino. The naming scheme for port names on Mac can look a little bit different, but typically the correct port is indicated with “(Arduino/Genuino Uno)” in the name. If your program fails to upload, you can try a different port until you find the correct one.


To ensure that all of the old settings are cleared from the Arduino’s memory, we will do an EEPROM clear. The Arduino comes with an example program that lets you clear the EEPROM easily. You can find it under File > Examples > EEPROM > eeprom_clear.


Click on the “Upload” button on the top left of the program to compile and upload the program.


3) Uploading the GRBL firmware

We’ll be opening the program that will flash the firmware to the LongMill. You can find the grblUpload.ino file at grbl > examples > grblUpload. Once you find it, open the file.


We will now need to upload the grbl library. In the menu, go to Sketch > Include Library > Add .ZIP library.


After clicking Add .ZIP libary, navigate to the downloaded firmware and select the file. Select and open the file. This will add the library to the sketch.


Upload the firmware by clicking on the upload button on the top left corner. It can take a minute or two for the firmware to finish uploading. Once completed you should see “Done uploading” in the turquoise bar as the bottom to let you know that the firmware has successfully been uploaded.

Don’t worry about if you see a message for “low memory available”. The GRBL firmware uses up a lot of the Arduinos storage space but is designed to work very reliably regardless. The LongMill version is, if anything, a little bit smaller than the default GRBL firmware so it will be just as stable.


You can check if your firmware has been correctly installed by going to Tools > Serial Monitor. This will open a window to show the console output of the Arduino. If your output looks garbled, make sure to set your baud rate to 115200. As you can see, the output shows the firmware version and build date.


Your controller should now be flashed with the new firmware. Before opening your gcode sender, make sure to close the Arduino IDE first.