I have a DIY laser engraver with an Arduino Uno board, a CNC Shield with 3 stepper controllers and a 2 watt laser and want to set up Arduino and Grbl to run it or something better. Can someone lead me in the right direction, step by step instructions on how to accomplish this. I am very, very limited on programming ability.
Thank You for your assistance.
Bruce
First off install the IDE from here but select 1.8.9 version for now.
Install that on your computer.
You then need to get and install the current version of GRBL
Then you need to INSTALL that library into the IDE.
There are multiple sources for loading GRBL onto your Arduino once you have installed the lib.
But for brevity you open the IDE then select the GRBL EXAMPLE you installed earlier and then use the IDE to upload it to the UNO.
Once that is done you can forget about the IDE as such.
From here on in you will need another program to send G-CODE to the UNO which will translate that into machine commands to move the axis on your laser engraver.
My preference for basic getting to grips with laser work is LASER GRBL
Almost any program you use for GRBL will also allow you to fine tune the movement parameters as well.
This will be your first major task as you will probably find that the movements do not correspond to the measurements you are using.
When you are ready for that stage come back to this post and let people know you are ready to set up your machine itself. Again the internet is full of help so if you google "grbl settings" I am sure you will get the basics of what to do next.
I also recommend reading this post for future reference in the forum.
Bob.
Bob, Thank You very much. I will definitely return when I have done all that is listed here.
Bob, this version of GRBL?? v1.1h (2019-08-25) Release
That is the latest one yes.
Occasionally people need older versions for very specific reasons but there should be no issue with 1.1H as pointed to in the link.
Bob.
I have loaded the following:
install
grbl 1.1h 20190825
arduino 1.8.10
grbl v1.1h 20190825.hex
are these correct?
I did say 1.8.9 for the IDE but if 1.8.01 works then no problem.
Did you use the IDE to upload the GRBL to the UNO ? (that is a very important step)
If you installed the library as shown in the link already given then when you open the IDE you should select "FILE" then "examples" and scroll down the list until you see "grbl"
That will open up GRBL in the IDE screen.
Simply connect your Arduino and select the correct COM PORT and then hit the upload button in the IDE.
When that is done you are finished that stage and can close out the IDE.
Bob.
went to github site, clicked on download, download zip,grblmaster, grbl, examples, grblupload(with Arduino LOGO), sketch, upload, I get an error: grbl h no directory. When I go to the file in IDE there is no grbl. What did I miss??
Been playing myself this weekend and found I had to move the inner folder "GRBL" to libraries manually.
Until the inner folder is in the correct place it wont see the GRBL that is needed.
Am also dropping back here to 1.1F.
So you got the ZIP.
Place it somewhere safe where you will not over write it and extract the contents to its own folders.
Now go to that folder and you should see three folders "Build", "Doc", "Grbl"
If you need to then rename the GRBL folder it if it has anything other than GRBL as the name eg "Grbl_Master" to simply "Grbl"
Now COPY that to your libraries location and just drop it in there ignoring the other two folders .
You only want the GRBL one.
If your IDE is open then close it and then open it again and scroll down EXAMPLES.
It should now be listed.
Select the GRBL UPLOAD sketch and upload it to your UNO.
Bob
Thanks for the clarification on getting this GRBL software to compile and upload.
I too was having the same issue as CT, during compiling I would get the grbl.h file not there
message and was getting very frustrated with the attempted uploads.
I did as you said and then it all worked, uploaded without issue.
This is where i found the GRBL software using the MEGA: GitHub - fra589/grbl-Mega-5X: 5/6 Axis version of Grbl, the open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on an Arduino Mega2560
and this wiki page on compiling i see where i screwed up but there is too much info there and easy
to get turned around: Compiling Grbl · gnea/grbl Wiki · GitHub
Thanks again Bob!
Found the Grbl in the library in the IDE and clicked on it and clicked on Grbl upload. Got the message about the file size etc. So it took? What next.
Well done that's it for the IDE.
Now you need another program to start to play with the whole thing and setting up the parameters.
Just how "DIY" is your engraver ?
What stepper motors are you using and or lead screws and the pitch of those etc.
Generally the GRBL settings are almost good right out of the box and often don't need too much work to tweak them in.
The ones you need to be correct more than anything are.
$13 - 0 or 1 which decides if you are working in metric or imperial. (all metric here)
$32 - 0 or 1 Laser enable or not. 1 for enable 0 for not.
$100 to $102 If you know what your lead screws and stepper motors are then you can use some of the online calculators for this but if not a ruler comes in handy. Simply tell the machine to move a single axis 10mm and if it is less (lets say 5mm) then increase the number X2 and if it is more than 10mm then decrease it in a similar fashion. I small digital verier comes in useful too if you have one and want to get right down.
$110 to $112 Generally leave these alone just for now but you might want to tweak these later. Increasing is faster and decreasing is slower in steps of 50 or 100 until you get something that is fast or slow enough for you to work with without causing the laser not to burn if it is too fast.
$130 to $132 These are for the maximum travel of each axis on your machine. More useful once you have end stops and such and depending on the G-Code sender they can stop you running past the soft limits which these are.
Your biggest thing is getting the travel steps correct.
For laser work I love LaserGrbl as it is very versatile, easy to use and best of all FREE !
Bob.
Thank You very much
The issue now is finding a G code sender that takes advantage of the other axii and so far I have not
found any. Only 3 axii and not 4 yet (or 5 or 6 as the Mega GRBL can use). When you send $$ to the
GRBL in the Mega it comes back with a config listing and there are item numbers that I see that have no
definition as to what they are like the 3 axis GRBL that i have been using with my laser engraver. Is there
a page that has this info or definitions for the extra commands? I would like to setup a 4th axis to rotate work pieces like I can do on my CNC mills but those use Mach3 or Flashcut as post processors. I use a laptop for this engraver so Mach3 I can't use and Flashcut has their own proprietary driver box that uses a USB connection similar to GRBL.
I have been using bCNC but they only do 3 axii and found a fork for a 4th axis but it needs lots of work
to really work good. Then there is UGS and was hoping that had a 4th axis setup but no it doesn't have
that either. So I will keep looking as there must be something out there that has a 4th axis that you can jog etc. like the other 3 axii?
Oops, this thread is getting beyond the original request so if I have to I will create another topic.
Most often the 4th axis is just a CLONE of one other axis and often just set by jumpers (or a switch)
Not got that far myself either but I suspect if you just want do do rotary machining you would simply disable one axis in favour of the rotary one.
Clearly the steps per MM etc will come into play in a big way.
Most of the software that can handle 4/5 axis is meant for 3d printing until you get to the MACh setups (not that far along there either).
I LOVE UGS but I find it can on occasion be flakey for larger file jobs.
Do my prep in ARTCAM (now defunct) and then save it as a MACH processed file and my little machine has never once complained unlike some of the other pre-processors.
From all the reading I do it seems everyone prefers something a little different in the way they approach CNC and often I think it is related to the learning curve. At 62 I think my curve is almost a flatline LOL.
Bob.
Bob, stepper motors are Quimat #17HD48002H-22B
Arduino Uno with matching CNC Shield 3 stepper controllers X, Y, Z(clone for X)
I attached a photo but do not know if will show up.
I also downloaded Laser Grbl
I tried to use it but it tries to connect but closes after a few seconds.
![IMG_20190918_200458160[1].jpg|0x0](https://europe1.discourse-cdn.com/arduino/original/3X/a/1/a1444e62960761cc6857eac2a0ddbd44e49aa4de.jpg)
Picture is blank or not a JPG
Remove the shield to make sure that is not the issue and try connect to lasergrbl again.
If lasergrbl can connect it will show a line of green text at the top of the left output panel.
Bob.
removed the shield and tried to open Laser Grbl no dice. Checked Libraries and grbl is there. Should my power supply be on or off? I did notice that the sketch (Blink) is not in the library.
Can you do a Teamviewer 14 to see my computer??
I checked the sketch again and it shows at the bottom of the pane:
Low Memory available problems may occur
I replaced the shield before I tried Laser Grbl.
It is not uncommon to see the low memory warning as GRBL cuts it quite close to the limit of the UNO.
DO NOT load other sketches up to the board once GRBL is loaded as they will just over write GRBL.
Once GRBL is loaded it would indicate that the UNO is probably OK but no guarantees as they can be damaged if the CNC shield touches the USB port (insulation tape is the normal fix for that.)
Make sure you CLOSE the IDE down and maybe even do a computer restart in case the COM port is being held by something.
Start up the computer and fire up lasergrbl and make sure you do select the correct COM ports from there that matches device manager for the UNO.
Then hit the CONNECT button in lasergrbl.
In my case as per the pic below I choose COM 6.
Then you should see the line of text at the top of the centre console in green.

Bob.
