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.


3 Answers 3


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 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.

  • $\begingroup$ 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. $\endgroup$
    – DoxyLover
    Commented Jul 2, 2020 at 18:14
  • $\begingroup$ @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. $\endgroup$
    – 0scar
    Commented Jul 3, 2020 at 7:29

(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 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:

  • Add your own options to the custom menu 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, 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)


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

  • $\begingroup$ 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). Much more useful would be to enable homing axes individually or Z with custom menu, or even ad-hoc update current position with G92 Znnn (hacky). $\endgroup$
    – octopus8
    Commented Jan 27, 2021 at 1:02
  • $\begingroup$ @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). $\endgroup$
    – Greenonline
    Commented Jan 27, 2021 at 15:18
  • $\begingroup$ Good point. I added the answer summing up homing options. $\endgroup$
    – octopus8
    Commented Jan 27, 2021 at 22:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .