Firstly make a note of your GRBL machine settings. My Settings
- Download the GRBL version you want to flash onto the controller board from GitHub. It is the ZIP file you will need.
- Unzip it and remember where you put it.
- Download the Arduino IDE and install it (if you haven’t already got it). You will need the Windows App, not the online web editor.
- Load the Arduino IDE, select in the menu at the top of the IDE:
- Sketch > Include Library > Add .ZIP Library…
- Select the grbl folder (inside the unzipped folder next to doc and build) and ‘Open’
- The GRBL library should now be installed within the IDE. Within the IDE select from the menu:
- File > Examples > grbl > grblUpload
- grbl gets lost among the long list of examples – look carefully
- File > Examples > grbl > grblUpload
- Plug in the USB to the controller board
- In the IDE select
- Tools > Board: > Arduino Uno
- Tools > Port > COM?
- The COM port number varies. If you have more than one to choose from unplug the CNC controller board and see which port disappears – that’s the one you need when you plug it back in.
- [OPTIONAL] To tweak the firmware configuration go to:
- Documents > Arduino > libraries > grbl
- Load the config.h into a text editor (Notepad). There’s lots of options all quite well explained within the comments.
- Upload new firmware by clicking:
- Sketch > Upload
Now check your GRBL configuration and adjust the values back to your preferences.
Dear Bob,
I am gettting the bellow error, Could you please help me with this?
Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”
In file included from C:\Users\DDLT03\Documents\Arduino\libraries\grbl/config.h:30:0,
from C:\Users\DDLT03\Documents\Arduino\sketch_may20a\sketch_may20a.ino:1:
C:\Users\DDLT03\Documents\Arduino\libraries\grbl/grbl.h:68:4: error: #error “Required HOMING_CYCLE_0 not defined.”
#error “Required HOMING_CYCLE_0 not defined.”
^~~~~
C:\Users\DDLT03\Documents\Arduino\libraries\grbl/grbl.h:108:4: error: #error “WCO refresh must be greater than one.”
#error “WCO refresh must be greater than one.”
^~~~~
C:\Users\DDLT03\Documents\Arduino\libraries\grbl/grbl.h:111:4: error: #error “Override refresh must be greater than zero.”
#error “Override refresh must be greater than zero.”
^~~~~
exit status 1
Error compiling for board Arduino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Sorry, I didn’t get errors doing this – at least none I remember. Not sure what they mean. I did change the homing setting but not because of an error.
You could try turning on verbose in the ide. With luck you’ll get a better idea exactly where the problem is.
If you haven’t got the exact same controller board maybe try some different boards in the ide. Nano or Mega maybe.
Good luck
Thanks Bob. This was super easy. Other tutorials claimed the CNC board was Nano based. My Arduino IDE then refused to upload.
You identifying this as Uno based was what I was missing.
Thank you.
i tried to follow, but when it gets to include zip library. all it says is that the file from github does not contain valid data.
At Step 4? When you unzipped at step 2 did the content of the unzipped folder contain the grbl folder?
HI I NEED SOME HELP IN MILL MACHINE CNC 2418 GRBL CONNECTIONS ..THIS HAS A X/Y1/Y2/Z AXIS ON BOARD CONTROLLER,,,MY MILL MACHINE HAS 3 AXIS X/Y/Z HOW DO I MAKE AXIS WORK? TY ROB
Often driver boards are for more than one machine and so can be configured. Some, including mine, has the option to drive two stepper motors for the same axis. If you only have one stepper per axis then you should be able to leave one of the y axis outputs unconnected. You might find configuration jumpers somewhere on the driver board will need moving.
Without problem. Thank You!