Disclaimer: This is an independent resource site. Not affiliated with the Voron project or its development team.

Klipper G-Code Commands for Voron — Complete Reference Guide

Klipper Firmware Reference

Klipper firmware exposes hundreds of G-code commands, and not all of them are relevant to Voron printers. This reference guide organizes the most useful commands by category — calibration, movement, extrusion, temperature, bed leveling, probing, I/O, and diagnostics — with Voron-specific examples for each. Whether you're writing a macro, debugging an issue, or tuning your printer, this is your quick-reference companion. Last updated: May 2025.

Calibration Commands

PID_CALIBRATE

Purpose: Tune the PID (Proportional-Integral-Derivative) control loop for your hotend or heated bed. Proper PID tuning minimizes temperature fluctuation during printing.

Syntax:

PID_CALIBRATE HEATER=heater_bed TARGET=110
PID_CALIBRATE HEATER=extruder TARGET=250
SAVE_CONFIG

Voron usage: Run with the chamber closed at your normal printing temperature. For the bed, target 105-110C for ABS. For the hotend, target your most-used printing temperature (typically 245-255C for ABS).

PROBE_CALIBRATE

Purpose: Calibrate the Z-offset between your probe and nozzle. Essential for accurate first layer height.

Syntax:

PROBE_CALIBRATE
TESTZ Z=-0.1
ACCEPT
SAVE_CONFIG

Voron usage: Heat the bed and nozzle to printing temperature before calibrating. Thermal expansion changes the Z-offset. Use a 0.1mm feeler gauge or paper test for consistent results.

BED_MESH_CALIBRATE

Purpose: Probe the bed surface to create a height map used for mesh bed leveling during printing.

Syntax:

BED_MESH_CALIBRATE
BED_MESH_CALIBRATE METHOD=manual  ; Manual probing
BED_MESH_CALIBRATE ADAPTIVE=1     ; Adaptive mesh (Voron 0.2)

Voron usage: Adaptive mesh (BED_MESH_CALIBRATE ADAPTIVE=1) is highly recommended on Voron V2.4 and Trident. It only probes the area where the model will print, saving time on large beds.

SHAPER_CALIBRATE

Purpose: Run input shaper auto-calibration. The toolhead moves at increasing frequencies and an accelerometer measures resonance.

Syntax:

SHAPER_CALIBRATE                        ; Auto-calibrate
SHAPER_CALIBRATE AXIS=X                 ; Only X axis
SHAPER_CALIBRATE AXIS=Y FREQ_START=40  ; Custom frequency range
SAVE_CONFIG

Voron usage: On Voron V2.4, run X and Y separately. Mount the accelerometer on the print head for X and on the bed for Y. Save the recommended shaper type and frequency with SAVE_CONFIG.

TUNING_TOWOWER

Purpose: Change a parameter (flow rate, pressure advance, temperature) layer-by-layer during a print for visual calibration.

Syntax:

TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=0.005
TUNING_TOWER COMMAND=SET_EXTRUDER_ROTATION_DISTANCE PARAMETER=DISTANCE START=22 FACTOR=0.001

Voron usage: Used with OrcaSlicer's calibration towers. The slicer inserts CHANGE_AT_LAYER or TUNING_TOWER commands to vary a parameter per layer.

Movement Commands

CommandSyntaxVoron Usage
G28 G28 — Home all axes
G28 X — Home X only
Standard homing. Vorons typically home Z via the probe, X/Y via endstops.
G1 / G0 G1 X100 Y100 F6000 — Linear move Movement in mm. F is feedrate in mm/min. G0 and G1 are identical in Klipper.
G90 / G91 G90 — Absolute positioning
G91 — Relative positioning
Start G-code should set G90 for absolute positioning. Use G91 for purge lines.
M114 M114 — Get current position Diagnostic. Returns X: Y: Z: E: values. Useful in macros to log position before moves.

Extrusion Commands

CommandSyntaxVoron Usage
M83 M83 Set extruder to relative mode. Standard in Voron start G-code.
M82 M82 Set extruder to absolute mode. Less common, used in some macros.
M221 M221 S95 — Set flow rate to 95% Flow rate override. Used in filament profiles for fine-tuning extrusion.
SET_EXTRUDER_ROTATION_DISTANCE SET_EXTRUDER_ROTATION_DISTANCE DISTANCE=22.678 Calibrate extruder e-steps. Measure 120mm of filament, extrude 100mm, calculate correct distance.

Temperature Commands

CommandSyntaxVoron Usage
M104 M104 S250 — Set hotend temp, don't wait Used in PRINT_START to set temp while bed heats.
M140 M140 S105 — Set bed temp, don't wait Used in PRINT_START to start bed heating immediately.
M109 M109 S250 — Set hotend temp, wait until reached Blocking wait for hotend. Use carefully — it blocks all other commands.
M190 M190 S105 — Set bed temp, wait until reached Blocking wait for bed. Usually avoided in favor of non-blocking M140 + conditional wait loops.
SET_HEATER_TEMPERATURE SET_HEATER_TEMPERATURE HEATER=extruder TARGET=200 Klipper-specific alternative to M104. More explicit, useful in macros.

Bed Leveling Commands

Z_TILT_ADJUST

Purpose: Auto-level the gantry by probing at multiple Z-tilt points and adjusting the Z steppers.

Syntax:

Z_TILT_ADJUST
Z_TILT_ADJUST HORIZONTAL_MOVE_Z=10  ; Raise Z before adjusting

Voron usage: Used on Voron V2.4 and Trident. Probes at 3 points (front-left, front-right, rear-center or similar) and levels the X/Y gantry. Run this at the beginning of your PRINT_START macro.

QUAD_GANTRY_LEVEL (QGL)

Purpose: Four-corner gantry leveling used by Voron V2.4 with 4 Z-motors.

Syntax:

QUAD_GANTRY_LEVEL
QUAD_GANTRY_LEVEL HORIZONTAL_MOVE_Z=15 RETRIES=3

Voron usage: Required for V2.4 before every print or after any Z-axis maintenance. The printer probes 4 points and adjusts each Z stepper motor independently.

SCREWS_TILT_CALCULATE

Purpose: Manual bed leveling assistant. Probes the bed at each screw location and tells you how much to turn each bed adjustment knob.

Syntax:

SCREWS_TILT_CALCULATE
SCREWS_TILT_CALCULATE MAX_DEVIATION=0.025

Voron usage: Useful on Trident (fixed bed with 3-point leveling) and Switchwire. Run after initial setup or major disassembly. Each knob adjustment is reported in minutes of rotation.

Probe Commands

CommandSyntaxVoron Usage
PROBE PROBE — Single probe
PROBE COUNT=5 — Average 5 probes
Diagnostic. Tests probe triggering at current position.
PROBE_ACCURACY PROBE_ACCURACY Measures probe repeatability. Run 10 probes at center of bed. Results should be within 0.005mm for a good probe.
Z_ENDSTOP_CALIBRATE Z_ENDSTOP_CALIBRATE Calibrate physical Z endstop position. Used if you have a physical Z stop.
BED_MESH_OUTPUT BED_MESH_OUTPUT Print the current bed mesh data to console. Useful for diagnostics in Klipper console.

I/O Commands

CommandSyntaxVoron Usage
M106 M106 S255 — Part fan on at 100%
M106 P1 S128 — Aux fan at 50%
Fan control. P0 = part cooling fan, P1 = aux fan (if defined).
M107 M107 Turn off part cooling fan. Used in start G-code before printing first layer.
M42 M42 P1 S255 — Set pin 1 to 255 Direct pin control. Use with configured pins for LEDs, chamber lights, etc.
SET_PIN SET_PIN PIN=chamber_light VALUE=1 Klipper-specific pin control. Prefer this over M42 for named pins.

SD Card and Misc Commands

CommandSyntaxVoron Usage
M20 M20 List files on SD card. Less relevant for Vorons that print over USB/network.
M21 M21 Initialize SD card. Used if Klipper is configured with virtual_sdcard.
M23 M23 filename.gcode Select file for printing. Used by Mainsail/Fluidd internally.
M24 M24 Start/resume print. Used by frontends to begin selected file.

Klipper-Specific Commands

SAVE_CONFIG

Purpose: Save calibration results (PID, probe offset, shaper config, bed mesh) to printer.cfg. Persisted settings are appended to the config file.

Syntax: SAVE_CONFIG

Voron usage: Always run after PID_CALIBRATE, PROBE_CALIBRATE, SHAPER_CALIBRATE, or any calibration that modifies persistent settings. The printer will restart automatically after saving.

RESTART

Purpose: Restart the Klipper firmware without rebooting the SBC. Reloads printer.cfg.

Syntax: RESTART

Voron usage: Run after editing printer.cfg. Won't reload changes made to moonraker.conf or the OS.

FIRMWARE_RESTART

Purpose: Force a full re-connection to all MCUs. Required if an MCU disconnects or errors out. More thorough than RESTART.

Syntax: FIRMWARE_RESTART

Voron usage: Use if Klipper reports MCU connection errors or if CANBus toolhead boards disconnect. This command re-flashes the MCU connection.

STATUS

Purpose: Show current printer status including klipper state, print progress, and any active errors.

Syntax: STATUS

Voron usage: Quick diagnostic check. Returns Printer is ready or details of any fault condition.

RESPOND

Purpose: Send a message to the frontend console. Used in macros to provide status updates.

Syntax:

RESPOND MSG="Heating bed..."
RESPOND PREFIX=INFO MSG="Starting print with ABS"
RESPOND TYPE=command MSG="action:disconnect"

Voron usage: Essential for custom macros. Use RESPOND to log progress at each step of your PRINT_START macro so you can see what's happening in Mainsail/Fluidd.

Macros Reference

SET_FAN_SPEED

Purpose: Set a configured fan's speed by percentage. More intuitive than M106 for named fans.

Syntax:

SET_FAN_SPEED FAN=part_cooling_fan SPEED=0.5    ; 50%
SET_FAN_SPEED FAN=exhaust_fan SPEED=1.0          ; 100%

Voron usage: Use in macros that control enclosure fans, Nevermore carbon filter fans, or chamber exhaust fans. Speed is 0.0-1.0.

UPDATE_DELAYED_GCODE

Purpose: Update or cancel a delayed G-code event (a G-code that runs after a specified delay).

Syntax:

UPDATE_DELAYED_GCODE ID=my_delayed_gcode DUATION=120
UPDATE_DELAYED_GCODE ID=my_delayed_gcode DURATION=0  ; Cancel

Voron usage: Common for chamber heater control. A delayed G-code checks if the chamber is up to temperature and either starts the print or delays further. Also used for Nevermore fan cycling.

Quick Troubleshooting Reference

IssueDiagnostic Command
First layer too high/low PROBE_CALIBRATE to adjust Z-offset
Temperature fluctuations PID_CALIBRATE HEATER=extruder TARGET=250
Gantry not level QUAD_GANTRY_LEVEL or Z_TILT_ADJUST
Probe inconsistency PROBE_ACCURACY to check repeatability
Underextrusion SET_EXTRUDER_ROTATION_DISTANCE recalibration
Ringing/ghosting SHAPER_CALIBRATE to re-run input shaper
MCU disconnected FIRMWARE_RESTART

Bookmark this page for quick reference. The Klipper documentation is comprehensive but scattered — this guide collects the Voron-relevant commands in one place. When in doubt, use HELP in the Klipper console to get a full list of available commands on your specific configuration.

🚨

Voron LDO 商标 · 域名 打包出售

Trademark & domains sold as one package

Voron LDO 商标 (中国区 · China)
voron.cn
voronldo.com
ldovoron.com

有意者请联系 · Contact us:

📧 346290742@qq.com
📞 +86 13522926174