GRBL into a home made laser (plasma) CNC

Hi everyone .
I m considering to buy this software but i m having an issue about my machine itself .
So i made a homemade laser cut machine ( i m fabricator, i m cutting steel with it )
I m using the GRBL interface . So i made some test ( have a look picture 2 )

one of the issue i got is the plasma is alway ON while travelling . if we have a look on the Gcode it s because the M4 ( On/Off spindle ) goes before the First G1 ( Which is the start of the cutting ) . make sense, because with a router, you want the machine ( the router Bit ) to be ON and you are travelling by having the axe Z going Up and down from a location to another .

I know how to fix manually by changing the Gcode, but i would like to avoid to have to do that ( High risk of mistake if i got 20 pieces to cut from one sheet ) . it s the very reason why i would buy the software if i can sort out that problem .

I just would like to know if someone had the same issue or is having an idea about it .


1 Like

I think your $32 grbl setting should be active for a laser and needs to be set to 1. I believe this is there for expressly that issue.

If it’s standard grbl, did you follow the Lightburn setup page for grbl machines?

Nice creation… I couldn’t afford to feed it … :face_with_spiral_eyes:

Good luck


Thanks for your answer .
i may spend a bit of time on the set up page ;D
it s not a laser but more of a plasma cutter i guess ;p

32=1 ====> laser on
32=0 ======> spindle on

If i turn the $32 by 1, i don t think i ll have any signal because the spindle will be off and my wire on the motherboard itself is connected to the spindle.

electronic wise, i m using an arduino UNO and the wire on the motherboard is connected to the Spindle because GRBL isn t specially made for the plasma ( i don t need speed control on the router / no need of Z axes, i just on a signal on and off )
So i kind of connect the wire into the spindle to be able to get a signal .

Now if we have a look on the Gcode GRBL is starting the spindle

M4 - start the spindle counterclockwise at the S speed (so i m using this command to have a signal on the torch . )

i have been able to have some result by changing the position of the M4 / M5 manually . but i don t want to have to modify the Gcode everytime by hand :stuck_out_tongue_winking_eye:

My machine isn t perfect :stuck_out_tongue_winking_eye: far away from that specially for the circle . but as a fabricator i just fix it :stuck_out_tongue_winking_eye:
thanks for your time

We see that a lot of converted or add on lasers to cnc machines with grbl boards.

They all seem to use the spindle/laser output circuitry, but with a regular spindle you don’t turn it off between moves.

The $32 set to 1 turns the spindle/laser off between moves.


1 Like

Ok ok i ll give it a try ;p

Just tried, same problem :stuck_out_tongue_winking_eye:
thanks anyway ;D

What was it set to?

That is the only thing I know of that matches the description…

Hang in there until the Lightburn people head back after the holiday weekend.

@berainlb might have a suggestion.


$32 was set up on 0
i turned it on 1

but the result is the same .
Yep that s is cool thanks for your time .
I knewn it would be a bit funcky to sort out ;D Gypsy style machine ;D


You might be better off using GRBL-M3 and setting $32=0. This will use M3 instead of M4.

G0 will be used for all traversal moves and G1 for cutting moves.

Push Devices button in Laser window to edit your device type to GRBL-M3.

1 Like

It works,
thanks both of you guys,

now i got to work out 2 little things, how to let a little timer for the IN and OUT of the cut . As you can see on the picture (top square ) there is a delay on the plasma when it start and actually cut .

other little question eventually . Do you know where can i set up the position of the torch ? for example on the picture i got a perfect 40x40 mm square (the void ) but if i want the part just cut to be at 40x40 ( basically having the cut thikness of the plasma outside my design ) . Any idea of where i can adjust the set up ?

Thanks for your time (again)


In the Advanced tab of a Line layer there are options for Start pause time and End pause time. That may get you what you need.

Not quite sure if I’m following what you’re asking. Are you asking about cutting outside the actual shape to account for the kerf of the cut?

If so, you can set kerf size in Cut settings. You could also simply design your shape larger to accommodate the kerf. This depends on how you work.


I m having a design in DxF pre-made with some triangle .
i m planning to import it into Lightburn.
with a shape a bit more complex . I cannot just make the design bigger / change the dimension
i would like to have the cut lign outside the design .

i ll have a look about the timer .
thanks :stuck_out_tongue_winking_eye:


Look at the kerf setting. Using Offset Shapes tool can also accomplish this if you want to adjust the design.

ok ok thanks,
I ll try this out.
thanks for the lead ;D

this is amazing . thanks you very much .

maybe a last one ;D . let say i m having 40 cuts to do in 1 sheet .
if i remenber there is a command in Gcode wich is a kind of "click on the button for keep going the program " .

do you know if there is a way to do like 10 check point on one program ? so i can check if something wrong happen ?

let s say the power cut in my house . the machine turn off . does there is a way to have this program made by part so i don t have to launch the full program ?

Sorry english isn t my first language, hopefully what i m saying make sense.


1 Like

Some machines have built-in power outage recovery. However I think that’s still pretty rare for hobbyist machines as I’ve only seen that advertised in a couple of machines.

In LightBurn, one of the tools to help recover from failed laser operations is by using the “Start from” option under the Preview window. This allows you to step through the preview to the point where you want to start the job, by using “Start from” at that point you can continue from that point. This isn’t super precise however but can often be enough to recover from a failed burn.

Something else you might consider, with multiple parts in a job, is to break them up into groups and put each group on a different layer (the different colors on the bottom). That way you can turn different groups (layers) on or off depending on what needs to be cut. If I had one part that didn’t cut all the way through, I could put it on its own layer and turn off the output on the others, that way it just cuts one part out of the whole job. I may have misunderstood your question, if so, please feel free to ignore what I’ve just said :laughing:.


i m having a dayli limit of message on the forum :stuck_out_tongue_winking_eye:
it s what i did at the end . cutting by layer . for a first test it was great now i got few other things to sort out .

I can t set my homing properly and my physical 0 on the axe X is at the -660 mm . which mean that when i want to back to x0 y0 i end up in the middle of the table :stuck_out_tongue_winking_eye: . I ll have a look tomorrow about that .

i m having some problem of wrapping too . the sheet start to bend because of the heat ( expectable ) . I don t know if there is some trick othe than a coolant system ( like where to put the biggest cut smallest or other to reduce this problem ). Because the sheet move and my Z axe doesn t, i have to make a test first with the plasma off making sure that i m not touching the sheet with the torch .

I m considering to make a clamping system on the edge on the sheet . I m always gone work on half sheet 1200x1200 .

Have a good day,

There is a compile-time option in GRBL to set the origin at home location (HOMING_FORCE_SET_ORIGIN). Enable that and home location will be origin after homing.

hello .
it works just fine . i m so happy, it s saving me my back, some cutting disc, hours of marking and so on .
there is still one thing i ll have to modify . but maybe be the dev of the software itself may have the answer .

one of the issue i got is about the sheet of metal starting to bow because of the heat . i don t really want to set up a coolant sytem and i can afford 2/3 mm mistake (playing with the gap on the weld for the next part of the job )

in case of emergency ( torch touching the sheet ) does there is a way to control the axe Z while the machine is cutting ? does LB can modify the Gcode while the machine is cutting ?

Should i disable the axes Z for LB and maybe see for a remote systems managing Z ?


1 Like