Skip to main content

i3 Single Z Reference Configuration

Read Before Use
  • This page is a Klipper reference configuration template for i3 / Cartesian single Z machines, not a ready-to-use final configuration.
  • serial, all pins, thermistor models, travel limits, endstop direction, and motor direction must be modified according to the actual hardware.
  • When powering on for the first time for debugging, check each motor using STEPPER_BUZZ first, do not execute full machine homing directly.

Applicable Range

StructureDescription
i3 Single ZOne stepper motor each for X/Y/Z, single leadscrew or single motor synchronous dual leadscrew for Z axis
CartesianX/Y/Z right-angle coordinate structure, non-CoreXY
Entry-level machines converting to KlipperSuitable as a base configuration template, then modify based on motherboard and machine dimensions

Items That Need Modification First

ItemLocationDescription
Motherboard ID[mcu]USB firmware generally uses serial
Machine Dimensions[stepper_x], [stepper_y], [stepper_z]Modify position_max according to the actual print volume
Motor Directiondir_pinAdd or remove ! before the corresponding pin if direction is reversed
Endstop Pinendstop_pinModify according to the actual endstop port, and confirm if ^ / ! is needed
Thermistor Model[extruder], [heater_bed]Fill in based on the actual hotend and heated bed sensors
PID Parameters[extruder], [heater_bed]Perform PID calibration after initial debugging and save
Extruder Steps[extruder]rotation_distance must be measured and calibrated

Basic Configuration

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

[virtual_sdcard]
path: ~/printer_data/gcodes

[pause_resume]

[display_status]

[exclude_object]

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

[temperature_sensor MCU]
sensor_type: temperature_mcu

[temperature_sensor HOST]
sensor_type: temperature_host

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
Tip

For i3 structures, it is recommended to start debugging with conservative speed and acceleration. After confirming direction, endstops, heating, and extrusion are normal, gradually increase speed and acceleration.

X/Y/Z Axis Configuration

Example uses 235 × 235 × 250 mm travel. Modify position_max according to the actual machine dimensions.

printer.cfg
[stepper_x]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
rotation_distance: 40
endstop_pin:
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
rotation_distance: 40
endstop_pin:
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
rotation_distance: 8
endstop_pin:
position_endstop: 0.0
position_max: 250
homing_speed: 5
second_homing_speed: 2.5
homing_retract_dist: 5

Extruder Configuration

printer.cfg
[extruder]
step_pin:
dir_pin:
enable_pin:
microsteps: 16
rotation_distance: 33.683
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin:
sensor_type: EPCOS 100K B57560G104F
sensor_pin:
min_temp: 0
max_temp: 250
max_extrude_only_distance: 100.0
# control: pid
# pid_Kp:
# pid_Ki:
# pid_Kd:
Caution

rotation_distance: 33.683 is a reference value for common MK8 type extruders and must be recalibrated before actual use.

Heated Bed Configuration

printer.cfg
[heater_bed]
heater_pin:
sensor_type: EPCOS 100K B57560G104F
sensor_pin:
min_temp: 0
max_temp: 130
# control: pid
# pid_Kp:
# pid_Ki:
# pid_Kd:

PID Calibration Commands:

PID_CALIBRATE HEATER=extruder TARGET=200
PID_CALIBRATE HEATER=heater_bed TARGET=60
SAVE_CONFIG

Fan Configuration

printer.cfg
[fan]
pin:
max_power: 1.0
shutdown_speed: 0

Manual Bed Leveling Screws

The coordinates below are reference values for a 235 mm heated bed and must be modified according to the actual screw positions.

printer.cfg
[bed_screws]
screw1: 30.5,37
screw2: 30.5,207
screw3: 204.5,207
screw4: 204.5,37

12864 Display Configuration

If the machine uses an ST7920 12864 display, the configuration below can be referenced. Delete or comment out this section if no display is used.

printer.cfg
[display]
lcd_type: st7920
cs_pin:
sclk_pin:
sid_pin:
encoder_pins:
click_pin:

Homing Override Reference

Some i3 machines have a large forward movement range for the heated bed, and the nozzle may hit the bed cable sheath. The homing_override can be used to fix the homing order of Y, X, Z.

Caution

After enabling the configuration below, the behavior of executing G28 X / G28 Y / G28 Z individually will be affected. Confirm that the machine structure indeed requires this configuration.

printer.cfg
#[homing_override]
#gcode:
# G28 Y
# G28 X
# G28 Z

Debugging Sequence

  1. Modify [mcu], confirm Klipper can connect to the motherboard.
  2. Check hotend and heated bed temperatures; should be near ambient temperature at room temperature.
  3. Use STEPPER_BUZZ to check X/Y/Z/extruder motor direction one by one.
  4. Use QUERY_ENDSTOPS to check endstop status.
  5. Execute G28 X, G28 Y, G28 Z at low speed, confirm single-axis homing is normal.
  6. Perform hotend and heated bed PID calibration.
  7. Calibrate extruder rotation_distance.
  8. Complete manual bed leveling and Z offset calibration.

Common Issues

Incorrect Homing Direction

Modify the dir_pin of the corresponding axis, add or remove !, then restart Klipper and test again.

Reversed Endstop Status

Modify endstop_pin, add or remove !. A common format for normally closed endstops is ^!pin.

Inaccurate Extrusion Length

Do not rely solely on the example value, follow the machine calibration process to recalculate rotation_distance.

Loading...