Hi everyone,
I’m new to 3D printing (first printer last week) and could really use some help troubleshooting a filament change issue.
I’m using:
Printer: Elegoo Neptune 3 Pro
Slicer: OrcaSlicer 2.3.0
Firmware: Stock (Marlin-based)
Interface: OctoPrint (not printing from SD card)
Problem:
When I perform a manual mid-print filament change, the printer pauses correctly and allows me to swap filament. However, after resuming, the extruder spins much faster than normal and barely extrudes any filament. It looks like it’s trying to push too much material at once, and the layers after the change end up under-extruded or inconsistent.
Background / What I’ve Tried:
I came across this earlier thread that describes the same issue:
Pause/Resume Script Not Extruding After Resume
Following advice from that discussion (especially from @b-morgan and @jneilliii), I adapted their suggestions since OrcaSlicer 2.3.0 only provides a single “Pause G-Code” box — not separate pause and resume fields. Based on that limitation, ChatGPT helped me merge both sequences into one combined script for use in OctoPrint:
; --- Combined Pause + Resume Script for OrcaSlicer 2.3.0 ---
; keeps extruder in relative mode so filament resumes correctly
{% if pause_position.x is not none %}
; --- Pause sequence ---
G91 ; relative positioning
G1 Z+5 E-5 F1800 ; retract 5mm, lift nozzle
G90 ; back to absolute XY
M83 ; relative E
G1 X0 Y0 F3000 ; move to safe position
M117 Filament Change ; message on screen
M0 ; pause and wait for user
; user changes filament manually here
; --- Resume sequence ---
M83 ; relative E
G1 E5 F1800 ; prime nozzle
G92 E{{ pause_position.e }} ; restore E position
G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F1800 ; return to print
{% endif %}
This script worked perfectly for short prints (like test pieces or small dog tags), but on the first longer job (e.g., a 3-hour print with a color change near the end), the problem returns — no grinding noise, just visibly incorrect extrusion speed and flow after the change. The extruder behaves unpredictably after resuming. I suspect this may be related to how OctoPrint or Marlin handles the M83
(relative extrusion) state or the pause_position.e
variable after a long pause.
Is there a better way to structure a combined pause/resume script for use with OctoPrint and OrcaSlicer 2.3.0?
Should any of the M83
or G92
commands be moved, removed, or reordered?
How can I ensure the extruder stays in relative mode after a long manual pause?
Could this be a Marlin or OctoPrint behavior rather than a slicer issue?
Any suggestions or clarification would be greatly appreciated. I’m still new to all this, so detailed explanations are welcome!
Thanks so much for your time and help.
Jerome Slater