Another possible and potentially more intuitive integration point would be the existing filament-loading screen.
The user already selects the filament material and color when loading a spool. This screen could include an optional submenu or checkbox:
Calibrate Pressure Advance after loading
Pressure Advance would not need to be active during the physical loading process itself. Instead, the calibration should start after:
- The filament has been loaded successfully;
- The filament has reached the nozzle;
- The normal purge/loading extrusion has completed;
- The hotend has reached the selected calibration temperature.
Proposed loading workflow
- The user selects the toolhead.
- The user selects filament manufacturer, material, subtype, and color.
- The display shows the recommended calibration temperature.
- The user can change the temperature within the hotend’s safe limits.
- The user chooses one of the following:
- Load only;
- Load and calibrate Pressure Advance;
- Load now and calibrate later.
- The printer loads and purges the filament.
- If requested, the printer performs the existing Dynamic Flow Calibration routine.
- The measured PA value is stored for that toolhead’s newly loaded-filament session.
After calibration, the filament screen could display:
- Toolhead: T1
- Filament: Generic PLA, Red
- PA status: Calibrated
- PA value: 0.0184
- Calibration temperature: 220 °C
- Nozzle diameter: 0.4 mm (may be still set in preferences)
Calibration lifetime
The measured PA value should remain valid until:
- The spool is unloaded or replaced;
- The filament assignment is changed;
- The nozzle/hotend configuration changes;
- The user manually clears or repeats the calibration.
Completing a print, switching toolheads, or restarting the printer should not invalidate the value.
The stored PA value should be reapplied whenever the corresponding toolhead is activated, including when it is selected automatically by Auto-Refill.
Benefits for Auto-Refill
This would solve much of the backup-filament problem before the print starts.
If every newly loaded spool can optionally be calibrated during loading, the firmware can determine which Auto-Refill candidates already have a valid PA value. At print start, the display could show:
- T1 — used by print, PA calibrated
- T2 — Auto-Refill candidate, PA calibrated
- T3 — Auto-Refill candidate, not calibrated
- T4 — unrelated filament
The user could then decide whether to:
- Start immediately;
- Calibrate only T3;
- Recalibrate selected toolheads;
- Continue using the filament profile/default PA value.
This avoids recalibrating every toolhead before every print and distributes the preparation time to the moment when a spool is loaded.
Backend considerations
The PA record should be associated with a loaded-filament session rather than only with the material name or color. Suggested metadata includes:
- Physical toolhead ID;
- PA value;
- Calibration temperature;
- Nozzle diameter/hotend ID;
- Filament manufacturer, material and subtype;
- Filament-session validity flag;
- Calibration timestamp.
Generic material metadata should not cause a PA value to be copied between different spools or toolheads.
On an unload event, only the PA record belonging to that toolhead should be invalidated. A new load should create a new filament session, even if the user selects the same material and color again.
Failure handling
A failed PA calibration should not prevent the filament from being loaded.
If calibration fails or produces an out-of-range result, the display should:
- Report that no valid dynamic PA value was stored;
- Retain the filament as successfully loaded;
- Fall back to the configured filament PA/default value;
- Offer Retry, Change temperature, or Skip.
Relationship to print-start calibration
Print-start Dynamic Flow Calibration should remain available, but it would become a secondary option:
- Already calibrated toolheads are skipped by default;
- Uncalibrated toolheads used by the print are selected by default;
- Uncalibrated Auto-Refill candidates are shown as recommended;
- The user can still manually select any loaded toolhead.
This would create a consistent lifecycle:
Load spool → optionally calibrate PA → store PA → reuse for prints and Auto-Refill → clear PA when spool is unloaded.