Skip to content

Instantly share code, notes, and snippets.

@JamesRobertWiseman
Last active December 17, 2023 17:53
Show Gist options
  • Save JamesRobertWiseman/44f3a2524f135838b8dde8fae384ac21 to your computer and use it in GitHub Desktop.
Save JamesRobertWiseman/44f3a2524f135838b8dde8fae384ac21 to your computer and use it in GitHub Desktop.
Ender 3 v2 - SKR Mini E3 v3 - BL Touch - MicroSwiss direct drive extruder
# This file contains common pin mappings for the BIGTREETECH SKR mini
# E3 v3.0. To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# The "make flash" command does not work on the SKR mini E3. 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
# mini E3 with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[include KAMP_Settings.cfg]
[include ./KAMP/Adaptive_Meshing.cfg]
[include ./KAMP/Line_Purge.cfg]
[include ./KAMP/Smart_Park.cfg]
[axis_twist_compensation]
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
calibrate_start_x: 20
# Defines the minimum X coordinate of the calibration
# This should be the X coordinate that positions the nozzle at the starting
# calibration position. This parameter must be provided.
calibrate_end_x: 200
# Defines the maximum X coordinate of the calibration
# This should be the X coordinate that positions the nozzle at the ending
# calibration position. This parameter must be provided.
calibrate_y: 112.5
# Defines the Y coordinate of the calibration
# This should be the Y coordinate that positions the nozzle during the
# calibration process. This parameter must be provided and is recommended to
# be near the center of the bed
[gcode_arcs]
resolution: 1.0
[virtual_sdcard]
path: /home/pi/printer_data/gcodes
[pause_resume]
#[axis_twist_compensation]
[display_status]
[firmware_retraction]
retract_length: 0.5
retract_speed: 20
unretract_speed: 10
[bltouch]
sensor_pin: ^PC14
control_pin: PA1
x_offset: -44
y_offset: -7
pin_move_time: 0.4
probe_with_touch_mode: True
pin_up_touch_mode_reports_triggered: False
stow_on_each_sample: False
[safe_z_home]
home_xy_position: 115,115 # Change coordinates to the center of your print bed
speed: 20
z_hop: 10 # Move up 10mm
z_hop_speed: 5
[bed_mesh]
mesh_pps: 2,2
speed: 120
horizontal_move_z: 4.5
mesh_min: 15, 15
mesh_max: 205, 205
probe_count: 10,10
algorithm: bicubic
bicubic_tension: 0.2
[input_shaper]
[bed_screws]
screw1: 30,30
screw2: 200,30
screw3: 200,200
screw4: 30,200
[screws_tilt_adjust]
screw1: 75,38
screw1_name: front left screw
screw2: 245,38
screw2_name: front right screw
screw3: 245,210
screw3_name: rear right screw
screw4: 75,210
screw4_name: rear left screw
horizontal_move_z: 10
speed: 50
screw_thread: CW-M4
[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 64
rotation_distance: 40
endstop_pin: tmc2209_stepper_x:virtual_endstop
homing_retract_dist: 0
position_endstop: -10
position_min: -10
position_max: 250
homing_speed: 20
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
diag_pin: ^PC0 # Set to MCU pin connected to TMC DIAG pin
driver_SGTHRS: 50 # 255 is most sensitive value, 0 is least sensitive
uart_address: 0
run_current: 0.680
interpolate: false
stealthchop_threshold: 999999
[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 64
rotation_distance: 40
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_endstop: -15
position_min: -15
position_max: 225
homing_speed: 20
homing_retract_dist: 0
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
interpolate: false
run_current: 0.580
stealthchop_threshold: 999999
diag_pin: ^PC1 # Set to MCU pin connected to TMC DIAG pin
driver_SGTHRS: 45 # 255 is most sensitive value, 0 is least sensitive
[stepper_z]
step_pin: PB0
dir_pin: PC5
enable_pin: !PB1
endstop_pin: probe:z_virtual_endstop
position_max: 250
position_min: -2
microsteps: 256
rotation_distance: 40
gear_ratio: 80:16
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
interpolate: false
run_current: 0.680
#stealthchop_threshold: 999999
[extruder]
step_pin: PB3
dir_pin: PB4
enable_pin: !PD1
microsteps: 256
rotation_distance: 23.7783
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
min_temp: 0
max_temp: 250
pressure_advance: 0.072
max_extrude_cross_section: 5
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
#stealthchop_threshold: 999999
[heater_bed]
heater_pin: PC9
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC4
min_temp: 0
max_temp: 130
[heater_fan heatbreak_cooling_fan]
pin: PC7
[heater_fan controller_fan]
pin: PB15
[fan]
pin: PC6
[mcu]
serial: /dev/ttyAMA0
restart_method: command
[mcu rpi]
serial: /tmp/klipper_host_mcu
[mpu9250]
i2c_mcu: rpi
i2c_bus: i2c.1
[resonance_tester]
accel_chip: mpu9250
probe_points:
100, 100, 20 # an example
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 500
max_z_velocity: 50
max_z_accel: 500
[include ./macros/macros.cfg]
# SDCard 'looping' (aka Marlin M808 commands) support
#
# Support SDCard looping
[sdcard_loop]
# 'Marlin' style M808 compatibility macro for SDCard looping
[gcode_macro M808]
gcode:
{% if params.K is not defined and params.L is defined %}SDCARD_LOOP_BEGIN COUNT={params.L|int}{% endif %}
{% if params.K is not defined and params.L is not defined %}SDCARD_LOOP_END{% endif %}
{% if params.K is defined and params.L is not defined %}SDCARD_LOOP_DESIST{% endif %}
[board_pins]
aliases:
# EXP1 header
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PD6, EXP1_10=<5V>
# See the sample-lcd.cfg file for definitions of common LCD displays.
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 24.987
#*# pid_ki = 1.436
#*# pid_kd = 108.694
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 69.863
#*# pid_ki = 1.532
#*# pid_kd = 796.438
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.003301, -0.006410, -0.071433, -0.196769
#*# 0.015958, 0.038747, -0.001277, -0.187550
#*# 0.014395, 0.024997, -0.030808, -0.195832
#*# 0.010801, 0.025778, -0.040027, -0.193957
#*# 0.031739, 0.032965, -0.033777, -0.179269
#*# 0.039864, 0.053903, 0.003723, -0.149894
#*# 0.028614, 0.030934, -0.034871, -0.169425
#*# 0.028145, 0.035778, -0.008152, -0.152863
#*# 0.039708, 0.049215, -0.006589, -0.136457
#*# x_count = 4
#*# y_count = 9
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 86.35
#*# max_x = 133.63
#*# min_y = 31.07
#*# max_y = 188.91
#*#
#*# [bltouch]
#*# z_offset = 1.695
#*#
#*# [input_shaper]
#*# shaper_type_x = mzv
#*# shaper_freq_x = 26.2
#*# shaper_type_y = 2hump_ei
#*# shaper_freq_y = 44.6
#*#
#*# [axis_twist_compensation]
#*# z_compensations = 0.008125, -0.039687, 0.031562
#*# compensation_start_x = 20.0
#*# compensation_end_x = 200.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment