# Prevent turning Z stepper OFF on END\_PRINT

**URL:** https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767
**Category:** General Discussion
**Created:** [March 18, 2026, 6:19pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767 "2026-03-18T18:19:28Z")
**Posts on this page:** 14
**Page:** 1

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 18, 2026, 6:19pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/1 "2026-03-18T18:19:28Z")

</div>

### Basic Information:

Printer Model: T350  
 MCU / Printerboard: BTT Kraken 1.1  
 Host / SBC banana pi  
 klippy.log

_Fill out above information and_ _ **in all cases attach your** _ **`klippy.log` _file_** (use zip to compress it, if too big). _Pasting your_ `printer.cfg` _is **not** needed_  
_ **Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there** _

### Describe your issue:

Hi,

I’ve searched imho everywhere but I didn’t find anything besides ai slop or topics relating to PAUSE - sorry if I missed it.

My printer bed is on 3 T8 rods and will drop a bit when the steppers are turned off, forcing a new G28 Z0 and a Z-TILT every time. I’d like it to keep the Z-steppers on and maybe, if possible, kill them after idle-timeout.

Is there a way to disable turning off the Z-stepper after a print? It feels stupid that i didn’t find anything on this, sorry…

---

<div class="post-metadata">

### Author: ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)
#### Post date: [March 18, 2026, 6:31pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/2 "2026-03-18T18:31:16Z")

</div>

If you had attached a klippy.log we could look and see what is disabling your motors.

ATM we can only speculate. Check your slicer end gcode.

---

<div class="post-metadata">

### Author: ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)
#### Post date: [March 18, 2026, 6:48pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/3 "2026-03-18T18:48:02Z")

</div>

Usually this is either set in the Slicer end gcode script settings or the END\_PRINT macro in Klipper - hence the need of the klippy.log as @cardoc explained.

---

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 18, 2026, 7:09pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/4 "2026-03-18T19:09:20Z")

</div>

I’m sorry I was sure this would be a klipper - builtin thing so I didn’t attach the log. Here it is. Thx in advance!

[klippy(11).log](https://klipper.discourse.group/uploads/short-url/ffmY6P42egK9N9nXAoFfEaTMTZV.log) (1.7 MB)

edit:

```auto
END_PRINT:

\[gcode_macro END_PRINT\]
gcode:
    G91 ;releative positioning
    G1 E-1 F2700 ;Retract a bit
    G1 E-1 Z0.2 F2400 ;Retract and raise Z
    G1 X-3 Y-3 F3000 ;Wipe out
    G1 Z10 F400 ;Raise Z more

```

```
\# Turn off bed, extruder, and fan
M140 S0
M104 S0
M106 S0

G90 ; Absolute Positioning
G1 X150 Y20 F3600 ; Move Printer Head Out of Way

M84 X Y E ;Disable all steppers but Z
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1

```

I already added the last line to enable Z again but no go.

---

<div class="post-metadata">

### Author: ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)
#### Post date: [March 18, 2026, 7:33pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/5 "2026-03-18T19:33:04Z")

</div>

AFAIK, Klipper does not take parameters on M84 or M18, so it always turns off all motors when that command is issued.

You may use [set\_stepper\_enable](https://www.klipper3d.org/Config_Reference.html?h=stepper) instead

e.g.

```auto
SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=0

```

> [@stahlsau](#):
>
> I already added the last line to enable Z again but no go.

Once turned off, turning on has no effect because the position is already invalid.

BTW: Have you shortened the klippy.log? The config is missing.

---

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 18, 2026, 7:55pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/6 "2026-03-18T19:55:12Z")

</div>

well i don’t know. Now I cycled the logs, restarted, and started (and ended) a new print.

[klippy(12).log](https://klipper.discourse.group/uploads/short-url/pneNyLQ317DHRvr1n7brznHHkSP.log) (659.9 KB)

---

<div class="post-metadata">

### Author: ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)
#### Post date: [March 18, 2026, 8:08pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/7 "2026-03-18T20:08:40Z")

</div>

Maybe the Kalico guys did something.

You may ask them.

---

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 19, 2026, 11:45am UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/8 "2026-03-19T11:45:30Z")

</div>

```auto
SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=0

```

that for X and Y instead of M84 could be the solution, didn’t recognize that yesterday. I’ll try it.

---

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 19, 2026, 1:14pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/9 "2026-03-19T13:14:34Z")

</div>

well that did it. I somehow didn’t notice the M84 (or what it does), thinking the “steppers-off” was somehow hardcoded or something. Wrong, ofc.

Solution for me: I’ve added the following to my END\_PRINT:

```auto
# M84 X Y E ;Disable all steppers but Z
    SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=0
    SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=0 

    SET_IDLE_TIMEOUT TIMEOUT=1800

```

thx at all for the help!

---

<div class="post-metadata">

### Author: ![cdsmith](https://avatars.discourse-cdn.com/v4/letter/c/22d042/32.png) [@cdsmith](https://klipper.discourse.group/u/cdsmith)
#### Post date: [March 19, 2026, 1:42pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/10 "2026-03-19T13:42:37Z")

</div>

Beware that if you use SET\_STEPPER\_ENABLE to disable a motor, klipper does NOT remove that motor from the list of homed axes. It will still allow moves on that axis and act as if the position for that motor is known.  
If your machine is a coreXY, disabling one of x or y allows movement on both axes, and both could move out of position, but klipper will act as if they aren’t. So make sure you re-home before doing any movements.

---

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 19, 2026, 1:59pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/11 "2026-03-19T13:59:28Z")

</div>

thanks for the heads-up! Guess I’ll remove the STEPPER\_ENABLE too then. Won’t matter much if they stay powered for half an hour longer…

---

<div class="post-metadata">

### Author: ![why\_me1](https://avatars.discourse-cdn.com/v4/letter/w/df788c/32.png) [@why\_me1](https://klipper.discourse.group/u/why_me1)
#### Post date: [March 20, 2026, 4:47pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/12 "2026-03-20T16:47:00Z")

</div>

you could use SET\_KINEMATIC\_POSITION CLEAR\_HOMED=… to unhome the disabled axis

---

<div class="post-metadata">

### Author: ![stahlsau](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@stahlsau](https://klipper.discourse.group/u/stahlsau)
#### Post date: [March 20, 2026, 5:05pm UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/13 "2026-03-20T17:05:08Z")

</div>

that’s even better. Thanks!

---

<div class="post-metadata">

### Author: ![system](https://global.discourse-cdn.com/free1/uploads/klipper/original/1X/64419bf2aac6639e6ef5cef200dcd456b0a01ac3.png) [@system](https://klipper.discourse.group/u/system)
#### Post date: [April 20, 2026, 3:05am UTC](https://klipper.discourse.group/t/prevent-turning-z-stepper-off-on-end-print/25767/14 "2026-04-20T03:05:49Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
