Skip to content
Ch 13Checkpoint

Checkpoint 13

Checkpoint · Chapter 13 — Initial startup

Tick every line before you start Ch 14.

  • Checkpoint #1 (Ch 10) was passed before this chapter began, with a multimeter, unplugged.
  • STATUS returns Klipper state: Ready, and both MCUs are present — stm32f446xx (or stm32h743xx on a V1.3 board) and stm32g0b1xx.
  • grep -c gpio ~/printer_data/config/printer.cfg returns 0 — the -sbv2 config.
  • M112 tested once (Step 13.22) and typed-and-unsent, alone on the line, before every first move; everyone in the room knows it is the stop and RESTART is not.
  • Extruder, bed and chamber (three sensors) all report room temperature at rest and none of them drifts upward untouched.
  • Both heaters heat and cool on command; the SSR LED tracks the bed, the toolboard HE0 LED tracks the hotend.
  • All four fan outputs verified and on the right fan: hotend (SB bottom), part cooling (SB top), bay PCB fan pair, Nevermore filter fan; plus the chamber LEDs and all three Stealthburner LEDs.
  • All seven motors pass STEPPER_BUZZ — correct motor, clean motion; correct direction for the four Z motors (A/B at 13.22–13.23, extruder at 13.40).
  • QUERY_ENDSTOPS reads stepper_x:open stepper_y:open stepper_z:open at rest and each endstop triggers alone; the nozzle probe shaft springs back freely.
  • QUERY_PROBE toggles open / TRIGGERED with metal, and the probe's fibreglass tape is front-and-sides only.
  • G28 completes on all three axes; 0,0 lands within 5 mm of the front-left corner of the plate with no skipping.
  • [safe_z_home] home_xy_position holds your measured Z-endstop coordinate, not -10,-10.
  • Bed and hotend PID tuned and SAVE_CONFIG-ed; PROBE_ACCURACY hot shows σ < 0.003 mm with no trend, and you wrote down the soak time.
  • Ch 06b cold gantry squaring done (Checkpoint 06b ticked), A/B belts back at its provisional tension, and QGL re-run and converged afterwards. Final tension is Ch 14 Steps 14.4–14.6, not here.
  • Z_ENDSTOP_CALIBRATE done hot at the paper-drag height (no extra step down) and saved; bed mesh taken hot after QGL and saved.
  • Filament loaded, extruder direction confirmed, rotation_distance measured here (Step 13.40) and written into [extruder].
  • PrusaSlicer has a Voron 2.4 350 printer preset (350×350, Klipper flavour, limits for time estimate only, plain .gcode, PRINT_START … FILAMENT=/PRINT_END, physical printer test OK) and the Voron cube printed from it, first-layer squish committed with Z_OFFSET_APPLY_ENDSTOP + SAVE_CONFIG after the print ended, cube kept for Ch 14's measurement.
  • ~/printer_data/config committed after every SAVE_CONFIG and copied off the Pi.
  • Part L, if fitted: H, w, d, G and O written down and the Step 13.47 decision kept (L, T, sheet stops, or NO-GO); only the files it wrote were printed, both inspection readings within 0.2 mm; the cold dry-run touched nothing but silicone; NOZZLE_CLEAN runs in PRINT_START before the final G28 Z.

Next: Ch 11 Part B, Step 11.52 — back, side and top panels and the door; then Ch 14.

Revali passing a gate
You built a machine that homes, levels and has printed its first cube. 11 gummy worms.

Common mistakes

  • Running QGL before PID, or cold. A drifting probe gives a QGL that reports success and leaves the gantry unlevel; you then chase it through first-layer tuning for a week. PID first, soak to temperature, and gate on PROBE_ACCURACY σ < 0.003 mm. (survey §3.3, §4.4 #16)
  • Setting the Z offset and the bed mesh before squaring the gantry. Ch 06b fully releases A/B tension and drops the Z joints — everything measured before it is scrap. Square first, re-tension, re-QGL, then Z=0 and mesh.
  • Adding a ! to an endstop pin to make a TRIGGERED reading go away. Every stock Voron endstop is normally-closed to ground. If it needs inverting, you almost certainly have a wiring fault that will fail intermittently later.
  • Moving a stepper connector with the power on. Back-EMF from a spinning or hot-swapped motor kills drivers, and you will not find out until the next homing move. Power down for every connector change. (survey §4.4 #10)
  • Using RESTART as an emergency stop. It waits its turn behind the move you are trying to stop. M112 typed alone on the line (or the red button) is sent as Mainsail's emergency-stop call and goes round the queue; M112 ; stop, or M112 after another command on the line, is just a queued command. FIRMWARE_RESTART afterwards.
  • "Correcting" the paper test for temperature. The paper test leaves the nozzle one paper-thickness (~0.1 mm) high by design, hot or cold; Step 13.42's babystepping closes that gap on the real first layer. An extra TESTZ Z=-0.1 puts Z=0 on the PEI and makes 13.37's check fail by construction.
  • SAVE_CONFIG during the first print. It restarts Klipper and kills the print at layer one. Babystep, note the total, let the cube finish, then Z_OFFSET_APPLY_ENDSTOP + SAVE_CONFIG.
  • Trusting babystepping. The Z Offset slider is discarded on restart unless you commit it with Z_OFFSET_APPLY_ENDSTOP followed by SAVE_CONFIG.

Next

Ch 11 Part B — back, side and top panels and the Clicky-Clack door — then Ch 14 — Calibration and tuning: final belt tension, the closed-chamber soak and the hot Z-joint lock, then caliper the cube against the Prusa-printed reference, then input shaper → pressure advance → extrusion multiplier → first-layer squish, in that order, and only now that a cube has printed.