Maximum flowrate calibration

How to know the limits of the hotend

(work in progress)


  • rotation distance (not necessarily very accurate)
  • temperature calibration

Repeat depending on:

  • filament brand
  • filament material
  • temperature
  • nozzle diameter

As shown by CNC Kitchen, with increasing flow rate the amount of plastic extruded decreases compared to the expected amount, due to the backpressure in the nozzle causing slipping between drive gear(s) and filament and resulting in filament deformation.

This effect depends on the hotend temperature, since plastic gets less viscous at higher temperature, nozzle diameter, strength of the driving gear(s) (a dual drive will push efficiently up to higher flow rates).

Once a printing temperature and a nozzle diameter have been chosen, it is possible to extrude plastic at increasing rates and to measure the decrease in effective extrusion. If you haven't optimised the extrusion temperature yet, pick a temperature in the middle of the recommended range, or check online for reviews (CNC kitchen does strength tests if you are interested in them). This flowrate calibration won't be affected by a change of about 5 °C, but you will need to repeat the tests if you increase it by 15 °C or more.

By collecting plastic extruded at different speeds and by weighing it, it is possible to estimate the maximum usable flow rate, at which no excessive slippage is present.


First of all the drive gear(s) must be cleaned properly, then the extruder must be brought up to the chosen temperature.

Then a macro is run multiple times, to extrude at increasing rates.

Be quick to remove the filament during the pause and at the end of the measurement (when the extruder motor stops). Ten centimetres of filament have already a measurable weight and it may affect the quality of the results.

Once the extrusion is completed, using a precision scale the extrusion is evaluated.

Likely the extrusion (the weight of the plastic extruded at each rate) will be almost constant up to a certain rate, at which a decreasing trend will appear.

The maximum usable flow rate is the one where the downward trend begins, or just a bit after that. It has to be kept in mind that extrusion in air is easier than extrusion against a print, since in the latter case there is additional pressure required to squeeze the filament against the previous layer. A test print should be performed at the end to verify the setting.

Once the max flowrate is chosen, the printer calibration can now be performed again (rotation distance, pressure advance, and so on) at the chosen flow rate. The slicer should also be set to limit the flow rate to that value.

See video for an example calibration procedure.

I repeated the measurement with PETG filament and I obtained the following graph:

Flowrate with PETG

I know, my extruder is poor.

The macro used for the purpose is:

 [gcode_macro FLOWRATE_TEST]
 default_parameter_DIAMETER: 2.85
    {% set speed = FLOWRATE|float * 60.0 / DIAMETER|float / DIAMETER|float * 4.0 / 3.1415 %}
    M118 flowrate: { FLOWRATE }
    M118 diameter: { DIAMETER }
    M118 speed: { speed }
    M83 ; E relative
 # pause	
    G4 P10000
 # prime hot chamber
 # 10 mm filament at minimum flowrate
    G1 e10 F{ speed }
    G4 P2000
 # feedrate as defined
    g1 E50 F{ speed }
    g1 E50 F{ speed }
    g1 E50 F{ speed }
    g1 E50 F{ speed }

Author: Olaf Marzocchi

First revision: 2021-02-16.
Last revision: 2021-02-19.