Skip to content

Instantly share code, notes, and snippets.

@Freaky-namuH
Created June 12, 2024 19:41
Show Gist options
  • Save Freaky-namuH/a456fbea78fa956f50b093783131a208 to your computer and use it in GitHub Desktop.
Save Freaky-namuH/a456fbea78fa956f50b093783131a208 to your computer and use it in GitHub Desktop.
Ender 3 Pro SKR 1.4 Turbo Sprite Extruder Pro CR Touch Klipper
# This file contains common pin mappings for the BIGTREETECH SKR V1.4
# board. To use this config, the firmware should be compiled for the
# LPC1768 or LPC1769(Turbo).
# The pinout numbers (eg P2.2) come from this diagram - https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/BTT%20SKR%20V1.4/Hardware/BTT%20SKR%20V1.4PIN.pdf
# See docs/Config_Reference.md for a description of parameters.
[include fluidd.cfg]
[stepper_x]
step_pin: P2.2
dir_pin: !P2.6
enable_pin: !P2.1
microsteps: 16
rotation_distance: 40
endstop_pin: P1.29
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: P0.19
dir_pin: !P0.20
enable_pin: !P2.8
microsteps: 16
rotation_distance: 40
endstop_pin: P1.28
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: P0.22
dir_pin: P2.11
enable_pin: !P0.21
microsteps: 16
rotation_distance: 8
# endstop_pin: P1.27
endstop_pin: probe:z_virtual_endstop # Use virtual endstop for probe
#endstop_pin: P1.27 # Z-stop microswitch signal pin
#position_endstop: 0.0 # Set the endstop position to 0.0
position_min: -5 # Allow Z-axis to move slightly below zero
position_max: 250
homing_speed: 5
# Creality CR Touch
[bltouch]
sensor_pin: ^P0.10 # sensor pin
control_pin: P2.0 # Servos probe pin for control
x_offset: -27.8 # Adjusted X offset from nozzle
y_offset: -42.1 # Adjusted Y offset from nozzle
#z_offset: 1.1 # Adjusted Z offset from nozzle (if applicable)
speed: 5.0
pin_up_touch_mode_reports_triggered: True
probe_with_touch_mode: True
stow_on_each_sample: False # Keep the probe extended between points
samples: 2 # Probe each point at least twice
samples_tolerance: 0.0125 # If those measurements aren't this close then
samples_tolerance_retries: 5 # Re-probe this many times and use the average
[safe_z_home]
home_xy_position: 115, 115 # Move to the center of the bed
speed: 50 # Move speed
z_hop: 10 # Move up 10mm before moving to the xy position
z_hop_speed: 5 # Speed at which to perform the z-hop
[extruder]
step_pin: P2.13
dir_pin: !P0.11
enable_pin: !P2.12
# rotation_distance: 33.500 ; skr orig
# 16*200/424.9
# rotation_distance = 7.53
heater_pin: P2.7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.24
control: pid
pid_Kp: 23.561
pid_Ki: 1.208
pid_Kd: 114.859
microsteps: 16
gear_ratio: 3.5:1
rotation_distance: 26.359
filament_diameter: 1.750
nozzle_diameter: 0.400
min_temp: 0
min_extrude_temp: 170
max_temp: 300 # Set to 300 for Sprite Pro Extruder
[heater_fan extruder_fan]
pin: P2.4 # Pin for the hotend cooling fan (K-Fan)
heater: extruder
heater_temp: 50.0 # Turn on the fan when the hotend temperature is above 50°C
max_power: 1.0
[fan]
pin: P2.3 # Pin for the part cooling fan (Fan + & -)
max_power: 1.0
shutdown_speed: 0
[bed_mesh]
speed: 100
horizontal_move_z: 5
mesh_min: 30, 30
mesh_max: 190, 180.5
probe_count: 3, 3 # Number of probe points in X and Y direction
algorithm: bicubic
[screws_tilt_adjust]
screw1_name: Front left
screw1: 53.2,85.8
screw2_name: Front right
screw2: 220,85.8
screw3_name: Back right
screw3: 220,235
screw4_name: Back left
screw4: 53.2,235
screw_thread: CW-M4
horizontal_move_z: 10
[heater_bed]
heater_pin: P2.5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.25
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130
# Change this based on your setup on the Raspberry Pi
# I used this video to learn how to install and configure things - https://youtu.be/N41JY1Gukuk?si=uwlhcYRjiMtvCZlo
[mcu]
serial: /dev/serial/by-id/usb-Klipper_lpc1769_0C60FF10A69869AF374F415EC22000F5-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2208 configuration
########################################
[tmc2209 stepper_x]
uart_pin: P1.10
run_current: 1.200
hold_current: 0.950
# https://github.com/KevinOConnor/klipper/issues/1363
stealthchop_threshold: 500
[tmc2209 stepper_y]
uart_pin: P1.9
run_current: 1.200
hold_current: 0.950
# https://github.com/KevinOConnor/klipper/issues/1363
stealthchop_threshold: 500
[tmc2209 stepper_z]
uart_pin: P1.8
run_current: 0.650
hold_current: 0.450
# https://github.com/KevinOConnor/klipper/issues/1363
stealthchop_threshold: 500
[tmc2209 extruder]
uart_pin: P1.4
run_current: 0.800
hold_current: 0.500
# https://github.com/KevinOConnor/klipper/issues/1363
stealthchop_threshold: 5000
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
# EXP2 header
EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "ssp0"
#https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/pull/1913
[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
[gcode_macro SWAP_TO_HOTEND]
description: Move from the hotend position to the BLTouch probe position
gcode:
{% set x_offset = -27.8 %}
{% set y_offset = -42.1 %}
{% set current_position = printer.toolhead.position %}
G1 X{current_position.x + x_offset} Y{current_position.y + y_offset} Z{current_position.z} F3000
[gcode_macro SWAP_TO_PROBE]
description: Move from the BLTouch probe position back to the hotend position
gcode:
{% set x_offset = -27.8 %}
{% set y_offset = -42.1 %}
{% set current_position = printer.toolhead.position %}
G1 X{current_position.x - x_offset} Y{current_position.y - y_offset} Z{current_position.z} F3000
[gcode_macro START_PRINT]
gcode:
G92 E0 ; Reset Extruder
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %}
M140 S{BED_TEMP} ;Start heating bed
G28 ; Home all axes
M190 S{BED_TEMP} ;Wait for bed to reach temp before proceeding
M104 S{EXTRUDER_TEMP} ;Start heating extruder
BED_MESH_CALIBRATE ; Auto bed leveling
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
M109 S{EXTRUDER_TEMP} ;Wait for extruder to reach temp before proceeding
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
[gcode_macro END_PRINT]
gcode:
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positioning
G1 X0 Y{machine_depth} ;Present print
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bltouch]
#*# z_offset = 1.569
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.450000, -0.137500, -0.672500
#*# 0.467500, -0.070000, -0.555000
#*# 0.551250, 0.073750, -0.343750
#*# x_count = 3
#*# y_count = 3
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 29.999999999999996
#*# max_x = 190.0
#*# min_y = 29.999999999999993
#*# max_y = 180.5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment