i3 Single Z Reference Configuration
- 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_BUZZfirst, do not execute full machine homing directly.
Applicable Range
| Structure | Description |
|---|---|
| i3 Single Z | One stepper motor each for X/Y/Z, single leadscrew or single motor synchronous dual leadscrew for Z axis |
| Cartesian | X/Y/Z right-angle coordinate structure, non-CoreXY |
| Entry-level machines converting to Klipper | Suitable as a base configuration template, then modify based on motherboard and machine dimensions |
Items That Need Modification First
| Item | Location | Description |
|---|---|---|
| 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 Direction | dir_pin | Add or remove ! before the corresponding pin if direction is reversed |
| Endstop Pin | endstop_pin | Modify 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
[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
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.
[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
[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:
rotation_distance: 33.683 is a reference value for common MK8 type extruders and must be recalibrated before actual use.
Heated Bed Configuration
[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
[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.
[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.
[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.
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.
#[homing_override]
#gcode:
# G28 Y
# G28 X
# G28 Z
Debugging Sequence
- Modify
[mcu], confirm Klipper can connect to the motherboard. - Check hotend and heated bed temperatures; should be near ambient temperature at room temperature.
- Use
STEPPER_BUZZto check X/Y/Z/extruder motor direction one by one. - Use
QUERY_ENDSTOPSto check endstop status. - Execute
G28 X,G28 Y,G28 Zat low speed, confirm single-axis homing is normal. - Perform hotend and heated bed PID calibration.
- Calibrate extruder
rotation_distance. - 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.