[include shell_command.cfg] # This file contains common pin mappings for the BIGTREETECH SKR mini # E3 v2.0. To use this config, the firmware should be compiled for the # STM32F103 with a "28KiB bootloader" and USB communication. 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 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. [mcu rpi] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: rpi:None [resonance_tester] accel_chip: adxl345 probe_points: 115, 115, 70 # an example [input_shaper] ## A frequency (in Hz) of the input shaper for X or Y axis. shaper_freq_x: 65.8 shaper_freq_y: 31.0 ## A type of the intput shaper for X or Y axis. shaper_type_x: mzv shaper_type_y: mzv [stepper_x] step_pin: PB13 dir_pin: !PB12 enable_pin: !PB14 microsteps: 16 rotation_distance: 40 endstop_pin: ^PC0 position_endstop: -17 position_max: 231 position_min: -17 homing_speed: 50 [tmc2209 stepper_x] uart_pin: PC11 tx_pin: PC10 uart_address: 0 run_current: 0.580 stealthchop_threshold: 999999 [stepper_y] step_pin: PB10 dir_pin: !PB2 enable_pin: !PB11 microsteps: 16 rotation_distance: 40 endstop_pin: ^PC1 position_endstop: -24 position_max: 202 position_min: -24 homing_speed: 50 [tmc2209 stepper_y] uart_pin: PC11 tx_pin: PC10 uart_address: 2 run_current: 0.580 stealthchop_threshold: 999999 [stepper_z] step_pin: PB0 dir_pin: !PC5 enable_pin: !PB1 microsteps: 16 rotation_distance: 8 endstop_pin: probe:z_virtual_endstop #^PC2 position_min: -5 position_max: 235 # 235 normally without Copperhead Heatsink height [tmc2209 stepper_z] uart_pin: PC11 tx_pin: PC10 uart_address: 1 run_current: 0.580 stealthchop_threshold: 999999 [bltouch] sensor_pin: ^PC2 control_pin: PA1 set_output_mode: 5V probe_with_touch_mode: true x_offset: -40.9 y_offset: -5.6 #pin_up_touch_mode_reports_triggered: False #z_offset: -0.19 stow_on_each_sample = False #pin_move_time: 0.4 [bed_mesh] speed: 200 horizontal_move_z: 6 mesh_min: 10, 10 mesh_max: 190, 196 probe_count: 5, 5 fade_end: 10 mesh_pps: 2, 2 algorithm: bicubic bicubic_tension: 0.2 move_check_distance: 7 split_delta_z: .025 [safe_z_home] home_xy_position: 160,116 speed: 80.0 z_hop: 10.0 z_hop_speed: 10.0 [extruder] step_pin: PB3 dir_pin: PB4 enable_pin: !PD2 full_steps_per_rotation: 200 microsteps: 16 rotation_distance: 4.637 # 7.76 (16 microsteps / 408 steps per mm) * 200 steps per full rotation nozzle_diameter: 0.400 filament_diameter: 1.750 max_extrude_only_distance: 450 max_extrude_only_velocity: 120 max_extrude_only_accel: 800 pressure_advance_smooth_time: 0.02 heater_pin: PC8 sensor_type: EPCOS 100K B57560G104F sensor_pin: PA0 max_extrude_cross_section: 50.0 #control: pid #pid_kp = 21.50 #pid_ki = 1.85 #pid_kd = 62.35 min_temp: 0 max_temp: 285 pressure_advance: 0.03 #[verify_heater extruder] #max_error: 120 #check_gain_time: 40 #hysteresis: 5 #heating_gain: 2 #[firmware_retraction] #retract_speed: 5 #unretract_extra_length: 0 #unretract_speed: 5 [tmc2209 extruder] uart_pin: PC11 tx_pin: PC10 uart_address: 3 run_current: 0.85 hold_current: 0.100 sense_resistor: 0.11 stealthchop_threshold: 0 interpolate: true driver_TBL: 0 driver_TOFF: 4 driver_HEND: 6 driver_HSTRT: 7 [heater_bed] heater_pin: PC9 sensor_type: ATC Semitec 104GT-2 sensor_pin: PC3 #control: pid #pid_Kp: 62.86 #pid_Ki: 12.28 #pid_Kd: 214.50 min_temp: 0 max_temp: 130 [controller_fan motherboard_fan] pin: PC7 max_power: 0.5 #shutdown_speed: #cycle_time: #hardware_pwm: #kick_start_time: #off_below: [fan] pin: PC6 #################################################################### # Mainsail Settings #################################################################### [include Adaptive_Mesh.cfg] [include macros.cfg] [include mainsail.cfg] [virtual_sdcard] path: /home/pi/Ender3Pro_data/gcodes [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_35FFD0054246303039811057-if00 [printer] kinematics: cartesian max_velocity: 120 max_accel: 2000 #7000 for ringing test max_accel_to_decel: 2000 #7000 added for ringing test max_z_velocity: 5 # Stock is 5 max_z_accel: 100 [static_digital_output usb_pullup_enable] pins: !PA14 [board_pins] aliases: # EXP1 header EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=, EXP1_2=PA15, EXP1_4=, EXP1_6=PB9, EXP1_8=PB15, EXP1_10=<5V> # [filament_motion_sensor btt_smartie] # detection_length: 12.0 # extruder: extruder # switch_pin: !PC15 # runout_gcode: FILAMENT_RUNOUT # pause_delay: 5.0 # UNCOMMENT LONG ####### BELOW TO RESTORE FUNCTION ####### [filament_motion_sensor my_sensor] # detection_length: 20.0 # The minimum length of filament pulled through the sensor to trigger # a state change on the switch_pin # Default is 7 mm. ###### extruder: extruder # The name of the extruder section this sensor is associated with. # This parameter must be provided. ###### switch_pin: !PC15 ###### pause_on_runout: True #runout_gcode: #insert_gcode: #event_delay: #pause_delay: # See the "filament_switch_sensor" section for a description of the # above parameters. # [bed_mesh] # speed: 200 # horizontal_move_z: 5 # mesh_min: 5, 5 # mesh_max: 200, 190 # probe_count: 9,9 # fade_start: 1.0 # mesh_pps: 2,2 # Enable object exclusion [exclude_object] # Enable arcs support [gcode_arcs] resolution: 0.1 [gcode_macro G29] gcode: BED_MESH_CLEAR BED_MESH_CALIBRATE BED_MESH_OUTPUT [display] lcd_type: emulated_st7920 en_pin: EXP1_7 spi_software_sclk_pin: EXP1_6 spi_software_mosi_pin: EXP1_8 spi_software_miso_pin: PA3 encoder_pins: ^EXP1_5, ^EXP1_3 click_pin: ^!EXP1_2 [display_status] [screws_tilt_adjust] screw1: 64,30 screw1_name: front left screw screw2: 235,30 screw2_name: front right screw screw3: 235,200 screw3_name: rear right screw screw4: 64,200 screw4_name: rear left screw screw_thread: CW-M4 [pause_resume] [gcode_macro M600] gcode: {% set X = params.X|default(25)|float %} {% set Y = params.Y|default(25)|float %} {% set Z = params.Z|default(10)|float %} SAVE_GCODE_STATE NAME=M600_state PAUSE X=0 Y=0 Z_MIN=0 G91 G1 E-.8 F2700 G1 Z{Z} G90 G1 X{X} Y{Y} F3000 G91 G1 E-15 F1000 SET_IDLE_TIMEOUT TIMEOUT=345600 RESTORE_GCODE_STATE NAME=M600_state [gcode_macro PAUSE] rename_existing: BASE_PAUSE # change this if you need more or less extrusion variable_extrude: 1.0 gcode: ##### read E from pause macro ##### {% set E = printer["gcode_macro PAUSE"].extrude|float %} ##### set park positon for x and y ##### # default is your max posion from your printer.cfg {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} ##### calculate save lift position ##### {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - 2.0) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} ##### end of definitions ##### SAVE_GCODE_STATE NAME=PAUSE_state BASE_PAUSE G91 G1 E-{E} F2100 G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 [IDLE_TIMEOUT] timeout: 3600 gcode: {% if printer.pause_resume.is_paused %} M118 Bypassed Timeout M117 Bypassed Timeout {% else %} M118 Timeout Reached M117 Timeout Reached TURN_OFF_HEATERS M84 {% endif %} [gcode_macro m25] rename_existing: M25.6245197 gcode: PAUSE [gcode_macro RESUME] rename_existing: BASE_RESUME gcode: ##### read E from pause macro ##### {% set E = printer["gcode_macro PAUSE"].extrude|float %} ##### end of definitions ##### G91 G1 E{E} F2100 RESTORE_GCODE_STATE NAME=PAUSE_state BASE_RESUME [gcode_macro M486] gcode: # Parameters known to M486 are as follows: # [C] Cancel the current object # [P] Cancel the object with the given index # [S] Set the index of the current object. # If the object with the given index has been canceled, this will cause # the firmware to skip to the next object. The value -1 is used to # indicate something that isn’t an object and shouldn’t be skipped. # [T] Reset the state and set the number of objects # [U] Un-cancel the object with the given index. This command will be # ignored if the object has already been skipped {% if 'exclude_object' not in printer %} {action_raise_error("[exclude_object] is not enabled")} {% endif %} {% if 'T' in params %} EXCLUDE_OBJECT RESET=1 {% for i in range(params.T | int) %} EXCLUDE_OBJECT_DEFINE NAME={i} {% endfor %} {% endif %} {% if 'C' in params %} EXCLUDE_OBJECT CURRENT=1 {% endif %} {% if 'P' in params %} EXCLUDE_OBJECT NAME={params.P} {% endif %} {% if 'S' in params %} {% if params.S == '-1' %} {% if printer.exclude_object.current_object %} EXCLUDE_OBJECT_END NAME={printer.exclude_object.current_object} {% endif %} {% else %} EXCLUDE_OBJECT_START NAME={params.S} {% endif %} {% endif %} {% if 'U' in params %} EXCLUDE_OBJECT RESET=1 NAME={params.U} {% endif %} [gcode_macro CANCEL_PRINT] rename_existing: BASE_CANCEL_PRINT gcode: TURN_OFF_HEATERS CLEAR_PAUSE SDCARD_RESET_FILE BASE_CANCEL_PRINT [pause_resume] recover_velocity: 50 # When capture/restore is enabled, the speed at which to return to # the captured position (in mm/s). Default is 50.0 mm/s. [respond] #default_type: echo # Sets the default prefix of the "M118" and "RESPOND" output to one # of the following: # echo: "echo: " (This is the default) # command: "// " # error: "!! " #default_prefix: echo: # Directly sets the default prefix. If present, this value will # override the "default_type". #------------------------------------------------------------------------- # 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. #*# #*# [bltouch] #*# z_offset = 2.705 #*# #*# [extruder] #*# c #*# pid_kp = 30.704 #*# pid_ki = 2.843 #*# pid_kd = 82.902 #*# #*# [heater_bed] #*# c #*# pid_kp = 74.312 #*# pid_ki = 2.082 #*# pid_kd = 663.235 #*# #*# [bed_mesh default] #*# versi #*# points = #*# -0.015000, 0.010000, 0.007500 #*# -0.017500, -0.010000, 0.005000 #*# -0.017500, -0.002500, -0.002500 #*# x_count = 3 #*# y_count = 3 #*# mesh_x_pps = 2 #*# mesh_y_pps = 2 #*# algo = lagrange #*# tensi #*# min_x = 101.19999999999999 #*# max_x = 128.79999999999998 #*# min_y = 71.2 #*# max_y = 130.8