Can you home without z?

Hi I was wondering if you could just home x and y? My z broke and was wondering if you could home without it? Thanks!

The limit switch.

When homing, it activates the switch, then backs off a few steps, then activates again. If you wanted to manually emulate this you would have to short the connections in rapid succession.

Are you using easel or ugcs? If ugcs, you could just unlock with $x and manually position the 3 axis and then reset each to 0.

To answer the specific question, you can set up grbl to only home X and Y. It is a compile time option.

yes really thats all i need anyway i can do z manually. Any idea were i can find information on this?

Read up on building grbl from source. Download your favorite version from Github.

Change config.h and compile.

Here is the relevant section from config.h

// Define the homing cycle patterns with bitmasks. The homing cycle first performs a search mode
// to quickly engage the limit switches, followed by a slower locate mode, and finished by a short
// pull-off motion to disengage the limit switches. The following HOMING_CYCLE_x defines are executed
// in order starting with suffix 0 and completes the homing routine for the specified-axes only. If
// an axis is omitted from the defines, it will not home, nor will the system update its position.
// Meaning that this allows for users with non-standard cartesian machines, such as a lathe (x then z,
// with no y), to configure the homing cycle behavior to their needs.
// NOTE: The homing cycle is designed to allow sharing of limit pins, if the axes are not in the same
// cycle, but this requires some pin settings changes in cpu_map.h file. For example, the default homing
// cycle can share the Z limit pin with either X or Y limit pins, since they are on different cycles.
// By sharing a pin, this frees up a precious IO pin for other purposes. In theory, all axes limit pins
// may be reduced to one pin, if all axes are homed with seperate cycles, or vice versa, all three axes
// on separate pin, but homed in one cycle. Also, it should be noted that the function of hard limits
// will not be affected by pin sharing.
// NOTE: Defaults are set for a traditional 3-axis CNC machine. Z-axis first to clear, followed by X & Y.
define HOMING_CYCLE_0 (1<<Z_AXIS) // REQUIRED: First move Z to clear workspace.
define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.
// #define HOMING_CYCLE_2 // OPTIONAL: Uncomment and add axes mask to enable

Seems to require Z. I don’t know if that’s just a comment or if the code enforces that.

[Edit] - just a rush look at the code and it appears that Z axis homing is not required by the actual code.

1 Like