Default e-steps value deliberately set too low?
(Disclaimer at bottom.)
Since assembling my MK4, I've noticed a fairly small, yet consistent amount visible and measurable under-extrusion across multiple filament brands and materials. Since the amount was very consistent, I decided to verify the default e-steps value with a real-world test for my particular printer by perfoming the following steps:
- Loaded a spool of PLA into the extruder.
- Made a mark on the filament 120mm from the top of the filament path.
- Heated the nozzle to 235C, well above the typical PLA print temperatures.
- Sent M92 to the printer and recorded the default e-steps value of E380.00.
- Sent G91 to the printer to place it in relative movement mode.
- Slowly extruded 100mm of filament using the following g-code: G1 E100 F50.
Once the filament stopped moving, I measured the distance from the top of the filament path to the mark I made. I found that the value was not 20mm as you would expect, but exactly 25mm. This of course means the extruder was only pulling 95% of the requested length of filament.
If I had calculated any other value, I likely would have added a corrective line to my start g-code and shrugged it off. However, the fact that I was getting exactly 95% of the requested movement stood out to me.
On my previous printer, the MK3S+, there was a line in the default start g-code that set the flow rate to 95%. Was it a coincidence that my e-steps measurements also equaled 95%? Does this mean Prusa is intentionally using the e-steps value to effectively adjust the flow rate to 95% at the firmware level on the MK4?
The default start g-code on the MK4 actually includes a line that sets the flow rate to 100%. If reducing the flow rate was the goal, why not just change it here? Why set the flow to 100%, then reduce the e-steps to produce a similar effect?
If setting the e-steps to 95% of the correct/true value was a deliberate move by Prusa, what would be their reasoning? How could this be a better solution than adjusting the flow rate through g-code as has been done for years?
While reducing the e-steps does effectively reduce the flow rate, it also affects other print moves like retractions/deretractions. Why would you intentionally have the extruder motor always move 5% less than requested?
Disclaimer: I've written this post under the assumption that the use of a smaller e-steps value was deliberate, so forgive me if this is not the case. I just found the coincidence between my measurements and what Prusa has done with other printers to be a bit suspicious. After coming across a post on r/Prusa3D where a commenter also mentions calculating the same values I did, I thought I'd make a post here and see if others have noticed the same thing with their MK4s.