Skip to content

Calibrations

Camden-Winder edited this page Aug 7, 2026 · 3 revisions

Calibrations


Fan Timing Calibration

What the calibration does: Runs two measurement phases to find the Orca Slicer fan timing values that get your cooling fan to speed as fast as possible:

  • kick_start_time — seconds at max speed before dropping to the target PWM; helps fans that stall at low speeds from a dead stop
  • fan_speedup_time — how many seconds early Orca should start the fan so it reaches target speed by the time it is needed

Requirements

  • Printer must be on, with Klipper and Moonraker running
  • Cooling fan must have a tachometer wire connected (RPM reporting is required)
  • Cooling fan must be configured as [fan_generic cooling_fan] in Klipper — the script hard-codes that object name (FAN_NAME = "cooling_fan")
  • No print job active or paused — the script will abort if the printer is busy

Steps

  1. Download fan_test.py from the repo: wiki/assets/fan_test.py
  2. Run the script from your computer:
    • Windows: py fan_test.py
    • Mac/Linux: python3 fan_test.py
  3. Enter your printer's IP address or hostname when prompted (e.g. 192.168.1.100 or qidi.local)
  4. Let it run to completion — it runs two phases:
    • Phase 1: Measures how long the fan takes to spin up from a cold stop (determines fan_speedup_time)
    • Phase 2: Sweeps kickstart durations at 20% and 40% PWM to find the shortest burst that reliably spins the fan up (determines kick_start_time)
  5. Copy the Orca Slicer Settings block printed at the end into your filament or printer profile:
    • Location: Orca Slicer → Filament → Cooling → Fan settings
    • Apply kick_start_time and fan_speedup_time as shown

The script communicates with your printer over the Moonraker API.

Original script by @Michael.Smichtz (Qidi Discord), rewritten for Orca Slicer output.

Clone this wiki locally