Skip to content

Calibration

This page runs every calibration job for a printer, start to finish, without leaving it. Each job has its own controls, readings, and console output.

The jobs

A rail lists the calibration jobs, in the order the physical dependencies run. Picking one gives it the page.

JobWhat it covers
Axes & frameHoming, jogging, parking, the levelling procedure your printer has, screw turns, Z offset, endstop states
Bed & probeThe height map, probe accuracy, saved mesh profiles
HeatersPID or MPC calibration per heater, with the temperature chart beside it
ResonanceAccelerometer noise, and the Shake&Tune graphs
ExtrusionPressure advance, retraction, extrude and retract, filament sensor states

A job your printer cannot do is not listed. A machine with no probe has no Bed & probe entry; a machine whose only heater is bang-bang has no Heaters entry. Axes & frame is always there, because endstops exist on any machine with steppers.

The console

A console sits below the job you are working on, so the lines Klipper answers with arrive where you started the command.

It is the Console page's own console: the same transcript, command history, filters, and command browser. A filter or a prompt position set in either place holds in both. Its height follows the Visible lines setting in its own settings panel.

Console in the page heading puts it away and brings it back.

Config changes are still written from the header

Calibration stages a change instead of writing it. The header's Save new config control appears when something is waiting, says what would be written, and writes it.

Watching a mesh being probed

The height map draws each point as it arrives. You can see a probing run go wrong before it finishes.

The point count updates live: Probing — 34 points so far.

Point positions update as probing continues

Each point is plotted against the average of the run so far, so early points can move as more points arrive. The mesh is provisional until the run finishes, and the page marks it as such.

Scanning probes sweep the bed instead of touching each point, so there is no per-point report during the scan. The page states this, and fills in the map once the mesh completes.

Mesh profiles

Lists every mesh profile saved on the printer, each showing the spread Klipper measured for it. This lets you compare profiles without loading each one onto the printer to see what it contains.

ActionNotes
Calibrate meshRuns BED_MESH_CALIBRATE.
LoadMakes a saved profile active.
Save loaded meshNames and stores the mesh currently loaded.
RenameKlipper can only rename the loaded profile, so the page says so when it is not.
DeleteAsks first, and names the profile.

A mesh that has only been calibrated is not saved. It is lost on the next restart, and the page warns you before that happens.

See the Bed mesh dashboard module for the same map, plus projections, render styles, color scales, and warnings.

Manual probing

A prompt appears wherever you are in the interface when Klipper stops to ask where the bed is. MANUAL_PROBE, Z_ENDSTOP_CALIBRATE, PROBE_CALIBRATE, and macros built around them all end in the same wait, whether the command came from a macro button here, the console, the printer's own screen, or another browser.

The height Klipper is holding is the number to watch. Beside it are the two heights already tried, one below and one above. This is the bracket a bisection closes in on. Each side stays empty until you have tried a height in that direction.

ControlWhat it does
The halve pairHalves what is left to the nearest height already tried that way, up or down.
The step gridMoves by a fixed distance, from a millimetre down to five micrometres.
AcceptEnds the probe at this height and hands it back to whatever asked.
AbortEnds the probe without recording anything.

Every button shows the distance it will move, including the halving pair. That number shrinks automatically as the bracket closes, so you can see how much room is left. Klipper's own notation for these two moves (TESTZ Z=+, and ++ for the full distance) is still available in the console.

The usual run is coarse steps down until the nozzle is close, then halving until a sheet of paper is just gripped.

Closing the prompt does not answer it

Closing the window, or pressing Escape, leaves the probe where it is. Only Accept and Abort end it. The header shows a Manual probe control that brings the prompt back while a probe is waiting, so you can heat the nozzle first or check anything else in the interface without losing your place.

A halving press never moves more than 0.2 mm. This is Klipper's own limit, not Alabaster's, and it means the halving pair cannot reach the bed no matter how many times you press it. The step grid has no such limit.

Whatever requested the height receives it: a probe offset, a Z endstop position, or the rest of your macro. If the result staged a config change, the header's Save new config control shows this and writes it.

Bed screws are their own prompt

BED_SCREWS_ADJUST waits the same way as a manual probe: the printer drives the nozzle to each screw and stops. It has its own prompt, showing the screw's name, the current round, and Klipper's three answers: Accept, Adjusted, and Abort. It follows the same rules as manual probing, including closing the window: a Bed screws control appears in the header while a round is waiting. See the Movement module.

Homing and levelling

Axes & frame carries the movement controls: home one axis or all of them, jog, park, run whichever levelling procedure your printer is configured for (QUAD_GANTRY_LEVEL, Z_TILT_ADJUST, SCREWS_TILT_CALCULATE, BED_SCREWS_ADJUST, DELTA_CALIBRATE), read the screw turns Klipper answers with, and set the Z offset.

These are the same controls as the Movement dashboard module, sharing its settings: a jog step or park position changed in either place holds in both.

Probe accuracy probes wherever the toolhead currently sits, so jogging it into position first is part of that check, on the same page.

Heater models

Heaters runs PID_CALIBRATE or MPC_CALIBRATE per heater, whichever the heater is configured for. The temperature chart sits beside it, because the run drives the heater through its own heat-up cycle for several minutes and the climb curve is how you see it behaving.

A bang-bang (watermark) heater has no constants to fit, so it is not offered. Calibration is refused while a job is loaded, not only while one is printing: the heat-up cycle ends a paused print or ruins a running one.

The result stays staged until you save it from the header.

Endstops

Shows the live state of every endstop the printer reports: Triggered, Open, or Unknown.

Klipper reports endstop state only when asked. Alabaster asks every couple of seconds while the printer is idle. Read now asks immediately.

  • Polling stops during a print. Querying endstops mid-print is not free, so readings pause and are labeled as not current.
  • A failed read does not clear the last good reading. If a read fails, the previous values stay on screen, and the page states that the last read failed.

Each reading carries the time it was taken.

Probe accuracy

Repeats one point ten times in place and reports the results: maximum, minimum, range, average, median, and standard deviation.

This distinguishes a noisy probe from an uneven bed. The two look identical on a mesh, but only one is fixed by probing more points. Run this check before you rely on a mesh's readings.

This section appears only on a printer with a probe. If the probe's offset would carry it off the bed from the toolhead's current position, the page states this and the control waits instead of failing mid-run.

Extrusion

Extrusion carries pressure advance and its smoothing time, the retraction figures, and the extrude and retract controls a pressure-advance check needs to push filament through. Same controls and same settings as the Extruder dashboard module.

Runout sensors

Shows every filament sensor the printer reports, as Filament loaded or No filament. A sensor that is switched off is marked Disarmed.

These update live. A sensor tripped while you are probing the bed shows up here without a page refresh.

This section reports sensor state without changing it. The Disarmed mark distinguishes a genuine runout from a sensor that was never active.

Tuning results

Shows your input shaper output, read directly from the printer's config folder.

CategoryWhat it shows
Input shaperThe per-axis resonance graphs.
Belts comparisonBoth belts against each other.
Vibrations profileVibration against speed and direction.
Axes mapThe accelerometer orientation check.
Static frequencyA single-frequency measurement.

Open any of them at full size.

Tuning results appear on the same page as the mesh and the belts you are comparing them against.

Generated by Shake&Tune

These graphs come from the Shake&Tune tooling. Alabaster reads the files Shake&Tune writes; it does not generate them. If Shake&Tune is not installed, this section has nothing to show.

Alabaster is an independent project and is not affiliated with the Klipper or Moonraker projects.