Basic CNC Router Controller, Part 2 - Software Arduino IDE and GRBL

Part 2

Software – Arduino IDE and GRBL

There are many different open-source (free) software options that are compatible with this controller. I will discuss the software that I am familiar with.

The first software you will need to download onto your computer and install is Arduino IDE which is the Arduino development environment.

Here is the link to download it: https://www.arduino.cc/en/software

The software is free and will allow us to program in our embedded software, also called firmware onto the Arduino.

 

If the install was successful and you have launched it, you will get the following window:

Arduino IDE Software for CNC Shield

Connect the Arduino Uno board to your computer and click on the “Tools” tab, ensure the “Board” tab is set to Arduino Uno and the “Port” tab has detected the board.

 Arduino IDE Software

We are now going to program the board with the firmware. I have chosen GRBL as I am familiar with it. Most toolpath software such as Vectric and Fusion360 can export GRBL toolpaths. It is open-source and therefore is free.

Here is a link to download it: https://github.com/gnea/grbl/releases

You will have to download the "Source code (zip)".

GRBL Software

Then extract the zip file.

 

In Arduino IDE software click on “Sketch > Include Library > Add .ZIP Library”. Navigate to where you extracted the folder and select the “grbl” file. (This is not a ZIP folder but it will work).

 Arduino IDE

Click on “Sketch > Include Library” and confirm it says grbl. (Don’t click on it)

 Arduino IDE GRBL

Now that we have added the GRBL library we can upload it to our Arduino. In the Arduino IDE software click on "File> Examples> grbl> grblUpload" and it will open a new window.

 Arduino IDE GRBL

The final step is to click on the arrow at the top left of the window which uploads the program to the board.

 Arduino IDE GRBL Upload

Once it displays “Done Uploading” it is finished uploading. (Ignore the warning messages regarding available memory. GRBL uses almost all the Arduino’s available memory.)

 GRBL upload complete