G-Code Interfering with Runout Sensor???
Clear all

G-Code Interfering with Runout Sensor???  

Eminent Member
G-Code Interfering with Runout Sensor???

I've created several PrusaSlicer profiles for a Raise3D Pro3 (RepRapFirmware) and they all work pretty well except for one major issue: the extruder will not extrude after recovering from filament runout.

Series of Events:

  1. Filament runs out and triggers runout sensor. Printer goes into a paused state and displays message saying filament runout sensor has been triggered.
  2. I unload the remaining filament and load in a new spool. Everything primes perfectly during the loading process. All is well.
  3. I resume the print and the filament does not extrude. There is no clog present. The extruder is not slipping.
  4. I marked the filament with a sharpie and let it continue and all the extruder is doing is retraction and deretraction moves (filament moving up and down in the same spot). I tried forcing the filament past the gears, but the gears have a firm hold on the filament (no slippage).
  5. I stop the print.
  6. I restart the print and everything prints fine.

This happens every single time. I usually try to manually pause the print before this happens, but I'm only human.

My question is, is there some setting in PrusaSlicer that could be interfering with the runout sensor and causing this issue? Could this be G-Code related? I'm inserting my current g-code below. I've also attached screenshots of my Printer Settings.

Start G-Code

M104 T0 S[first_layer_temperature] ; set left extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 T0 S[first_layer_temperature] ; wait for left extruder temp
G1 Z0.3 F500
G92 E0
G1 Z0.3 F400
G1 X100 Y-3 F1000
G1 X170 Y-3 E30 F200
G1 Z5 E30 F200
G92 E0
G1 Z10 F2000 ; move up from purge line
G1 Y30 F2000 ; move away from purge line
G1 Z[first_layer_height]
M117 Printing...

Emit Temperature Commands Automatically: Enabled

End G-Code:

M221 T0 S100
M104 S0
M140 S0
G1 E-1 F300
G1 Z+0.5 E-5 X-20 Y-20 F9000.00
G28 X0 Y0

BLC: Empty

ALC: Empty

Tool Change: Empty

Between Objects: Empty

Color Change: Empty

Pause Print G-Code:


Temp Custom: Empty

I'm relatively new to g-code (less than a year of experience), but I've got a pretty good grasp of it. Any help would be greatly appreciated!

Posted : 18/05/2023 11:17 am
Eminent Member
Topic starter answered:
RE: G-Code Interfering with Runout Sensor???

I've attached the Extruder Settings as well:


Posted : 18/05/2023 11:21 am
Illustrious Member
RE: G-Code Interfering with Runout Sensor???

Please dont attaching pictures.  They do not provide a complete view of your settings.  Please attach a ZIPPED up saved project file using File>Save Project As from Prusa Slicer.  The 3mf saved will contain the model as well as copies of all 3 in use profiles.  As such we will get all your start gcode settings anyway.  Its a snapshot and allows anyone to slice the same as you and output the gcode if needed etc.  You are far more likely to get an answer that way.  Must be zipped or the forum will just silently not attach it as it only allows very limited file types.

Off the top of my head, as I've seen this before on other threads here with different printers, though there could be a mismatch between extruder settings.  In your Printer profile start gcode you have M82, which is putting the extruder into absolute mode.  So 9mm goes to 10mm, retract 2mm will cause the value to go to 8mm etc.  However in your General settings you have extrusion configured for Relative.  

When you experience a filament runout the printers firmware takes over.  Internally it might be switching to either Absolute or Relative mode.   When you exit the reload sequence the firmware is supposed to restore the mode it was in before hand.  Unfortunately some firmware's aren't very well tested or just expect it be in a specific mode all the time so don't consider things like that.  This can make all the following extruder values nonsensical.

Without your saved project I cant tell if its actually putting out.   Whatever its set to Id try configuring it to the opposite and testing again.  Remember that if you do reconfigure to use relative extrusion then you will need to add in the G90 E0 line in the before layer change custom gcode field to keep the count accurate.

If it is a mismatch then there are a couple of things you could try.  The easiest would just be leaving it in the extrusion mode that the printer is using for the filament change.

Posted : 18/05/2023 12:25 pm