How do I match carve zero & laser zero

Any suggestions on how to find zero with the laser after the piece is carve so it can be etched?

If you’re Vcarve user it is easy. You can make two copies of the drawing, one for carving other one is for etching. You must know precise offset between laser point and bit point. Laser etching drawing material seting must have same offset.

I’m assuming that you are using the multi-mode grbl that I posted. If you have not upgraded to the 10/12/2016 version you should do so.

What programs do you use to create your carving file and laser file? and what program do you use to send the G-code?

Yes I am using the multi mode you made (thanks). I am using vcarve to create and UGS to send the code.

As Alan said you can determine the offset of your laser from the spindle and use that offset in Vcarve to place the laser work relative to the X and Y zero of the carving. Don’t forget that you need to move the laser to the appropriate Z distance that you used to focus the beam.

I might have to think about this some more. I think once the procedure is established it shouldn’t be too difficult.

1 Like


In order to carve and laser engrave on the same work piece it would be helpful to setup your machine so that both the spindle and the laser can be positioned over your work zero location.

First you would need to measure the offset of the laser with regards to the spindle as illustrated below. In this example I have assumed a 50mm offset in X and a 20mm offset in Y.

Then to set up your machine so that either device can reach work zero you would position your work piece as shown in the following example, once again assuming a 50mm offset in X and a 20mm offset in Y. In this example when your laser is at work zero of the work piece, your spindle would be at the left side of the wasteboard 20mm above the front edge.

At this point there are many ways to set up your design so that you can switch from carving to laser work without having to reset X and Y of work zero.

You have the option of placing your design components in Vcarve such that they will line up as you wish when you carve and then follow up with the laser.

There are also ways that you can change the work position in grbl to offset a design.

It just depends on how much flexibility you want to design in, in regards to reusing your designs from project to project.

thanks for the zero explanation. I got one good laser and cut, then had to leave. Now when I try to run the same program it starts fine raises up moves to where the laser should start the the z axis barely moves going down in slow motion. any thoughts

Not much information to work with in your description. Some of the G-code commands are modal. What this means is that once you set a modal value it will stay set at that value until it is changed again. Other G-code commands are non-modal in that they affect the current command, but the effect does not linger after the command is executed.

Depending on the settings of the modal command values when you start a job, you can get different results.

Also, I think it is typical for the Z axis, once established at the focal distance, does not move up or down for laser work.

I think its fine, my other concern is while the z is getting to the zero point the laser is on making a large spot I will video it shortly.

here is the video

Which post processor are you using when you generate the toolpath in Vcarve?

Post the first 20 lines of your G-code file here.

[Edit] - Have you read this page?

Yes and I am using the inch version

M03 S0
G1Z-0.0500F0.1 S12000M3
G1X2.0529F100.0 S12000M3
G1X2.0494Y7.5966 S12000
G1X2.0454Y7.5989 S12000
G1X2.0441Y7.6013 S12000
G1X2.0445Y7.6036 S12000
G1X2.0678 S12000
G1X2.0687Y7.6060 S12000
G1X2.0699Y7.6111 S12000
G1X2.0699Y7.6119 S12000
G1X2.0467 S12000
G1X2.0489Y7.6192 S12000
G1X2.0490Y7.6202 S12000
G1X2.0706 S12000
G1X2.0709Y7.6241 S12000
G1X2.0708Y7.6285 S12000
G1X2.0501 S12000
G1X2.0503Y7.6321 S12000
G1X2.0500Y7.6368 S12000
G1X2.0701 S12000
G1X2.0692Y7.6437 S12000
G1X2.0689Y7.6451 S12000
G1X2.0494 S12000
G1X2.0477Y7.6534 S12000
G1X2.0672 S12000
G1X2.0668Y7.6550 S12000
G1X2.0650Y7.6617 S12000
G1X2.0454 S12000
G1X2.0432Y7.6684 S12000
G1X2.0425Y7.6700 S12000
G1X2.0625 S12000
G1X2.0596Y7.6783 S12000
G1X2.0388 S12000
G1X2.0375Y7.6812 S12000
G1X2.0344Y7.6866 S12000
G1X2.0559 S12000
G1X2.0539Y7.6909 S12000
G1X2.0515Y7.6949 S12000
G1X2.0293 S12000
G1X2.0247Y7.7008 S12000
G1X2.0222Y7.7032 S12000
G1X2.0463 S12000
G1X2.0406Y7.7109 S12000
G1X2.0400Y7.7115 S12000
G1X1.9862 S12000
G1X1.9894Y7.7167 S12000
G1X1.9923Y7.7198 S12000
G1X2.0319 S12000
G1X2.0259Y7.7245 S12000
G1X2.0189Y7.7280 S12000
G1X2.0182Y7.7281 S12000
G1X2.0048 S12000
M03 S0
G1Z-0.0500F0.1 S12000M3
G1X1.9447F100.0 S12000M3
G1X1.9502Y7.6050 S12000
G1X1.9564Y7.6078 S12000
G1X1.9625Y7.6117 S12000
G1X1.9628Y7.6119 S12000

Not sure where to start -

Please post your $$ output from grbl here.

$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=1. (rpm max)
$31=0. (rpm min)
$32=0 (laser mode, bool)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (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)

If it is easier to call my number is 6617337096

Please don’t be offended, but you have a large learning curve to tackle. I’m glad to help out, but my time is limited so posting is best for me as I can help a bit between other tasks.

Let me suggest that you take an alternate route which would get you up and running much faster than I can accomplish here and will help you learn a lot of things which will help you when you use UGCS.

Get a licensed version of PicSender (it’s only $24.95). As their website requests - download the software demo and make sure it runs Ok on your machine. If so, you can license it and it will take care of a lot of your problems with configuration of grbl and you can use it with Vcarve output. They also have support for my multi-mode grbl so it plays nice with the firmware you are using.

You can get it here;

The J Tech post processor for Vcarve that you are using has some issues. I can give you a modified version if you like, but I don’t have a J Tech laser to try it out on and so you would be experimenting with an untested version if you choose to try it.


No offense at all Larry, thanks for the time you have spent already. I no I have a huge learning curve. I was just looking at the picsender software, as I would like to do photos at some point. I will go that route and let you now how it goes. Thanks again for all the help so far.

1 Like

Ok, David. Using PicSender is a fast way to get your settings right and your laser work will be a lot faster. You can accomplish most of the same functionality with UGCS but it takes quite a bit of knowledge to get it all working nicely together.


@LarryM It does the same thing turns on the laser while the z axis moves to it zero very slowly.

Yes, that’s the g-code file you are using. How much longer are you going to be working on this tonight?