<p>There is a specific command that instructs the head to park at the predefined position as set in the firmware configuration of your printer is using Marlin firmware. This G-code, <a href="https://marlinfw.org/docs/gcode/G027.html" rel="nofollow noreferrer"><code>G27</code></a> will position the head at the parking position:</p>
<blockquote>
<p>Raise and park the nozzle according to a predefined XY position and Z raise (or minimum height) value.</p>
</blockquote>
<blockquote>
<p>The parking XY position and Z value are defined by NOZZLE_PARK_POINT. <br><br>
The minimum Z raise is defined by NOZZLE_PARK_Z_RAISE_MIN.</p>
</blockquote>
<p>This implies that if you are using bed leveling with a leveling sensor, after <code>G29</code> or <code>G28</code> (if you defined <code>ENABLE_LEVELING_AFTER_G28</code>) in your start G-code you need to call <code>G27</code> or without a bed leveling sensor, like in the example of the question you need to call <code>G27</code> directly after <code>G28</code>.</p>

CC BY-SA 4.0
2024-01-15T22:30:10.137Z
2024-01-15T22:30:10.137Z
0scar
<p>I fixed this by homing the x axis again after homing all axis in the starting G-code. There might be an  more elegant solution but this works so I'm happy.</p>
<p><code>G28; home all axes   G28 X; home x axis to get to parking position</code></p>

CC BY-SA 4.0
2024-01-15T12:10:24.057Z
2024-01-15T12:10:24.057Z
Bram
<p>The Sovol SV04 has a &quot;parking&quot; position for the nozzles (i.e. X = -60), outside the bed area. The parking position has a small basket below to catch little pieces of the filament, and a rubber that wipes the nozzle when it enters the bed area.</p>
<p>When I launch a printing, the nozzle goes at the center of the working area and sits down there to wait until the temperature reaches the target. In my opinion it should sit at the parking position, so when the print begins the nozzle will be cleaned by the rubber.</p>
<p>I'm using Cura 5.3.1. Is there a setting I can tweak?</p>
<p>I'm aware about the experimental feature &quot;Wipe nozzle between layers&quot; but it's not what I'm looking for. I inspected the start gcode of the machine:</p>
<pre><code>;Single 01 start
M140 S{material_bed_temperature};
M104 T0 S{material_print_temperature};
M280 P0 S160;
G4 P100;
G28;
T0
M190 S{material_bed_temperature};
M109 T0 S{material_print_temperature};
G92 E0;
G1 X10.1 Y20 Z0.28 F5000.0;
G1 X10.1 Y200.0 Z0.28 F1500.0 E15;
G1 X10.4 Y200.0 Z0.28 F5000.0;
G1 X10.4 Y20 Z0.28 F1500.0 E30;
G92 E0 ;Reset Extruder
G1 Z2.0 F3000;
</code></pre>
<p>Should I manually hack this adding, say, a <code>G0 X-60</code>) at the beginning?
Or is there a more elegant solution? But most important: is there a reason why it's not enabled by default? Perhaps there is a drawback I don't see...</p>

<ultimaker-cura><g-code>
Let the nozzle wait on the parking position
Mark
# Let the nozzle wait on the parking position

(Asked by: username_0 on 2023-05-22)

The Sovol SV04 has a "parking" position for the nozzles (i.e. X = -60), outside the bed area. The parking position has a small basket below to catch little pieces of the filament, and a rubber that wipes the nozzle when it enters the bed area.
When I launch a printing, the nozzle goes at the center of the working area and sits down there to wait until the temperature reaches the target. In my opinion it should sit at the parking position, so when the print begins the nozzle will be cleaned by the rubber.
I'm using Cura 5.3.1. Is there a setting I can tweak?
I'm aware about the experimental feature "Wipe nozzle between layers" but it's not what I'm looking for. I inspected the start gcode of the machine:
;Single 01 start
M140 S{material_bed_temperature};
M104 T0 S{material_print_temperature};
M280 P0 S160;
G4 P100;
G28;
T0
M190 S{material_bed_temperature};
M109 T0 S{material_print_temperature};
G92 E0;
G1 X10.1 Y20 Z0.28 F5000.0;
G1 X10.1 Y200.0 Z0.28 F1500.0 E15;
G1 X10.4 Y200.0 Z0.28 F5000.0;
G1 X10.4 Y20 Z0.28 F1500.0 E30;
G92 E0 ;Reset Extruder
G1 Z2.0 F3000;

Should I manually hack this adding, say, a G0 X-60) at the beginning?
Or is there a more elegant solution? But most important: is there a reason why it's not enabled by default? Perhaps there is a drawback I don't see...

**Tags:** ultimaker-cura, g-code

---

## 2 answers

### Answer by username_1 on 2024-01-15. Score: 2

There is a specific command that instructs the head to park at the predefined position as set in the firmware configuration of your printer is using Marlin firmware. This G-code, [`G27`](https://marlinfw.org/docs/gcode/G027.html) will position the head at the parking position:

> Raise and park the nozzle according to a predefined XY position and Z raise (or minimum height) value.

> The parking XY position and Z value are defined by NOZZLE\_PARK\_POINT.   
>   
> The minimum Z raise is defined by NOZZLE\_PARK\_Z\_RAISE\_MIN.

This implies that if you are using bed leveling with a leveling sensor, after `G29` or `G28` (if you defined `ENABLE_LEVELING_AFTER_G28`) in your start G-code you need to call `G27` or without a bed leveling sensor, like in the example of the question you need to call `G27` directly after `G28`.


---

### Answer by username_2 on 2024-01-15. Score: 0

I fixed this by homing the x axis again after homing all axis in the starting G-code. There might be an more elegant solution but this works so I'm happy.

`G28; home all axes G28 X; home x axis to get to parking position`


---

