2.2.13. Notes about the startup G-Code in the Prusa i3 Mk3/Mk3s/Mk3s+ system preset

The default start g-code that ships with PrusaSlicer works well in most situations. However, there are a few settings that can cause frustration if you’re not aware of them.

2.2.13.1. Extrusion multiplier adjustment

Near the bottom of the startup gcode in the Prusa-supplied Mk3 presets you’ll find the following line:

M221 S{if layer_height<0.075}100{else}95{endif}

The M221 gcode command adjusts the flow percentage applied to all E moves. When set, this command will modify the flow rate in addition to any adjustments you already made to the extrusion mutliplier in PrusaSlicer. This command will apply a flow rate of 100% for layer heights below 0.075mm, or 95% for layer heights above 0.075mm. For most prints on the Mk3, this means your multiplier is being set to 95% of whatever settings you’ve set under Filament Settings->Filament->Filament->Extrusion multiplier. This has two drawbacks:

  1. It is applying a modifier to your settings that you are unaware of.

  2. If you’re monitoring a print on the Mk3, you may notice that the firmware flow rate has been set to 90% even if you didn’t specify a reduced rate in your PrusaSlicer filament settings.

  3. The M221 command sets the firmware flow rate to be used until explicitly reset in gcode, or the printer is power cycled. If you are doing other prints using gcode produced by another slicer, this may cause unexpected problems.

Somewhere buried deep in the Prusa forums is a post by Jo Prusa in which he explains the reason for this adjustment. Slic3r – and presumably PrusaSlicer ever since – had a tendency to slightly over-extrude on higher layer heights. This was inserted into the Prusa-supplied presets as a work-around. Unfortunately, it seems to have been made permanent. Prusa can’t remove the line now since thousands of users have been using it for years and will experience sudden over-extrusion if it is changed.

I personally prefer to remove this line from my start gcode and explicitly calibrate the filament extrusion multiplier for each filament. I also make a point of manually resetting the firmware feed rates and flow rate in my startup gcode.

Contact and feedback

You can find me on the Prusa support forums or Reddit where I lurk in many of the 3D printing-related subreddits. I occasionally drop into the Official Prusa 3D discord server where I can be reached as bobstro (bobstro#9830). You can email me directly at projects@ttlexceeded.com.

Last edited on Apr 03, 2021. Last build on Oct 22, 2021.