Skip to content

Instantly share code, notes, and snippets.

@Borillion
Created July 10, 2024 02:48
Show Gist options
  • Save Borillion/e06865333eb854685beb811804620707 to your computer and use it in GitHub Desktop.
Save Borillion/e06865333eb854685beb811804620707 to your computer and use it in GitHub Desktop.
CR10-S5 Printer config for Klipper and BTT SKR 3 with TMC 2209 Steppers and BLTouch Sensor
########################################
# CR10-S5 Printer config for Klipper
# BTT SKR 3 with TMC 2209 Steppers
# BLTouch Sensor, stock hotend and bed
########################################
[include fluidd.cfg]
[include macros.cfg]
[force_move]
enable_force_move: True
# This file contains common pin mappings for the BigTreeTech SKR 2.
# To use this config, the firmware should be compiled for the
# STM32F407 with a "32KiB bootloader".
# In newer versions of this board shipped in late 2021 the STM32F429
# is used, if this is the case compile for this with a "32KiB bootloader"
# You will need to check the chip on your board to identify which you have.
#
# The "make flash" command does not work on the SKR 2. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR 2
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
# Note: The initial revision of this board has a flaw that can cause
# damage to itself and other boards. Be sure to verify the board is
# not impacted by this flaw before using it.
[stepper_x]
step_pin: PE2
dir_pin: !PE1
enable_pin: !PE3
microsteps: 128
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 0
position_max: 500
homing_speed: 50
[stepper_y]
step_pin: PD5
dir_pin: !PD4
enable_pin: !PD6
microsteps: 128
rotation_distance: 40
endstop_pin: ^PC3
position_endstop: 0
position_max: 500
homing_speed: 50
[stepper_z]
step_pin: PA15
dir_pin: PA8
enable_pin: !PD1
microsteps: 128
rotation_distance: 8
endstop_pin: ^PC0
position_min: -6
position_max: 500
endstop_pin: probe:z_virtual_endstop
[extruder]
step_pin: PD15
dir_pin: PD14
enable_pin: !PC7
microsteps: 16
rotation_distance: 25.94 # E-steps not yet calibrated for stock extruder
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB3
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA2
min_temp: 0
max_temp: 275
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
[heater_bed]
heater_pin: PD7
sensor_type: ATC Semitec 104GT-2
#control: watermark
sensor_pin: PA1
min_temp: 0
max_temp: 130
[verify_heater heater_bed]
max_error: 120
check_gain_time: 60
hysteresis: 5
heating_gain: 0.2
# Print Cooling fan
[fan]
pin: PB7
max_power: 1.0
shutdown_speed: 0
cycle_time: 1
kick_start_time: 0.1
off_below: 0.3
# hotend fan
[heater_fan heatbreak_cooling_fan]
max_power: 1.0
pin: PB6
heater: extruder
heater_temp: 50.00
fan_speed: 1.0
#[heater_fan fan2]
#pin: PB5
# Due to BTT implementing a Marlin-specific safety feature,
# "anti-reversal stepper protection", this pin needs pulling
# high to pass power to stepper drivers and most FETs
[output_pin motor_power]
pin: PC13
value: 1
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f429xx_3E001F000251303330363837-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[pause_resume]
[display_status]
[display]
lcd_type: emulated_st7920
spi_software_miso_pin: EXP2_1
spi_software_mosi_pin: EXP1_3
spi_software_sclk_pin: EXP1_5
en_pin: EXP1_4
encoder_pins: EXP2_3, EXP2_5
click_pin: !EXP1_2
[virtual_sdcard]
path: ~/printer_data/gcodes
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PC5, EXP1_3=PB1, EXP1_5=PE10, EXP1_7=PE12, EXP1_9=<GND>,
EXP1_2=PB0, EXP1_4=PE9, EXP1_6=PE11, EXP1_8=PE13, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_3=PE7, EXP2_5=PB2, EXP2_7=PC4, EXP2_9=<GND>,
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
########################################
# BLTouch configuration
########################################
[bltouch]
# Pin of the Z-Endstop // Try with and w/o ^ // Used together with respective GND
sensor_pin = ^PC0
# Should be correct if you use the servo port. Verify wiring
control_pin = PE5
#probe_with_touch_mode: False #Play around. See documentation
#pin_up_reports_not_triggered: True #Play around. See documentation
#pin_up_touch_mode_reports_triggered: True #Play around. See documentation
x_offset = -40
y_offset = -10
#z_offset = 0
[safe_z_home]
home_xy_position: 250,250
speed: 50
z_hop: 10
z_hop_speed: 20
[bed_mesh]
speed: 80
horizontal_move_z: 5
mesh_min: 5, 3
mesh_max: 450, 490
probe_count: 6,6
mesh_pps: 2,2
fade_start: 1
fade_end: 10
fade_target: 0
[screws_tilt_adjust]
screw1: 80, 420
screw1_name: back left screw
screw2: 420, 420
screw2_name: back right screw
screw3: 420, 80
screw3_name: front right screw
screw4: 80, 80
screw4_name: front left screw
horizontal_move_z: 10
speed: 50
screw_thread: CW-M4 # Use CW for Clockwise and CCW for Counter Clockwise
########################################
# TMC2209 configuration
########################################
[tmc2209 stepper_x]
uart_pin: PE0
run_current: 0.800
#diag_pin:
[tmc2209 stepper_y]
uart_pin: PD3
run_current: 0.800
#diag_pin:
[tmc2209 stepper_z]
uart_pin: PD0
run_current: 1.2
#diag_pin:
[tmc2209 extruder]
uart_pin: PC6
run_current: 0.800
#diag_pin:
#[tmc2209 extruder1]
#uart_pin: PD12
#run_current: 0.600
#diag_pin:
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 31.436
#*# pid_ki = 1.379
#*# pid_kd = 179.187
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 77.444
#*# pid_ki = 0.841
#*# pid_kd = 1783.145
#*#
#*# [bltouch]
#*# z_offset = 3.050
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.191875, 0.093437, -0.045625, -0.060313, 0.032812, 0.155625
#*# 0.107500, 0.056562, -0.006250, -0.007500, 0.114062, 0.275000
#*# 0.043750, 0.019375, -0.023750, 0.018750, 0.150625, 0.281562
#*# -0.054375, -0.067500, -0.079375, -0.033438, 0.100937, 0.245937
#*# -0.081875, -0.073125, -0.098125, -0.056875, 0.075000, 0.204375
#*# -0.124063, -0.140000, -0.150000, -0.118438, 0.043750, 0.200000
#*# x_count = 6
#*# y_count = 6
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 5.0
#*# max_x = 450.0
#*# min_y = 3.0
#*# max_y = 490.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment