4. Connecting home sensors
This information is meant for the and may not be accurate when using another controller. Please check the documentation pages for your specific controller.
Home sensors are responsible for providing the machine with a reference for its position. After shutdowns, step loss, and manual movements the machine will be able to find its original position.
Home sensors and Limit sensors are not the same. The difference may seem semantic, but in reality, this means that the machine will need to be able to move slightly past the trigger point of the switch. This is to ensure that the machine can decelerate after the switch is triggered. This distance is determined by the homing speed and the machine's acceleration (deceleration) settings. Additionally, the home switch position may not be near the axis's limit at all.
The home sensor types supported by the are NPN both in normally open (NO) and normally closed (NC) configurations. The method of detection is irrelevant to the and can be chosen based on the machine's specifics, these include physical switches, inductive switches, capacitive switches, etc. The is designed to sink around 10mA into the sensor when it is active/closed. The threshold voltage for a low or closed signal is typically <1.4V for revision 13 and up and <0.7V for revision 12 and lower. All home sensors must have the same polarity, so all NO or all NC.


Homing an axis works the same for most axis types except for master-slave setups. Master-slave is sometime also called Gantry Squaring or tandem-axis. Using master-slave axes with auto-gantry squaring requires additional setup steps outlined in Tandem axes that cannot be skipped.
With all sensors wired, start the software with the machine connected. Open the setup tab, navigate to Machine General, and scroll to the homing section.

If the type of switches is known, the setting must be set to "Falling edge" for NO sensors and "Rising edge" for NC sensors.

If the type of switches is not known, the polarity of the switches can be determined automatically. Jog the machine to a position where none of the switches are triggered. Press "Auto detect polarity" and "Ok" to use the current values of the home inputs as inactive.

If the state of all home inputs is not equal, an error will be displayed. This can happen because either the sensor types are not identical/mixed types or some inputs are triggered while others are not. Perhaps some switches are accidentally activated.

When all home inputs have been wired together to the first home input, the "Use home input for X axis as home input for all axes" option must be checked.

This option is not supported with tandem axes because, with both motors running simultaneously, it is impossible to know which sensor was triggered.
Next, scroll to the Motors section.

All homing options here can be configured on a per-axis basis.
These configuration steps assume that the Maximum velocity and Maximum acceleration have already correctly been set. Both these settings may influence the homing procedure and changing them later may induce changes to the homing sequence.
By default, the Homing velocity is set to 0, in this case, Manual appears in the setup for that axis. Executing a home command for this axis results in the current position being set as 0. Entering a non-zero positive value ensures a proper home movement will be executed.
A high homing velocity results in a faster homing sequence, but also increases the distance the axis moves past the trigger point of the sensor. When the sensor triggers during the homing procedure, the axis will decelerate according to the value entered in Maximum acceleration. The distance covered results from the acceleration, Homing velocity, and fifoTime. Typical values are around 10mm/s.
The precise/safe homing velocity is the velocity at which the machine is moved out of the sensor's triggered area. Typical values here are roughly 10% of the homing velocity, the point at which the sensor untriggers is the point that is used for the home position. Any inaccuracies caused by the first faster movement are therefore not translated into an inaccurate home position.
The homing sequence needs to know if it should home in a postive or negative direction. If the home position is at the negative limit of the machine, the direction should be inverted. If it is at the positive limit, it should not be inverted. This is set by checking Inverted homing direction.
Lastly, the 'home position' does not have to be at the point where the sensor triggers. An offset can be applied to decouple the sensor position from the home position. The value entered here is the position of the trigger point relative to the home position.