JTech laser/GRBL spindle issues


Been playing around with my laser for a few weeks or so and have been generally very pleased with its performance. I have the most recent GRBL 1.0C build that allows switching between Laser/Spindle operations without requiring a reflash of the firmware.

I have run into one frustrating issue though which I hope those with better programming understanding can help me with.

I have the spindle max/min speeds set as instructed by JTech to correspond to the power values of the 2.8W laser. $30=255(max), $31=0(min). I have spindle (laser) set to “on” $32=1. Before starting my engrave I will set the M3 SXXX values to my desired settings. Initially a M3 S10 to focus and position the laser. I will then set a higher power setting for the engraving. Lets say M3 S75. The laser will bump up intensity - I start the carve and then the Jtech post processor takes over as it should, cuts the laser until its “working”.

Here is my problem - Not matter what M3 SXXX value I set prior to the engraving, when it actually starts engraving it will always be the same (but not desired) intensity. I tried starting one at M03 S10 which will not burn wood at all, and when it starts the carve, its intensity is the same as always and engraves with powerful beam.

I watched the g-code output and noticed all the outputs contained an S value of 12000. I started thinking that perhaps the tool path settings I used in Vcarve were setting the g-code spindle speeds (and thusly laser power). I went back, and changed the RPM in my tool setup to what would correspond to an S10 value (360 rpm).

Watching the new g-code outputs, they indeed reflect a S360 value - but alas the laser power is still the same unchanged powerful beam.

What am I missing in programming the GRBL??

Here are my current GRBL Settings

Grbl 1.0c [’$’ for help]

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=4 (dir port invert mask:00000100)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$30=255. (rpm max)
$31=0. (rpm min)
$32=1 (laser mode, bool)
$100=39.966 (x, step/mm)
$101=39.966 (y, step/mm)
$102=188.882 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)
GrblFeedbackMessage{message=’[G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 F0. S0.]’, distanceMode=‘G90’, units=‘G21’}

Any help you can offer would be greatly appreciated!

The max rpm value is 255. Any S value of 255 or greater will ask for full power from the laser.

Also, your grbl parameters are set to the values for spindle work. There are better values to use for laser work.

1 Like

Would that suggest in V-Carve to set “spindle speed” to a number between 0-255? so for my S10 setting to set it as 10RPM?

Where would I find those parameters?

If you are using my version of grbl look here:


Thanks Larry!

Out of curiosity, what do the alterations to the parameters do to make engraving better?

Ive noticed that with the higher feed rates, there is a bit of “jiggle” to the laser (even with the router removed) from the abrupt change in directions resulting in a burn that isnt smooth. if I slow down feed rates it goes away.

I haven’t looked into that. I just used the ones I was given by @picengravertoo. He has done extensive laser work and I just used his values for my testing.

It might be due to the capabilities of the computer that you are using. If it can’t send the G-code fast enough you might see some jerky motions. My version of grbl has been used successfully up to almost 200 ipm without jerky transitions.

Also, check to make sure your mechanical setup is ok. If you have a loose V-wheel or pulley set screw that could do it.

I’ll go back and check the set screws.

Im using a gaming laptop to send the gcode…cant imagine it doesnt have the power to push gcode fast enough.

Try changing your grbl settings to these values for when only using the laser.

$0=30 (step pulse, usec)
$11=0.005 (junction deviation, mm)
$120=6000.000 (x accel, mm/sec^2) <---------Experiment with this value. It can go as high as 12000.00
$121=6000.000 (y accel, mm/sec^2) <---------This one too, but it needs to be the same as the x accel.

Our PicSender streamer works very good with Larry’s MultiMode grbl 1.0c. If setup properly, it will change the grbl settings automatically when you switch between the Spindle & Laser Modes. It was developed to run very large, fast changing gcode commands reliably.


1 Like


re-torqued and loctited the setscrews on the stepper motors. Updated my grbl settings to the ones Larry suggested. still getting wobbly lines, and I am 110% convinced it is the laser mount itself jiggling due to the inertia of such rapid and abrupt directional changes.

You can see how after a direction change, there is a vibration and then it dampens out. I am contemplating just making a solid aluminum laser mount opposed to the printed plastic one that came with the laser.

As for software - purchased PicSender and have a few issues with it. My $3 setting needs to be 4, not 3 (inverts all axes movement otherwise). Changing it isn’t an issue - but PicSender seems to revert back to a “default” setting every time I close and re-load it. I have to change my $3 setting every time I initialize the program. The “default” settings on PicSender are a bit lower on the acceleration rate of the motors, same values as spindle work as I recall - and guess what - zero wobble to the lines!

I dont know what to tell you then. I change my $3 value to $3=4. do an engrave. close program. open it back up and $3=3 is showing. I can take video if you like

Ive looked for a “save” option on PicSender and I seem to be missing it. I’ll go over it again. I’ll try changing it in UGS and see if that keeps it.

You need to select the yellow GRBL button in PicSender, then select the GRBL Settings button and batch edit your grbl settings based on which Mode is selected either for Spindle or Laser in the left window then select Save. If you edited the settings for the Spindle Mode, it will by default suggest saving to the Spindle.txt file when you select Save. If you edited the grbl settings for the Laser Mode, by default it will suggest saving to the Laser.txt file when you select Save.

Every time you switch Modes in PicSender, it will then change the grbl settings automatically you saved to either the Spindle.txt or Laser.txt files depending on the Mode selected. You can confirm the settings saved properly by changing the Mode selection. The grbl settings will then appear in the left edit window loaded by either of the two Mode grbl settings text files. Or, the $$ button on the main screen will display the grbl settings also.

1 Like

I frequently change grbl parameter sets during my test sessions, so I have several sets of files for PicSender to make rapid changes to my setup.

If you did the default install for PicSender then the saved parameter files are in this directory:

Ok, I am now beyond frustrated!

Ran an engraving and it came out fine. set up the EXACT SAME FILE again to do another set of engravings after I fixed the GRBL file in PicSender like you guys instructed.

Now for some unexplained reason my Z axis dives into the table a good 1-2 inches then starts lasering at that depth. I have it “zeroed” at 3 inches focal length, but when I start the carve it dives in!. What changed?!?! All I changed was the $0 (-30), $3 (4), $10 (18), $11 (.005) values. Im using the EXACT SAME FILE that 10 mins prior behaved exactly as desired.

everything checks out in Vcave. As I said - it was the same gcode file that worked fine before. no tool change, nothing was altered aside from the values in the GRBL settings file and I cant understand how changing those 4 or 5 values jacked up my settings that bad

There are settings in grbl that are called modal. That’s just a fancy way to say that once a value is set, that value persists until it is changed again.

The grbl values that behave this way can be viewed using the $G command to grbl.

To try and track down what the problem is, do a $G and $# command before you start each job and write the results down.

With that information and the first 20 lines of the G-code file we should be able to determine what is causing the problem.

You may need to adjust your post processor file.

Actually, upload the post processor file that you are using so I can take a look at it.

That didn’t do it.

Teamsters Hx3.gcode (564.6 KB)

When you generate a tool path from Vcarve you have to select a post processor to use. I would like to look at that file.

If you use the standard installation with defaults then the post processor file will be in the following directory:

C:\ProgramData\Vectric\VCarve Pro\V8.5\PostP

You may have to change the product name (mine is Vcarve Pro) and the version number (mine is 8.5).

The post processor will have the same name that you used to select it when generating your tool path.

Ohh, gotcha.

J_Tech_GRBL_inch_v1_2.pp (4.5 KB)