Homing
Homing is an essential part of using MASSO, and several homing methods are available depending on machine configuration.
It is important to understand that once the homing process is complete, the homing sensor becomes the hard limit sensor. This allows the same sensor to be used both to establish machine home and to detect when the machine attempts to move beyond its allowable travel limits.
For additional information on how to initiate the homing process, refer to the documentation on how to home your machine here: How to home your machine
Mounting the Homing Sensor
Traditionally, homing sensors and limit switches are mounted at the extreme ends of axis travel and wired directly back to the controller. This approach uses more wiring, hardware, and controller inputs than necessary.
Homing sensors work very effectively when used together with soft limits only. When a homing sensor is also used as a hard limit sensor, it is recommended that the sensor be mounted on the moving axis carriage, with fixed triggers positioned at each end of the axis travel. This allows a single sensor to be triggered at both ends of travel while minimising wiring and hardware.
The trigger must be designed so that the sensor remains in the High state for the full duration of the homing process.


Example axis with the sensor mounted on the moving carriage and the trigger mounted on the stationary rail
If an existing machine already has homing and limit sensors mounted at each end of an axis, these sensors must be multiplexed and connected to the axis homing input on MASSO. The method used depends on the sensor or switch type.
Both sensors must be wired so that triggering either sensor causes the homing input to change from Low to High.
Auto Homing
Auto Homing is the recommended method for homing a machine.
For Auto Homing to function correctly, each axis that is to be homed must have its own homing sensor. On a three-axis mill, this requires sensors on the X, Y, and Z axes.
If an axis is hardware-slaved, meaning two motors are driven from the same axis output, only one homing sensor is required for that axis because both motors move together.
Auto Homing With Axis Squaring
Auto Homing with Axis Squaring applies when software slaving is used.
In this configuration, each motor on the dual-drive axis is connected to a separate axis output, such as Y and B. Each motor has its own homing sensor. During homing, each motor moves independently until its respective sensor is triggered. The first motor to reach its sensor stops and waits for the second motor to locate its sensor. Once both motors have found their sensors, they back off and then lock together to form a single axis.
The relative position of the two homing sensors determines the squareness of the axis. Squaring is best achieved by physically adjusting the position of one sensor relative to the other. Pull-off distance can be used to make small corrections, but this method forces the axis out of square and back into square on every homing cycle and should only be used for minor adjustments.
If a software-slaved axis does not have one homing sensor per motor, a homing alarm will occur.
For further information on axis slaving, refer to the Axis Slaving documentation.
The Homing Process
Regardless of the homing method used, the homing sequence follows the same process.
Homing can be started by double-clicking or double-tapping the Home indicator on screen, by pressing CTRL + ALT + H on an external keyboard, or by using an external Home Machine button.
The homing sequence consists of four phases: seeking the homing sensor, backing off to locate the primary home position, pulling off, and setting the home position.
During the seek phase, the axis moves toward its homing sensor until the sensor changes from Low to High. If the sensor is already High, MASSO assumes it has already been triggered and proceeds to the next step.
When the sensor is triggered, the axis decelerates and stops. The distance travelled during deceleration depends on the axis acceleration setting. The sensor must remain High throughout the deceleration and stop phase.
The axis then slowly backs off the sensor until the sensor returns to Low. This establishes the primary home location.
If a pull-off distance is specified, the axis then moves at rapid speed away from the primary home position by the specified distance and stops.
The final axis position is then assigned the machine coordinate defined by the Home Position setting.
Homing Sequence
The Homing Sequence setting defines the order in which axes are homed. Axes may be homed individually or simultaneously.
Software-slaved axes are automatically greyed out and cannot be selected independently. ![]()
A slaved axis may appear ticked or unticked depending on previous settings, but it will always be controlled by the master axis and will home correctly regardless of its tick state. ![]()
Any axis that is not selected in the homing sequence will automatically be assigned its Home Position value at the end of the homing process.

Direction Invert
The Direction Invert setting controls the direction in which the axis moves while seeking the homing sensor.

Homing Feedrate
The Homing Feedrate determines how fast the axis moves while searching for the homing sensor.
Maximum homing feedrate is limited by axis acceleration. Lower acceleration results in longer deceleration distances after the sensor is triggered. The axis must stop within 10 mm or 0.3937 inches of the trigger point or a homing alarm will occur.
Axes with higher acceleration values can use higher homing feedrates, while axes with lower acceleration require slower homing speeds.

Back Off
The Back Off function precisely locates the point where the homing sensor returns to Low, which establishes the primary home position.
The sensor trigger must remain High until the axis comes to a complete stop. The trigger must be long enough to remain High for at least 10 mm of axis movement.
If the sensor does not return to Low within 10 mm or 0.3937 inches during the back-off process, a homing alarm will be generated. If the sensor returns to Low during the deceleration phase, the back-off process will not occur.
Pull-Off Distance
The Pull-Off Distance moves the axis away from the homing sensor after the back-off process.
This distance can create a safe gap between the sensor and the axis when hard limits are enabled, reducing the risk of false hard-limit alarms. Pull-off distance can also be used to make minor squaring adjustments on dual-drive axes, although this method should only be used for small corrections.
In some machines, homing sensors are located in tool-change areas outside soft limits. In these cases, the pull-off distance can be used to move the axis back into the soft-limit region before homing completes. If this is not done, a homing or soft-limit alarm may occur.

Home Position Setting
The Home Position setting defines the machine coordinate assigned to the final axis position at the end of homing. This setting determines the machine coordinate system and the G28 home position.
The Home Position value does not need to be zero. For example, if the machine homes at the rear of the table but machine coordinates should start at the front, the Home Position value can be set to the full axis travel length. This places machine coordinate zero at the front of the machine.
Another common use is for long Z axes, where Z0 is required lower down the axis. Adjusting the Home Position value allows control over how high the Z axis rises during operations such as tool changes, auto tool zero, jump to line, and plasma operations.
Manual Homing and Stall Homing
Manual Homing involves jogging the axes to a known, repeatable location and then setting that position as home by double-clicking the Home button.
Stall Homing is a variation of manual homing where axes are jogged until they stall against physical stops, creating a repeatable position that is then set as home.
These methods do not require homing sensors. To use manual or stall homing, all axes must be unticked in the Homing Sequence. Each axis will then be assigned the Home Position value when homing is completed.

Setting up homing Step by Step
Troubleshooting
For assistance with homing-related issues, refer to the homing troubleshooting documentation here: How to Troubleshoot Homing Issues
Spanish
French
German
Simplified Chinese 