Skip to content

Instantly share code, notes, and snippets.

@Stubbs
Created October 29, 2025 20:32
Show Gist options
  • Select an option

  • Save Stubbs/7a1da913f47ee4ba8e94cfde5549a336 to your computer and use it in GitHub Desktop.

Select an option

Save Stubbs/7a1da913f47ee4ba8e94cfde5549a336 to your computer and use it in GitHub Desktop.
Config file for Klipper & Creality Ender 5 Pro
# This file contains common pin mappings for the 2019 Creality
# Ender 5. To use this config, the firmware should be compiled for the
# AVR atmega1284p. This also works for the v1.1.5 silent boards.
# Note, a number of Melzi boards are shipped with a bootloader that
# requires the following command to flash the board:
# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex
# For v1.1.5 silent boards, the following command is used:
# avrdude -p atmega1284p -c arduino -P /dev/ttyUSB0 -b 115200 -U flash:w:out/klipper.elf.hex
# If the above command does not work and "make flash" does not work
# then one may need to flash a bootloader to the board - see the
# Klipper docs/Bootloaders.md file for more information.
# See docs/Config_Reference.md for a description of parameters.
[include mainsail.cfg]
[stepper_x]
step_pin: PD7
dir_pin: !PC5
enable_pin: !PD6
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC2
position_endstop: 235
position_max: 235
homing_speed: 30
[stepper_y]
step_pin: PC6
dir_pin: !PC7
enable_pin: !PD6
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC3
position_endstop: 235
position_max: 235
homing_speed: 30
[stepper_z]
step_pin: PB3
dir_pin: !PB2
enable_pin: !PA5
microsteps: 16
rotation_distance: 8 # Use 4 for Ender5 versions after late 2019
endstop_pin: probe:z_virtual_endstop
#position_endstop: 0.0
position_max: 300
position_min: -8
[extruder]
max_extrude_only_distance: 100.0
step_pin: PB1
dir_pin: !PB0
enable_pin: !PD6
microsteps: 16
rotation_distance: 33.683
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PD5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA7
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PD4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA6
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130
[fan]
pin: PB4
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
# Silent boards tend to have the exact same serial ID, except without USB2.0, using USB instead.
# e.g. /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 10
max_z_accel: 100
[display]
lcd_type: st7920
cs_pin: PA3
sclk_pin: PA1
sid_pin: PC1
encoder_pins: ^PD2, ^PD3
click_pin: ^!PC0
[bltouch]
sensor_pin: ^PC4
control_pin: PA4
#z_offset: 0
x_offset: -44
y_offset: -8
[safe_z_home]
home_xy_position: 115, 115 # Change coordinates to the center of your print bed
speed: 50
z_hop: 10 # Move up 10mm
z_hop_speed: 5
[bed_mesh]
speed: 100
horizontal_move_z: 7
mesh_min: 40,40
mesh_max: 176,176
probe_count: 5,5
mesh_pps: 2,2
algorithm: lagrange
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bltouch]
#*# z_offset = 4.900
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.332500, 0.197500, 0.215000, 0.110000, 0.157500
#*# 0.107500, 0.010000, 0.037500, -0.050000, -0.015000
#*# -0.062500, -0.180000, -0.067500, -0.230000, -0.192500
#*# -0.050000, -0.195000, -0.162500, -0.265000, -0.237500
#*# 0.005000, -0.102500, -0.050000, -0.177500, -0.160000
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 40.0
#*# max_x = 176.0
#*# min_y = 40.0
#*# max_y = 176.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment