<p>I have a partial answer.</p>
<p>Thanks to <a href="https://www.chepclub.com/bed-level.html" rel="nofollow noreferrer">Chep</a>, who created a similar file, I found that there exists a less well documented <code>M25</code> command (Pause SD print). This seems to be the command to call with 32-bit boards in an Ender 3, instead of the <code>M0</code>.</p>
<p>Also I found out that this <code>M25</code> works a bit buggy. It only pauses after the movement command AFTER it is executed. So you need to execute the command before moving to the place where you want to pause. This bug still persists even on Chep's file.</p>
<p>And it bugs out the user interface of the Ender. Because the screen seems not to refresh, showing &quot;pause&quot; button when already paused. And overlapping a &quot;pause&quot; button over the ending &quot;confirm&quot; button while the program is already over.</p>
<p>I still haven't found out how to print instructions.</p>

CC BY-SA 4.0
2021-12-03T19:42:53.817Z
2021-12-03T20:23:00.923Z
2021-12-03T20:23:00.923Z
nl-x
<p>To help me with bed leveling my Ender 3 v2 (using stock Creality firmware, <a href="https://secureservercdn.net/192.169.223.13/i6h.45f.myftpupload.com/wp-content/uploads/2020/10/Ender-3-V2-V1.0.2-Source-code.rar" rel="nofollow noreferrer">V1.0.2</a>), I'm trying to write a G-code that will position the nozzle above each spring in sequence twice, after heating the bed. After each position, I want the printer to wait for me until I have leveled that position. I want to click the knob to continue to the next position. Also, it wouldn't hurt if I could show some instructions on the display.</p>
<p>This is my first G-code attempt, and I don't understand how to make the printer wait for a click, and how to show instructions.</p>
<p>I have tried for Wait for click: <code>M0</code>, <code>M71</code>, <code>M108</code> and <code>M291</code>.<br />
I have tried for showing instructions: <code>M0</code>, <code>M117</code> and <code>M291</code>.</p>
<p>All fail. The printer just goes from one position to the next without waiting, until the entire program is completed.</p>
<p>Here is my last attempt:</p>
<pre><code>M140 S60 ; Set bed temperature
M105 ; Report temperatures
M190 S60 ; Wait for bed temperature
G28 ; Home all axes



M117 Going to bottom left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y30.000 Z2.0 ; Bottom left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue; Show message and wait for continue button

M117 Going to top left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y190.000 Z2.0 ; Top left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to top right. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y190.000 Z2.0 ; Top right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to bottom rigth. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y30.000 Z2.0 ; Bottom right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button



M117 Going to bottom left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y30.000 Z2.0 ; Bottom left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to top right. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y190.000 Z2.0 ; Top right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to bottom rigth. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y30.000 Z2.0 ; Bottom right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to top left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y190.000 Z2.0 ; Top left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button



M117 Going to center. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X110.000 Y110.000 Z2.0 ; Center
G0 Z0.0 F3000 ; Move Z Axis down for checking
M71 Please level and click to end. Restart if not satisfied ; Show message

M140 S0 ; Set bed temperature
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X110.000 Y110.000 Z2.0 ; Home
G28 ; Home all axes
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
M84 X Y E Z ;Disable all steppers  
</code></pre>

CC BY-SA 4.0
2021-12-03T22:08:32.840Z
Another alternative is built into JyersUI firmware. The option is in the Prepare > Manual Leveling. It has five points (the four bed screws and center) for calibration.
agarza
CC BY-SA 4.0
2022-05-05T00:11:06.737Z
As a possible workaround, have you tried `G4 S[number of seconds]` for a timed pause?
Davo
<creality-ender-3><g-code>
Wait for click to continue
nl-x
# Wait for click to continue

(Asked by: username_0 on 2021-12-03)

To help me with bed leveling my Ender 3 v2 (using stock Creality firmware, [V1.0.2](https://secureservercdn.net/192.169.223.13/i6h.45f.myftpupload.com/wp-content/uploads/2020/10/Ender-3-V2-V1.0.2-Source-code.rar)), I'm trying to write a G-code that will position the nozzle above each spring in sequence twice, after heating the bed. After each position, I want the printer to wait for me until I have leveled that position. I want to click the knob to continue to the next position. Also, it wouldn't hurt if I could show some instructions on the display.

This is my first G-code attempt, and I don't understand how to make the printer wait for a click, and how to show instructions.

I have tried for Wait for click: `M0`, `M71`, `M108` and `M291`.  
I have tried for showing instructions: `M0`, `M117` and `M291`.

All fail. The printer just goes from one position to the next without waiting, until the entire program is completed.

Here is my last attempt:

```
M140 S60 ; Set bed temperature
M105 ; Report temperatures
M190 S60 ; Wait for bed temperature
G28 ; Home all axes

M117 Going to bottom left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y30.000 Z2.0 ; Bottom left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue; Show message and wait for continue button

M117 Going to top left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y190.000 Z2.0 ; Top left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to top right. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y190.000 Z2.0 ; Top right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to bottom rigth. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y30.000 Z2.0 ; Bottom right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to bottom left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y30.000 Z2.0 ; Bottom left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to top right. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y190.000 Z2.0 ; Top right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to bottom rigth. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X190.000 Y30.000 Z2.0 ; Bottom right
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to top left. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X30.000 Y190.000 Z2.0 ; Top left
G0 Z0.0 F3000 ; Move Z Axis down for leveling
M71 Please level and click to continue ; Show message and wait for continue button

M117 Going to center. Please wait.
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X110.000 Y110.000 Z2.0 ; Center
G0 Z0.0 F3000 ; Move Z Axis down for checking
M71 Please level and click to end. Restart if not satisfied ; Show message

M140 S0 ; Set bed temperature
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G0 F6000 X110.000 Y110.000 Z2.0 ; Home
G28 ; Home all axes
G0 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
M84 X Y E Z ;Disable all steppers  

```

**Tags:** creality-ender-3, g-code

> **Comments:**
> **username_1**: Another alternative is built into JyersUI firmware. The option is in the Prepare > Manual Leveling. It has five points (the four bed screws and center) for calibration.  
> **username_2**: As a possible workaround, have you tried `G4 S[number of seconds]` for a timed pause?  

---

## 1 answers

### Answer by username_0 on 2021-12-03. Score: 1

I have a partial answer.

Thanks to [Chep](https://www.chepclub.com/bed-level.html), who created a similar file, I found that there exists a less well documented `M25` command (Pause SD print). This seems to be the command to call with 32-bit boards in an Ender 3, instead of the `M0`.

Also I found out that this `M25` works a bit buggy. It only pauses after the movement command AFTER it is executed. So you need to execute the command before moving to the place where you want to pause. This bug still persists even on Chep's file.

And it bugs out the user interface of the Ender. Because the screen seems not to refresh, showing "pause" button when already paused. And overlapping a "pause" button over the ending "confirm" button while the program is already over.

I still haven't found out how to print instructions.


---

