Skip to content

Instantly share code, notes, and snippets.

@nctiggy
Created December 6, 2021 18:10
Show Gist options
  • Save nctiggy/7859facbb78e77f1fd918e59ed091f44 to your computer and use it in GitHub Desktop.
Save nctiggy/7859facbb78e77f1fd918e59ed091f44 to your computer and use it in GitHub Desktop.
klipper config
# This file contains common pin mappings for the BIGTREETECH SKR
# MINI 2.0. To use this config, the firmware should be compiled for
# the STM32F103 with a "28KiB bootloader". Also select "enable extra
# low-level configuration options" and configure "GPIO pins to set
# at micro-controller startup" to "!PA14".
# The "make flash" command does not work on the SKR mini. 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 with that SD card.
## Voron Design VORON 0.1 SKR Mini E3 V2 config
## *** THINGS TO CHANGE/CHECK: ***
## MCU path [mcu] section
## Z and Extruder motor currents [tmc2209 stepper_*] sections. Uncomment the stepper motor you have
## Full steps per rotation for Extruder [extruder] section
## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
## Extruder motor currents [extruder] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section
## For more info check https://docs.vorondesign.com/build/startup/#v0
[mcu]
#####################################################################
# Obtain definition by "ls -l /dev/serial/by-id/"
#####################################################################
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_35FFDA054254393938602257-if00
[include mainsail.cfg]
[printer]
kinematics: corexy
max_velocity: 300
max_accel: 7000
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 5.0
#####################################################################
# X/Y Stepper Settings
#####################################################################
[stepper_x]
step_pin: PB13
## Refer to https://docs.vorondesign.com/build/startup/#v0
dir_pin: PB12 # Check motor direction in link above. If inverted, add a ! before PB12
enable_pin: !PB14
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: ^PC0
position_endstop: 120
position_max: 120
homing_speed: 50 # Can be increased after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
interpolate: True
run_current: 0.5
hold_current: 0.25
sense_resistor: 0.110
stealthchop_threshold: 500
[stepper_y]
step_pin: PB10
## Refer to https://docs.vorondesign.com/build/startup/#v0
dir_pin: PB2 # Check motor direction in link above. If inverted, add a ! before PB2
enable_pin: !PB11
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: ^PC1
position_endstop: 120
position_max: 120
homing_speed: 50 # Can be increased after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
interpolate: True
run_current: 0.5
hold_current: 0.25
sense_resistor: 0.110
stealthchop_threshold: 500 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# Z Stepper Settings
#####################################################################
[stepper_z]
step_pin: PB0
dir_pin: PC5 # Remove the ! before PC5 if motor direction is inverted.
enable_pin: !PB1
rotation_distance: 8 # For T8x8 integrated lead screw
microsteps: 16
endstop_pin: ^PC2
position_endstop: -0.10
position_max: 120
position_min: -1.5
homing_speed: 10
second_homing_speed: 3.0
homing_retract_dist: 3.0
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
interpolate: True
## For OMC (StepperOnline) 17LS13-0404E-200G 0.4A
run_current: 0.2
hold_current: 0.12
## For LDO-42STH25-1004CL200E 1.0A
#run_current: 0.37
#hold_current: 0.35
sense_resistor: 0.110
stealthchop_threshold: 500 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# Extruder
#####################################################################
[extruder]
step_pin: PB3
dir_pin: PB4 # Add ! if moving opposite direction
enable_pin: !PD2
full_steps_per_rotation: 200 # Set to 200 for LDO 1.8° stepper motor, and set to 400 for OMC(StepperOnline) 0.9° stepper motor
rotation_distance: 22.12 # See calibrating rotation_distance on extruders doc
gear_ratio: 50:10 # For Mini Afterburner
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F # Adjust for your hotend thermistor. See 'sensor types' list at end of file
sensor_pin: PA0
#control: pid # Do PID calibration after initial checks
#pid_Kp: 28.182
#pid_Ki: 1.978
#pid_Kd: 100.397
min_temp: 0
max_temp: 270
min_extrude_temp: 170
max_extrude_only_distance: 780
max_extrude_cross_section: 50
pressure_advance: 0.0 # See tuning pressure advance doc
pressure_advance_smooth_time: 0.040
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
interpolate: True
## For OMC (StepperOnline) 14HR07-1004VRN 1A 0.9°
#run_current: 0.5 # for OMC 14HR07-1004VRN rated at 1A
#hold_current: 0.3 # for OMC 14HR07-1004VRN rated at 1A
## For LDO LDO 36STH17-1004AHG 1A 1.8°
run_current: 0.3 # for LDO 36STH17-1004AHG
hold_current: 0.2 # for LDO 36STH17-1004AHG
sense_resistor: 0.110
stealthchop_threshold: 0 # Set to 0 for spreadcycle, avoid using stealthchop on extruder
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
heater_pin: PC9
sensor_type: NTC 100K MGB18-104F39050L32 # For Keenovo, verify yours
sensor_pin: PC3
smooth_time: 3.0
#max_power: 0.6 # Only needed for 100w pads
min_temp: 0
max_temp: 120
#control: pid # Do PID calibration after initial checks
#pid_kp: 68.453
#pid_ki: 2.749
#pid_kd: 426.122
#####################################################################
# Thermistor definitions
#####################################################################
[thermistor Trianglelab NTC100K B3950]
## values calibrated against a PT100 reference
temperature1: 25.0
resistance1: 103180.0
temperature2: 150.0
resistance2: 1366.2
temperature3: 250.0
resistance3: 168.6
#####################################################################
# Fan Control
#####################################################################
[heater_fan hotend_fan]
pin: PC7
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
#fan_speed: 1.0 # You can't PWM the delta fan unless using blue wire
[fan]
pin: PC6
max_power: 1.0
kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start
off_below: 0.13
cycle_time: 0.010
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
[safe_z_home]
home_xy_position: 120,120
speed: 40.0
z_hop: 5
## To be used with BED_SCREWS_ADJUST
[bed_screws]
screw1: 60,5
screw1_name: front screw
screw2: 5,115
screw2_name: back left
screw3: 115,115
screw3_name: back right
#####################################################################
# Macros
#####################################################################
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - please customize for your slicer of choice
gcode:
G28 ; home all axes
G1 Z20 F1800 ; move nozzle away from bed
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customize for your slicer of choice
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-4.0 F1800 ; retract filament
G91 ; relative positioning
# Get Boundaries
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}
# Check end position to determine safe direction to move
{% if printer.toolhead.position.x < (max_x - 20) %}
{% set x_safe = 20.0 %}
{% else %}
{% set x_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.y < (max_y - 20) %}
{% set y_safe = 20.0 %}
{% else %}
{% set y_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.z < (max_z - 2) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - printer.toolhead.position.z %}
{% endif %}
G0 Z{z_safe} F1800 ; move nozzle up
G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing
TURN_OFF_HEATERS
M107 ; turn off fan
G90 ; absolute positioning
G0 X60 Y{max_y} F3600 ; park nozzle at rear
[gcode_macro LOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
G1 E30 F300 ; load
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
[gcode_macro UNLOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-40 F1800 ; retract some, but not too much or it will jam
M82 ; set extruder to absolute
## Sensor Types
## "Trianglelab NTC100K B3950" (Beta 3950 used in LDO kits)
## "EPCOS 100K B57560G104F"
## "ATC Semitec 104GT-2"
## "NTC 100K beta 3950"
## "Honeywell 100K 135-104LAG-J01"
## "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad)
## "AD595"
## "PT100 INA826"
## "PT1000"
## For more information: https://www.klipper3d.org/Config_Reference.html#temperature_sensor
## Footnote about Beta 3950:
## https://github.com/Klipper3d/klipper/issues/4054
## https://github.com/Klipper3d/klipper/pull/4859
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 23.992
#*# pid_ki = 1.250
#*# pid_kd = 115.162
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 59.626
#*# pid_ki = 2.686
#*# pid_kd = 330.924
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment