Homing

travel_*, offset_*, and home_* (not in this section, see the #Homing section) all make up how a homing routine works. They can all be positive or negative. Here is a quick run-down of what is happening internally:

  1. Travel the distance and direction set in travel_*. If an end stop is found, stop.
  2. Move away the distance found in backoff_distance_*, then hit the end stop once more, slower.
  3. Move the distance set in offset_*, opposite of travel_*. The offset_* sign is thus typically the same as the travel_* sign.
  4. If the values in home_* is 0, the routine is done and the position is 0, 0, 0.
  5. If there are values in home_*, use those values in the G92 command, so that the printer will then move to that point, changing the position.

Offset_* does homing in Cartesian space, so for a delta, the values, typically have to be the same if you want the nozzle to end up in the centre, right above the platform. After completing the offset_*, a G92 is issued _with_ the values in home_* as arguments. If home_* is 0, the homing routine is done, but if there are some values in home_*, the head will move to those positions. the values in home_* are in the native coordinate system, IE delta coordinates for a delta printer. As a starting point, have home_* values = 0, set the travel_* to a small value and offset_* to an even smaller value. That way you can do some testing without ramming your nozzle into the bed.

Homing

This section has to do with the speed of the homing and how much the stepper should back away for each axis to do fine search. Please note that there are two other variables in Geometry section that are related to the homing routine: travel_* and offset_*. The offset_* values will move the print head immediately after homing, while the home_* settings found in this section can be used to set an offset to delta printers, so the head is kept by the end stops.

[Homing]

# Homing speed for the steppers in m/s
#   Search to minimum ends by default. Negative value for searching to maximum ends.
home_speed_x = 0.1

# homing backoff speed
home_backoff_speed_x = 0.01

# homing backoff dist
home_backoff_offset_x = 0.01

# Where should the printer goes after homing
#   home_* can be left undefined. It will stay at the end stop.
# home_x = 0.0
# ...