Page Contents

axis settings

Find home

Finding home instructs FarmBot to find the home (minimum) position by moving towards home until an endstop, rotary encoder, or stepper driver signals that the end of the axis has been reached. Note that ENCODERS, STALL DETECTION, or LIMIT SWITCHES must be ON for FarmBot to automatically find home.

Please note that LIMIT SWITCHES are not part of the standard FarmBot kit hardware and they typically only used by expert users. LIMIT SWITCHES for CNC devices are switches that are triggered when the CNC device reaches the limit of the track. Please do not enable the LIMIT SWITCHES for your device if you have not specifically installed them on your FarmBot.

limit switch

Example of Limit Switch for CNC devices. [Model SS-5GL13T Omeron Electronics]

To home an axis, click the FIND HOME X, FIND HOME Y, or FIND HOME Z buttons. To home all three axes, you can use the button in the controls widget (assuming that that button is set to its default behavior).

"Homing" is different than "Going to Home"

Homing is the act of finding the home (zero) position by using endstops or encoders. Going to Home is the act of moving to (0, 0, 0).

Set home

Pressing the SET HOME X, SET HOME Y, and SET HOME Z buttons allows you to manually set FarmBot’s current location as the home position for that axis. This is used for manually setting the Home position when ENCODERS, STALL DETECTION, or LIMIT SWITCHES are OFF.

However, because stock FarmBots have encoders and stall detecting, it is recommended to instead use the Homing function for automatically finding the Home position of each axis and setting that position to zero.

So in general, the Set Zero buttons should not be regularly used because it does not make sense to change your zero position once you have your garden growing, and because all FarmBots should have either encoders or endstops enabled which allows for automatically finding and setting the Home position.

These buttons may come in handy though when playing around with experimental sequences or exploring alternate coordinate system configurations for your FarmBot.

Find home on boot

Enabling this setting will run a homing command for each axis upon boot. This is most useful for allowing FarmBot to recover and resume operations after a power outage. Note that this requires encoders or endstops to be enabled.

Stop at home

Enabling software limits for an axis will prevent FarmBot from moving through zero. For example, if an axis is normally moving in positive coordinates, then the software limit will prevent it from moving through zero into negative coordinates. If an axis has NEGATIVE COORDINATES ONLY enabled, then it normally moves in negative coordinates and the software limit will prevent it from moving through zero into positive coordinates.


We recommend turning software limits on for all axes so that FarmBot will never try to move through the home (0, 0, 0) position.

Stop at max

If values are inputted using the AXIS LENGTH setting, FarmBot will stop at the axis maximum.

Negative coordinates only

This setting will allow movements to only occur in negative coordinates for the chosen axis. This is most useful for the z-axis if you want your home position to be at the highest point and for FarmBot to move down into negative coordinates.

Find axis length

Finding an axis length instructs FarmBot to find the maximum position and then find the minimum (home) position while measuring the distance between the two, which is the length of the axis. Note that ENCODERS, STALL DETECTION, or LIMIT SWITCHES must be ON for FarmBot to automatically find an axis length.

Also note that you must enable STOP AT MAX for FarmBot to stop at the measured maximum.

The speed of finding an axis length is currently determined by the HOMING SPEED setting.

Set axis length

With these inputs you can manually specify the length in mm of each axis. This is useful if you want to limit your FarmBot’s movements along an axis with software rather than a physical hardware stop such as a belt clip or an endstop. For example: you may occasionally want to prevent movements at the far end of your garden because you put a seasonal garden gnome there, but you don’t want to adjust the belts and belt clips. You must enable STOP AT MAX for FarmBot to stop at the values inputted.


The length values of each axis are measured and auto-filled whenever your use the find axis length function.