So I have a question about homing

I should first say that I do not have a “laser” machine.
I have a CNC with a laser attachment. (X carve 750 with a JTech 7 watt)

I use Picsender for all of my CNC work. (great program)
For all my laser work, I use Lightburn. (again a top notch program)

In Picsender, I can set my XYZ zero to anywhere I want and then click
a to zero the machine. (perfect)

I have come to learn that lasers always start from and go back to their
home position. (which is I think in the upper left or right corner of the machine)
((It really doesn’t matter to me))

In my CNC world, I do not “home” my machine.
When I put a project on the bed of the machine, I physically locate the
XYZ coordinates and then set that to the zero position. (in Picsender)

In the beginning I had a lot of problems with my machine not having
repeatability in finding and or starting from the XYZ zero location.

When I start Laserburn, and click on the “get current positon” it is
always off location.

Finally Oz suggested that I move the machine to my XYZ position and
then shut off the software and restart it. (kind of a time consuming
work around, but it works)

I know that Lightburn is designed for the dedicated laser machine.
However, I and many others have CNC machines with lasers attached.
With all the problems that I had in the beginning relative to my laser
not being able to find and or go back to the XYZ zero point.

Is there any way that a button could be added to “re-set” the XYZ zero home
position to where the machine is at the current time?

The hardware has no way to know what your head position is on power up. Most machines have ‘limit switches’. The firmware is setup to move the head a certain direction at a certain speed. When it ‘hits’ the ‘limit’ it knows that’s ‘home’ on that axis. It does it for both axes.

The home position does matter to you if you want the output in the right place in the right orientation.

X-carve home switches.

Good luck, take care :slight_smile:

" the hardware has no way to know what your head position is on power up."
You’re right, however, upon power up, Lightburn thinks that the machine IS at XYZ zero .
(no matter what positon it was in when I left it)

If I put a project on the bed and jog the machine over to the lower left corner,
Lightburn does not recognize that as XYZ zero.

If I click on “get position” it will never read all zeros because I jogged the machine
to that new (zero) position .

Yes, you can start from that position, but if you tell it go to the origin, Lightburn
will not go back to that position.
It will move the machine to the position it was in upon power up.

The only way Lightburn will recognize it as XYZ zero, is to shut down the
program and then restart it.
It works, but its a work around.

Again, in Picsender it’s a simple click to call that lower left corner XYZ zero.
No matter where that point is on the machine bed.
The machine will then move from and go back to that position.

Seems so simple to me.
Just add a feature to where the machine can be zeroed (or homed) anywhere that the operator wants.
(or maybe its not so simple. I don’t know.)

You are homing the machine by doing that. Might want to check the $10 value also.

I know there is gcode to zero the current coordinates but don’t know if it’s sent with a gui button in Lightburn. I always had home switches.

I’m going over you note, and reading the documentation. How do you have the ‘Laser Start from’ set to? Here’s the docs, maybe that would be something to look at.

Both $10 value and ‘Laser Start from’ need to be set properly.

Thanks for the reply.
My laser start from is always from the lower left corner.
And I use the “current position” option.
I’m attaching a screen shot.
I went back and (once again) read the instructions.
Because I don’t have a through knowledge of GRBL and
G code, I still struggle with it.
However, now I’m thinking that if I use the “clear origin”
and then “set origin” that it may do the same thing as
I have been asking?

My laser is set for $10=0 , and the CNC is set for $10=1

Unfortunately, my grbl machine is packed up as we’re moving. But relying on my memory, which is sometimes not a good idea, I recall one of the software problems I had was that $10 was set incorrectly.

The software must know where the machine is and get updated positions. The $10 variable contains a bit map of the selected data that is output back to the software. I believe mine was set to 3 enabling both ‘work’ and ‘machine’ positions. That data is needed by the controlling software. Setting $10 should not damage anything and wouldn’t hurt your machine to enable that data.

The first thing I did was put homing switches on my machine, so I missed some of the issues you are seeing.

Hopefully someone from Lightburn can advise you of how it gets it data from the grbl machine and what the $10 value should be.

I keep meaning to comment on this… I think you need a wider scope of what you consider an ‘X’ machine. All of these boxes are “Computer Numerical Control” or CNC. If you have a laser mounted on it, it’s a laser. If it’s a motor and a bit it’s a type of milling machine, if it ices cakes it’s a cake icing machine. It’s what tool it mounted on it determines it’s flavor. In the scope of this stuff, it really doesn’t matter. There are generally two areas, controlling where the tool is and controlling what the tool does. All software must deal with the first, then you start having specialized software to deal with the idiosyncrasies of the tool itself.

Hang in there, you’ll snap to how this works. You’ll be saying “why didn’t I see that sooner” :slight_smile:

For my dedicated laser I have classified lower left as my “home” position. When the machine starts up, no matter where the head it - it goes to the home position, bounces off the limit switches and stops at 0,0. Now the machine knows where the head is and you can set the “origin” position to somewhere else on the table.

But initially on power up the machine has to be able to figure out where the head is so it can use the coordinate system of the size of your table.

Part of the issue, I believe is that his machine has no limit switches, therefore no ‘home.’ He is attempting to set his coordinate system manually. First thing I did was put switches on my $120 cnc machine, because this was such a pain.


So it’s more like my CAD program when I put an “R” in front of coordinates it know to start from the current position. And when you give specific coordinates it knows where they are because the machine always knows where it stopped.

Got it.