<p><em>(Summed up from several entries in this thread.)</em></p>
<p>It is an untrue statement that the printer <em>can't move back to home anymore</em>, until the G-Code <a href="https://marlinfw.org/docs/gcode/G028.html" rel="nofollow noreferrer"><code>G28</code></a> is executed. <strong>The printer can home, but must be ordered to do it.</strong></p>
<p>There are several <strong>ways to home the printer</strong> <em>(LCD hints are for Marlin firmware)</em>:</p>
<ul>
<li><p>Start a print, which (by the book) includes <code>G28</code> in its initial part</p>
</li>
<li><p>Use the LCD menu option to home all axes: <code>Prepare &gt; Auto Home</code></p>
</li>
<li><p>Use the LCD menu options to home single axes, for example: <code>Prepare &gt; Auto Home Z</code>, after they are activated by adding the following to the <em>Configuration.h</em> file:</p>
<pre><code>#define INDIVIDUAL_AXIS_HOMING_MENU
</code></pre>
</li>
<li><p>Add your own options to the <a href="https://3dprinting.stackexchange.com/questions/7676/how-to-add-menu-options-to-the-marlin-firmware-lcd-menu/15216#15216">custom menu</a> in the LCD: <code>Custom Commands &gt; Your command</code> - for example to have more complex scripts at hand, like a custom sequence of axes, multiple repeats, different back-off behavior, or move to center of bed (G-Code snippets)</p>
</li>
<li><p>The current position may be updated with G-Code <a href="https://marlinfw.org/docs/gcode/G092.html" rel="nofollow noreferrer"><code>G92</code></a>, and this hack may be useful when a print gets stuck (e.g., power outage, thermal issue) and there is no space any more to home Z, but its actual position is known from the print file (the remaining part?) Set the known position of Z (<code>G92 Znnn</code>) and let X and Y home the standard way (<code>G28 X Y</code>)</p>
</li>
</ul>

CC BY-SA 4.0
2021-01-27T22:22:22.163Z
2023-07-10T19:02:46.590Z
2023-07-10T19:02:46.590Z
octopus8
<p>Slightly unscrew the motor. Manually rig the Z-axis above its lowest point. Rescrew the motor back into place tightly. Then auto home it.</p>

CC BY-SA 4.0
2021-01-27T01:02:47.830Z
I disagree with this sugesstion. Z homing is often. Acting like this would quickly lead to wear of hardware (e.g. coupler's thread) or to introduce errors like too loose screw ([we had this before](https://3dprinting.stackexchange.com/questions/15214/z-axis-issue-after-upgrade-from-stock-fw-to-marlin-2-0-7-2-on-ender-3-pro/15217#comment28694_15217)). Much more useful would be to enable homing axes individually or [Z with custom menu](https://3dprinting.stackexchange.com/a/15216/26170), or even ad-hoc update current position with [`G92 Znnn`](https://marlinfw.org/docs/gcode/G092.html) (hacky).
octopus8
CC BY-SA 4.0
2021-01-27T15:18:20.537Z
@octopus8 - you should post the last sentence as an answer (as it really is an answer), and expand upon it. The first half (the first three sentences are good though).
Greenonline
CC BY-SA 4.0
2021-01-27T22:22:56.783Z
Good point. I added the answer summing up homing options.
octopus8
CC BY-SA 4.0
2021-01-26T21:12:49.810Z
2021-01-26T21:58:26.803Z
2021-01-26T21:58:26.803Z
user26529
<p>Once you pull the plug or disable power to the stepper motors, the printer forgets its location. That is perfectly normal and exactly how it is supposed to work.</p>
<p>The printer knows where the printer volume is once you have &quot;homed&quot; the printer. Homing is done prior to printing with G-code <a href="https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29" rel="nofollow noreferrer"><code>G28</code></a> which should be present in your start G-code script of your slicer. Once homed, the offsets from the endstops determine where the origin of the printer is and the maximum dimensions determine the build volume.</p>
<p>After you switched on the printer, the printer doesn't know where the origin is and movement is limited. E.g. when the following constant is defined: <code>#define NO_MOTION_BEFORE_HOMING</code> no movement at all is possible before the printer is homed, this can help prevent destroying the printer.</p>

CC BY-SA 4.0
2020-07-02T18:14:50.667Z
I don't know about the Ender-5 but the Ender-3 series has a front-panel command to "Auto Home" under "Prepare". I assume the 5 has similar.
DoxyLover
CC BY-SA 4.0
2020-07-03T07:29:39.233Z
@DoxyLover Marlin has a default option in the LCD menu to home all axis (the Ender 5 has the default reprap 12864 graphical display as the Ender 3), you can also activate homing of each axis separately in the Configuration.h, use: `#define INDIVIDUAL_AXIS_HOMING_MENU`.
0scar
CC BY-SA 4.0
2020-07-02T11:55:21.700Z
2020-07-03T07:26:02.230Z
2020-07-03T07:26:02.230Z
0scar
<p>I am completely new to 3D Printing. I got my first printer, a Creality Ender 5 Pro, yesterday.</p>
<h3>My problem</h3>
<p>I shutdown the printer without the axis being in home position (<strong>X: 0, Y: 0, Z: 320</strong> instead of <strong>X: 0, Y: 0, Z: 0</strong>). I thought this should be no problem but after turning the printer on again the info screen showed the axis position as 0, 0, 0 again.</p>
<p>So, I can't move the Z axis up now because the printer thinks it's already at 0.</p>
<p>NOTE: On the Ender 5 the bed lowers for increasing values of the Z. So 320 is the lowest and 0 the highest. I know that the motor works because it tries to go down further if I increase the Z position, but I am scared of damaging the motor because it can't move further but it tries to (judging by that weird sound).</p>
<h3>My question</h3>
<p>Is this a normal behavior that the printer axis cant remember its position? Because I think when I built the printer the axes were also not at the 0, 0, 0 position and on the first start they moved back without any problems.</p>
<p>Does anyone have any ideas on how to solve this? Or is this a broken printer?</p>
<p>PS: I could replicate this behavior on X and Y as well (moving them with prepare-&gt;move axis and then shutting down the printer). But in this case, I can easily disable the motors and move them manually back to 0, 0. This isn't the case for the Z Axis.</p>
<p>I hope I explained that understandably.</p>

<creality-ender-5><homing><axis>
Why can't my Ender 5 Pro remember its axis position or move back to home anymore?
WastedFreeTime
# Why can't my Ender 5 Pro remember its axis position or move back to home anymore?

(Asked by: username_0 on 2020-07-02)

I am completely new to 3D Printing. I got my first printer, a Creality Ender 5 Pro, yesterday.

### My problem

I shutdown the printer without the axis being in home position (**X: 0, Y: 0, Z: 320** instead of **X: 0, Y: 0, Z: 0**). I thought this should be no problem but after turning the printer on again the info screen showed the axis position as 0, 0, 0 again.

So, I can't move the Z axis up now because the printer thinks it's already at 0.

NOTE: On the Ender 5 the bed lowers for increasing values of the Z. So 320 is the lowest and 0 the highest. I know that the motor works because it tries to go down further if I increase the Z position, but I am scared of damaging the motor because it can't move further but it tries to (judging by that weird sound).

### My question

Is this a normal behavior that the printer axis cant remember its position? Because I think when I built the printer the axes were also not at the 0, 0, 0 position and on the first start they moved back without any problems.

Does anyone have any ideas on how to solve this? Or is this a broken printer?

PS: I could replicate this behavior on X and Y as well (moving them with prepare->move axis and then shutting down the printer). But in this case, I can easily disable the motors and move them manually back to 0, 0. This isn't the case for the Z Axis.

I hope I explained that understandably.

**Tags:** creality-ender-5, homing, axis


---

## 3 answers

### Answer by username_4 on 2020-07-02. Score: 3 | Accepted answer

Once you pull the plug or disable power to the stepper motors, the printer forgets its location. That is perfectly normal and exactly how it is supposed to work.

The printer knows where the printer volume is once you have "homed" the printer. Homing is done prior to printing with G-code [`G28`](https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29) which should be present in your start G-code script of your slicer. Once homed, the offsets from the endstops determine where the origin of the printer is and the maximum dimensions determine the build volume.

After you switched on the printer, the printer doesn't know where the origin is and movement is limited. E.g. when the following constant is defined: `#define NO_MOTION_BEFORE_HOMING` no movement at all is possible before the printer is homed, this can help prevent destroying the printer.

> **Comments:**
> **username_5**: I don't know about the Ender-5 but the Ender-3 series has a front-panel command to "Auto Home" under "Prepare". I assume the 5 has similar.  
> **username_4**: @username_5 Marlin has a default option in the LCD menu to home all axis (the Ender 5 has the default reprap 12864 graphical display as the Ender 3), you can also activate homing of each axis separately in the Configuration.h, use: `#define INDIVIDUAL_AXIS_HOMING_MENU`.  

---

### Answer by username_1 on 2021-01-27. Score: 2

*(Summed up from several entries in this thread.)*

It is an untrue statement that the printer *can't move back to home anymore*, until the G-Code [`G28`](https://marlinfw.org/docs/gcode/G028.html) is executed. **The printer can home, but must be ordered to do it.**

There are several **ways to home the printer** *(LCD hints are for Marlin firmware)*:

* Start a print, which (by the book) includes `G28` in its initial part
* Use the LCD menu option to home all axes: `Prepare > Auto Home`
* Use the LCD menu options to home single axes, for example: `Prepare > Auto Home Z`, after they are activated by adding the following to the *Configuration.h* file:

  ```
  #define INDIVIDUAL_AXIS_HOMING_MENU

  ```
* Add your own options to the [custom menu](https://3dprinting.stackexchange.com/questions/7676/how-to-add-menu-options-to-the-marlin-firmware-lcd-menu/15216#15216) in the LCD: `Custom Commands > Your command` - for example to have more complex scripts at hand, like a custom sequence of axes, multiple repeats, different back-off behavior, or move to center of bed (G-Code snippets)
* The current position may be updated with G-Code [`G92`](https://marlinfw.org/docs/gcode/G092.html), and this hack may be useful when a print gets stuck (e.g., power outage, thermal issue) and there is no space any more to home Z, but its actual position is known from the print file (the remaining part?) Set the known position of Z (`G92 Znnn`) and let X and Y home the standard way (`G28 X Y`)


---

### Answer by username_2 on 2021-01-26. Score: -2

Slightly unscrew the motor. Manually rig the Z-axis above its lowest point. Rescrew the motor back into place tightly. Then auto home it.

> **Comments:**
> **username_1**: I disagree with this sugesstion. Z homing is often. Acting like this would quickly lead to wear of hardware (e.g. coupler's thread) or to introduce errors like too loose screw ([we had this before](https://3dprinting.stackexchange.com/questions/15214/z-axis-issue-after-upgrade-from-stock-fw-to-marlin-2-0-7-2-on-ender-3-pro/15217#comment28694_15217)). Much more useful would be to enable homing axes individually or [Z with custom menu](https://3dprinting.stackexchange.com/a/15216/26170), or even ad-hoc update current position with [`G92 Znnn`](https://marlinfw.org/docs/gcode/G092.html) (hacky).  
> **username_3**: @username_1 - you should post the last sentence as an answer (as it really is an answer), and expand upon it. The first half (the first three sentences are good though).  
> **username_1**: Good point. I added the answer summing up homing options.  

---

