Skip to main content

VZBOT Reference Configuration

Important Notes Before Use
  • This page is a Klipper reference configuration template for VZBOT / VZBOT AWD, not a ready-to-use configuration.
  • serial, canbus_uuid, all pins, thermistor models, travel limits, endstop directions, and motor directions must be modified according to the actual hardware.
  • When powering on for the first time, disconnect the belts or keep your hand near the emergency stop/power-off position. Use STEPPER_BUZZ to check each motor first.

Scope of Application

StructureDescription
VZBOT 2WDStandard CoreXY, X/Y two motors
VZBOT AWDQuad-motor CoreXY, commonly written as stepper_x, stepper_x1, stepper_y, stepper_y1
VZ-HextrudORTReference extruder configuration below; actual rotation_distance still needs recalibration

Items That Need Modification First

ItemLocationDescription
Board ID[mcu]Use serial for USB firmware, canbus_uuid for CAN firmware
Machine dimensions[stepper_x], [stepper_y], [stepper_z]Modify per VZ235, VZ330, or custom size
Motor directiondir_pinIf direction is reversed, add or delete ! before the corresponding pin
Endstop pinendstop_pinDifferent writing for physical endstops, driverless endstops, and probes
Driver model[tmc2209] / [tmc5160]Must match the actual driver
Thermistor model[extruder], [heater_bed]Fill in according to actual hotend and bed sensors
PID parameters[extruder], [heater_bed]Execute PID calibration after initial debugging and save

Basic Configuration

printer.cfg
[include mainsail.cfg]
# [include fluidd.cfg]
# [include timelapse.cfg]

[virtual_sdcard]
path: ~/printer_data/gcodes

[pause_resume]
recover_velocity: 350

[display_status]

[exclude_object]

[gcode_arcs]
resolution: 0.1

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxxx-if00
# canbus_uuid: xxxxxxxxxxxx

[temperature_sensor MCU]
sensor_type: temperature_mcu

[temperature_sensor HOST]
sensor_type: temperature_host

[printer]
kinematics: corexy
max_velocity: 500
max_accel: 10000
max_z_velocity: 20
max_z_accel: 300
square_corner_velocity: 10
Tip

When initially debugging a VZBOT machine, it is recommended to start with conservative speeds and accelerations. After confirming that homing, endstops, heating, extrusion, and fans are all functioning correctly, gradually increase max_velocity, max_accel, and redo resonance compensation.

2WD XY Configuration

Applicable to VZBOT with only two XY motors. Please replace pins according to the actual motherboard.

printer.cfg
[stepper_x]
step_pin:
dir_pin:
enable_pin:
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200
endstop_pin:
position_min: 0
position_endstop: 0
position_max: 330
homing_speed: 50
homing_retract_dist: 0

[tmc2209 stepper_x]
uart_pin:
interpolate: False
run_current: 1.2
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_y]
step_pin:
dir_pin:
enable_pin:
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200
endstop_pin:
position_min: 0
position_endstop: 0
position_max: 330
homing_speed: 50
homing_retract_dist: 0

[tmc2209 stepper_y]
uart_pin:
interpolate: False
run_current: 1.2
sense_resistor: 0.110
stealthchop_threshold: 0

AWD XY Configuration

Applicable to VZBOT AWD with four XY motors. stepper_x and stepper_x1 should move in the same direction, and stepper_y and stepper_y1 should also move in the same direction.

Info

Common configurations for VZBOT AWD include additional motor segments like stepper_x1, stepper_y1. Before use, confirm that the current Klipper version, kinematics configuration, and example configurations support these definitions; if using the official new generic kinematics configuration, change to the carriage / stepper format according to the corresponding example.

printer.cfg
[stepper_x]
step_pin:
dir_pin:
enable_pin:
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200
endstop_pin:
position_min: 0
position_endstop: 0
position_max: 330
homing_speed: 50
homing_retract_dist: 0

[tmc5160 stepper_x]
cs_pin:
spi_bus:
interpolate: False
run_current: 1.6
sense_resistor: 0.033
driver_TBL: 1
driver_TOFF: 3
driver_DISS2G: 1
driver_DISS2VS: 1

[stepper_x1]
step_pin:
dir_pin:
enable_pin:
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200

[tmc5160 stepper_x1]
cs_pin:
spi_bus:
interpolate: False
run_current: 1.6
sense_resistor: 0.033
driver_TBL: 1
driver_TOFF: 3
driver_DISS2G: 1
driver_DISS2VS: 1

[stepper_y]
step_pin:
dir_pin:
enable_pin:
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200
endstop_pin:
position_min: 0
position_endstop: 0
position_max: 330
homing_speed: 50
homing_retract_dist: 0

[tmc5160 stepper_y]
cs_pin:
spi_bus:
interpolate: False
run_current: 1.6
sense_resistor: 0.033
driver_TBL: 1
driver_TOFF: 3
driver_DISS2G: 1
driver_DISS2VS: 1

[stepper_y1]
step_pin:
dir_pin:
enable_pin:
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200

[tmc5160 stepper_y1]
cs_pin:
spi_bus:
interpolate: False
run_current: 1.6
sense_resistor: 0.033
driver_TBL: 1
driver_TOFF: 3
driver_DISS2G: 1
driver_DISS2VS: 1
AWD Motor Direction Check
  1. Execute STEPPER_BUZZ STEPPER=stepper_x, STEPPER_BUZZ STEPPER=stepper_x1, STEPPER_BUZZ STEPPER=stepper_y, STEPPER_BUZZ STEPPER=stepper_y1 respectively.
  2. The two motors on the same axis must move in the same direction.
  3. If the two motors on the same axis are pulling against each other, immediately disconnect power and modify the ! status of one dir_pin.

Z-Axis Configuration

Single Z Configuration

printer.cfg
[stepper_z]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
rotation_distance: 4
full_steps_per_rotation: 200
endstop_pin:
position_min: -5
position_endstop: 0
position_max: 330
homing_speed: 5
second_homing_speed: 2.5
homing_retract_dist: 5

[tmc2209 stepper_z]
uart_pin:
interpolate: False
run_current: 1.0
sense_resistor: 0.110
stealthchop_threshold: 0

Using Probe as Z Endstop

printer.cfg
[stepper_z]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
rotation_distance: 4
full_steps_per_rotation: 200
endstop_pin: probe:z_virtual_endstop
position_min: -5
position_max: 330
homing_speed: 5
second_homing_speed: 2.5
homing_retract_dist: 5

[probe]
pin:
x_offset: 0
y_offset: 0
# z_offset: 0
speed: 5
lift_speed: 10
samples: 3
samples_result: median
sample_retract_dist: 2
samples_tolerance: 0.075
samples_tolerance_retries: 3

Extruder Configuration

VZBOT commonly uses VZ-HextrudORT, Goliath, Dragon, Rapido, and other hotend combinations. The following provides only a general reference; rotation_distance must be measured in practice.

printer.cfg
[extruder]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
full_steps_per_rotation: 200
rotation_distance: 22.5
gear_ratio: 50:8
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin:
sensor_type: PT1000
sensor_pin:
min_temp: 0
max_temp: 400
max_extrude_only_distance: 1000
max_extrude_only_velocity: 200
max_extrude_only_accel: 10000
pressure_advance: 0.02
pressure_advance_smooth_time: 0.03

[tmc2209 extruder]
uart_pin:
interpolate: False
run_current: 0.7
sense_resistor: 0.110

Common Reference Values for VZ-HextrudORT

ExtruderReference ValueDescription
VZ-HextrudORT Low T8rotation_distance: 22.5Requires measured fine-tuning
VZ-HextrudORT Low T10rotation_distance: 23.8425Requires measured fine-tuning
VZ-HextrudORT Low Plus T8rotation_distance: 29.7Requires measured fine-tuning
VZ-HextrudORT Low Plus T10rotation_distance: 29.11Requires measured fine-tuning

Heated Bed Configuration

printer.cfg
[heater_bed]
heater_pin:
sensor_type: Generic 3950
sensor_pin:
min_temp: 0
max_temp: 130
# control: pid
# pid_Kp:
# pid_Ki:
# pid_Kd:

PID Calibration Command:

PID_CALIBRATE HEATER=heater_bed TARGET=100
SAVE_CONFIG

Fan Configuration

printer.cfg
[fan]
pin:
max_power: 1.0
cycle_time: 0.002
hardware_pwm: false
shutdown_speed: 0

[heater_fan hotend_fan]
pin:
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0

[controller_fan driver_fan]
pin:
max_power: 1.0
shutdown_speed: 0
kick_start_time: 0.5
fan_speed: 0.8
idle_timeout: 90
idle_speed: 0.4
stepper: stepper_x,stepper_y

Bed Mesh

printer.cfg
[bed_mesh]
speed: 150
horizontal_move_z: 5
mesh_min: 30,30
mesh_max: 300,300
probe_count: 5,5
mesh_pps: 2,2
algorithm: bicubic
bicubic_tension: 0.2
Tip

mesh_min and mesh_max must be calculated based on probe offset, bed size, and nozzle reachable range; they cannot be copied directly.

Debugging Sequence

  1. Modify [mcu] and confirm that Klipper can connect to the motherboard.
  2. Check temperature display; hotend and bed temperatures should be close to ambient temperature.
  3. Use STEPPER_BUZZ to check each motor's movement; coaxial motors on AWD must move in the same direction.
  4. Check X/Y directions without belts or with loose belts.
  5. Execute G28 X, G28 Y, G28 Z at low speed to confirm endstop trigger direction.
  6. Perform hotend and heated bed PID calibration.
  7. Calibrate the extruder rotation_distance.
  8. Complete Z_OFFSET, bed leveling, resonance compensation, and pressure advance calibration.

Common Issues

Klipper reports that stepper_x1 cannot be found

Check if the entire [stepper_x1] section in the AWD configuration is missing, or if the section name is incorrect.

AWD coaxial motors are fighting against each other

Immediately disconnect power and check the wiring sequence and dir_pin of the two motors on the same axis. Do not continue powered testing while they are pulling against each other.

Incorrect homing direction

In CoreXY, X/Y directions affect each other. First ensure coaxial AWD motors are in the same direction, then try adjusting the dir_pin of X/Y, changing only one location at a time and recording the result.

Hotend temperature jumps or displays abnormally

Prioritize checking the thermistor model, wiring, terminal crimping, and sensor_pin. PT1000, NTC 100K, and thermocouple/amplifier board configurations are different and cannot be mixed.

Loading...