Is there an advantage or disadvantage to adjusting the flow rate in my slicer

Is there an advantage or disadvantage to adjusting the flow rate in my slicer settings vs reprogramming the Esteps?

Background: I have a stock CR-10 purchased last year in September. I’ve been getting really bad under-extruding lately. So I ran the calibration per Tom’s 2014 video a few times and found I was under extruding 13mm! (only 87 mm of the 100mm) So I’ve been adjusting my flow rate in my Cura profile to 110%-115% to get back to decent results. Which seems to be working fine. Calibration cubes are all printing within acceptable tolerance.

I believe my next step should be to reprogram the Esteps, which I find intimidating. But I’ve been thinking of buying a TH3D EZABL so I may hold off on reprogramming until then since I’ll need to flash the firmware anyhow when I get one.

Also of concern is I get different values (98-99mm) when I just measure the filament coming out of the extruder assembly then when I run the filament through the hotend. Does this mean my PTFE tube is providing too much resistance or perhaps a clogged/degraded hot-end assembly? FWIW, I just installed a new tube and new nozzle last week.

With only one printer do whichever suits you. With multiple printers I wouldn’t want to keep straight which ones were where :slight_smile: I just fix the firmware and forget it.

Esteps should only be changed to ensure dimensional accuracy. Flow rates are changed to account for material and model requirements.

Make sure you calibrate your esteps based on physical movements, such as distance moved and filament pushed through the extruder. A calibration cube will allow you to tweak based on real world prints. But ultimately you’re still measuring the result to adjust your esteps. Again, ensuring dimensional accuracy.

The math assumes that your filament is 1.75. It likely is not. So if you’re cranking up flow rates 110% - 115%, that likely implies that your filament is 10%-15% under sized. Nothing wrong with that. There are other reasons for this and why you might change it, but that’s a good default assumption.

You should randomly sample the size of your filament and enter the average into your slicer.

The difference between low quality filaments and professional grade filaments is largely the accuracy of the filament diameter. A low quality filament may range from 1.25 - 1.70 over the span of 5 meters. Whereas a quality filament will be 1.7, with say ±0.05mm variance over the same distance or so. As you can imagine, the difference in the lower quality filament can greatly impact the resulting print and corresponding physical flow rates.

Just backing up what Greg said here. E-steps is for configuration of the hardware and you don’t want to flub these numbers for dimensional differences in filament. Always leave this number the precise amount that it needs to be based on calculations.

Change the flow rate to account for filament that is undersized, there are 2 places to do this: In your slicer, or while you’re printing. I believe M220 will dynamically adjust flow rate; this means you don’t have to constantly reslice, but it means you’ll have to record different rates for different filaments.

Another important point… Different filament types (eg PLA, ABS, TPU) require different flow rate calibration. The depth of drive gear / hob tooth bite is different based on the material hardness, and the amount of “slip” (reduction in distance between tooth bites due to drive force) depends on the elasticity of the filament. You don’t want to use a firmware parameter to adjust for different filaments! That should happen in the slicer.

What I recommend is CALCULATING your e-steps from the extruder gear ratio and diameter of your drive hob. There really is a single mathematically correct hardware value for this. Then use flow multiplier in slicer profiles to adjust for filament-specific flow calibration to capture the hardness and elasticity variation.

For filament diameter, the “correct” thing to do is to measure your filament in a variety of places (to capture ovality and variation) and put the average into your slicer SEPARATE from the flow multiplier. If you use flow multiplier to deal with filament diameter, you have to recalibrate for every spool, when you should be able to just measure diameter instead. But with high-quality filament these days, you don’t really need to do that. You won’t notice +/-0.05mm on 1.75mm filament unless you’re doing something unusual like tight mechanical fits or printing 100% solid parts.

It’s really easy, everyone assume once it’s dialed in its print and forget, but our little friends need some attention also. Just buy new nozzle and you will be printing good as new. In the mean time cleaning the old one so you have backup. That’s it, simple solution to a simple problem :wink:

I back what the others have said. Calibrate the e-steps to move the correct length of filament, and then never adjust them agian unless you change something mechanical in the extruder. Always adjust flow percentage through the slicer settings.

Changing e-steps to compensate for under/over extrusion, depth of teeth bite/filament compression,etc will also throw off your retraction settings,etc.

Also, while it is not likely to show up for years, eeproms can only be written to a certian numer of times before they can possibly be corrupted. The less you keep writing and overwritting the better.

Also, your esteps should always be set while the extruder is cold and the nozzle is removed from the heat block. You are setting the length of the filament being pushed into the extruder/nozzle. Not the length of what is coming out.

Backing up what others have stated. Once your e-steps are set for a configuration (It can be mathematically calculated and very precise) don’t adjust them. I always modify the slicer settings after running a thermal calibration of the filament and mark the settings on the filament spool. I can then use that spool on any of my printers with similar results. Each spool has slightly different settings. My mechanical printer settings are not changed.