Need some help? Check out our new Help Centre

Homing and a slight (actually major) anoyance

edited November 2015 in Archived Issues
Morning all.

Herewith a "bug" that is driving me nuts. I do a lot of repeat jobs where a series of files need to be streamed in succession. I also do some work on the mill then transfer to the Emblaser to finish.

The issue relates to the way the system handles home switch de-bounce.

Any CNC machine that homes to a physical limit switch, as opposed to optical or Hall effect homing, must back off the switch once it has tripped for home otherwise the switch state would stay HIGH and not enable the machine. All fine. In the case of the Emblaser this offset is configured to 1mm.

When you home the machine the head travels to upper right, trips the two switches in succession then backs off by 1mm to allow the switch state to go LOW. Theoretically you only need to home once for a job but that is where my problem comes in. It might be days between jobs and I turn the laser off or reboot the PC, a whole host of things can happen that mean i have to re-home.


I home the machine then zero the system, DRO's show 0,0,0 and the system state is Mpos -1, -1 Wpos 0,0
Send F10000 G1 X-410 y-280 (lower left)
System state is now Mpos -411, -281 Wpos -410 -280
Zero the DRO's
System state is Mpos -411, -281 Wpos 0 0
Run the job
The system auto returns to top right BUT Mpos 0,0 is Wpos 411,281
Now if I zero the DRO again and check system state I get Mpos 0,0 and Wpos 0,0
Send F10000 G1 X-410 y-280 (lower left)
Zero DRO
Check machine state and get Mpos -410, -280 Wpos 0 0 (Edit:fixed DRO reading)

See the attached photo, this is the effect of two jobs run with a homing cycle in between. Exactly 1mm offset in both directions.

Any thought, suggestions ?



  • Hi David,

    The issue is arising because you are zeroing the workspace co-ordinates after you have homed. This will contradict the default workspace settings being set by GRBL in the $n0 parameter and be incorrect since you are 1mm off each axis.

    Perhaps I am missing something but why do you need to zero the workspace co-ordinates at the home position?

  • Hi DL

    When you say "zero at home" are you talking about top right or bottom left ?

  • Home is always considered upper right corner. It's the place you send the laser head to get it out of the way. This is machine 0,0.

    Workspace 0,0 is lower left. This is setup this way because its more natural (at least in western culture) to think of 'left to right' and 'down to up' being positive movement.
  • OK, I think I am clear now.
    You are saying:
    Rapid to bottom left

    Yes ?

    The reason this is confusing to me is that on CNC run by Mach3 or other cutting type CNC there is no concept of the GRBL defaults, you have to home then zero to align machine to workspace co-ords.

  • Hi David,

    I understand how this can be confusing.

    If you:
    Don't zero
    type x0 y0
    The machine will move to the bottom left, since this is where o,o is.

    The only time we re-zero the co-ordinates is for instance if we want to start a job from the middle of the workspace. We would jog the machine over to where we wanted and then ZERO it.

  • Thanks, I will test and revise my procedure
Sign In or Register to comment.