<p>Most 3d printers control head position using stepper motors and end stops with no position feedback.  The stepper motor does not actually know its location.</p>
<p>The printer's control system can only know the location of the head by keeping track of the relative number of steps the head has been moved by the stepper motors.</p>
<p>Homing moves all the axes in one direction until it hits the end stops for each axis.  Once that has been done, then the control system knows exactly where the head is and future relative motions can be offset from there.</p>
<p>Some control systems will move the axis at a relatively high speed (so you don't get bored, but not fast enough to cause damage) and then overshoot the end stop's activation point and stop.  Then they will back off to release the end stop and then move towards it more slowly to get a more exact reading of the activation point.</p>
<p>When the printer is idle, frequently the stepper motors are unpowered to save energy and keep the motors cool.  When the motors are unpowered, they can free spin (you can push the axis with your hand or the vertical axis might even slip a bit with gravity), so the position would be uncertain, and it would be necessary to re-home.   Once it has rehomed, the control system will keep the motors powered to prevent slipping.</p>
<p>It is only necessary to home if you care about where the printer starts printing.  In theory, you could get away with only homing the vertical axis (so the print starts on a surface and the first layer is the correct thickness), and manually set the horizontal start position.  However, this might make using the full horizontal limits of the build area difficult if you didn't start it in the right place.</p>

CC BY-SA 4.0
2024-02-28T14:03:34.850Z
You mentioned that sometimes they overshoot and then back off to reach the "activation point."  Is the activation point actually repeatable enough to place things within a fraction of a millimeter (I'm thinking in the z direction), or do they need to rely on some other hard-stop to correctly pin down where the first layer should be painted?  it seems like an astonishingly accurate switch in my mind.
Cort Ammon
CC BY-SA 4.0
2024-02-29T01:21:27.623Z
It's repeatable if you go slowly enough.
user10489
CC BY-SA 4.0
2024-03-08T05:01:39.430Z
I suppose it would be more accurate to say the precision of the repeatability is inversely proportional to the speed.
user10489
CC BY-SA 4.0
2021-11-26T13:01:32.143Z
2021-11-26T13:10:55.143Z
2021-11-26T13:10:55.143Z
user10489
<blockquote>
<ul>
<li>What is homing?</li>
</ul>
</blockquote>
<p>From the <a href="https://3dprinting.stackexchange.com/tags/homing/info">tag wiki</a> <a href="/questions/tagged/homing" class="post-tag" title="show questions tagged &#39;homing&#39;" rel="tag">homing</a> we can read:</p>
<blockquote>
<p>The process of determining the location of a 3D printer nozzle in
three dimension using a reference point (home location) is referred to
as &quot;homing&quot;. Homing should occur before every print and involves
bringing the X, Y and Z-Axis motors to pre-defined limit locations
(usually these are endstops). Pre-recorded homing data offset values
determine the position of the build plate origin with respect to the
endstop locations.</p>
</blockquote>
<blockquote>
<ul>
<li>What is the purpose of homing?</li>
</ul>
</blockquote>
<p>So, homing is defining the printer coordinate system location with respect to a reference location we call &quot;home&quot;. Why? The controller board or steppers have no memory for storing their position and could have been manually moved. Once the axes have &quot;seen&quot; there reference location, the printer will remember to refer all movements in respect to this point (this may include offset values to get to the origin of the printer (see <a href="https://3dprinting.stackexchange.com/questions/6375/how-to-center-my-prints-on-the-build-platform-re-calibrate-homing-offset">How to center my prints on the build platform? (Re-calibrate homing offset)</a>). Note, if a problem occurs where e.g. the nozzle hits the bed or print object, the nozzle may be out of sync with the reference point. Such an anomaly is e.g. layer shifting which occurs on open-loop stepper movement (servo steppers have feedback to prevent this from happening, but these are more expensive). The purpose of homing is to set a reference so that your sliced objects can be printed at the correct location within the printer print volume. If correctly configured, and no problems like layer shifting occur, the benefit is that proper homing prevent the machine to print within the limits of the printer.</p>
<blockquote>
<ul>
<li>Is it necessary?</li>
</ul>
</blockquote>
<p>Strictly speaking, no, it is not necessary. But if you do not automatically set a reference for each axis, you would need to manually provide a position to start from. This can work just as well, but the use of end stops automate the procedure so that it is very easy for the printer operator. Some (of the cheaper) CNC machines do not have end stops, the operator needs to be aware to position the tool head of the CNC machine at the proper starting position.</p>

CC BY-SA 4.0
2021-11-26T12:45:59.397Z
2021-11-27T13:48:55.800Z
2021-11-27T13:48:55.800Z
0scar
<p>A 3D printer needs to be homed (homing) before the print starts.</p>
<ul>
<li>What is homing?</li>
<li>What is the purpose of homing?</li>
<li>Is it necessary?</li>
</ul>

<homing><knowledgebase><terminology>
What is homing? What is the purpose of homing?
0scar
# What is homing? What is the purpose of homing?

(Asked by: username_0 on 2021-11-26)

A 3D printer needs to be homed (homing) before the print starts.

* What is homing?
* What is the purpose of homing?
* Is it necessary?

**Tags:** homing, knowledgebase, terminology

---

## 2 answers

### Answer by username_0 on 2021-11-26. Score: 5 | Accepted answer

> * What is homing?

From the [tag wiki](https://3dprinting.stackexchange.com/tags/homing/info) [homing](/questions/tagged/homing "show questions tagged 'homing'") we can read:

> The process of determining the location of a 3D printer nozzle in
> three dimension using a reference point (home location) is referred to
> as "homing". Homing should occur before every print and involves
> bringing the X, Y and Z-Axis motors to pre-defined limit locations
> (usually these are endstops). Pre-recorded homing data offset values
> determine the position of the build plate origin with respect to the
> endstop locations.

> * What is the purpose of homing?

So, homing is defining the printer coordinate system location with respect to a reference location we call "home". Why? The controller board or steppers have no memory for storing their position and could have been manually moved. Once the axes have "seen" there reference location, the printer will remember to refer all movements in respect to this point (this may include offset values to get to the origin of the printer (see [How to center my prints on the build platform? (Re-calibrate homing offset)](https://3dprinting.stackexchange.com/questions/6375/how-to-center-my-prints-on-the-build-platform-re-calibrate-homing-offset)). Note, if a problem occurs where e.g. the nozzle hits the bed or print object, the nozzle may be out of sync with the reference point. Such an anomaly is e.g. layer shifting which occurs on open-loop stepper movement (servo steppers have feedback to prevent this from happening, but these are more expensive). The purpose of homing is to set a reference so that your sliced objects can be printed at the correct location within the printer print volume. If correctly configured, and no problems like layer shifting occur, the benefit is that proper homing prevent the machine to print within the limits of the printer.

> * Is it necessary?

Strictly speaking, no, it is not necessary. But if you do not automatically set a reference for each axis, you would need to manually provide a position to start from. This can work just as well, but the use of end stops automate the procedure so that it is very easy for the printer operator. Some (of the cheaper) CNC machines do not have end stops, the operator needs to be aware to position the tool head of the CNC machine at the proper starting position.


---

### Answer by username_1 on 2021-11-26. Score: 3

Most 3d printers control head position using stepper motors and end stops with no position feedback. The stepper motor does not actually know its location.

The printer's control system can only know the location of the head by keeping track of the relative number of steps the head has been moved by the stepper motors.

Homing moves all the axes in one direction until it hits the end stops for each axis. Once that has been done, then the control system knows exactly where the head is and future relative motions can be offset from there.

Some control systems will move the axis at a relatively high speed (so you don't get bored, but not fast enough to cause damage) and then overshoot the end stop's activation point and stop. Then they will back off to release the end stop and then move towards it more slowly to get a more exact reading of the activation point.

When the printer is idle, frequently the stepper motors are unpowered to save energy and keep the motors cool. When the motors are unpowered, they can free spin (you can push the axis with your hand or the vertical axis might even slip a bit with gravity), so the position would be uncertain, and it would be necessary to re-home. Once it has rehomed, the control system will keep the motors powered to prevent slipping.

It is only necessary to home if you care about where the printer starts printing. In theory, you could get away with only homing the vertical axis (so the print starts on a surface and the first layer is the correct thickness), and manually set the horizontal start position. However, this might make using the full horizontal limits of the build area difficult if you didn't start it in the right place.

> **Comments:**
> **username_2**: You mentioned that sometimes they overshoot and then back off to reach the "activation point."  Is the activation point actually repeatable enough to place things within a fraction of a millimeter (I'm thinking in the z direction), or do they need to rely on some other hard-stop to correctly pin down where the first layer should be painted?  it seems like an astonishingly accurate switch in my mind.  
> **username_1**: It's repeatable if you go slowly enough.  
> **username_1**: I suppose it would be more accurate to say the precision of the repeatability is inversely proportional to the speed.  

---

