##################Creality Ender 3 S1 Pro Klipper Config - Enhanced Version############### ######Full guide: https://3dprintbeginner.com/how-to-install-klipper-on-ender-3-s1/###### [stepper_x] step_pin: PC2 dir_pin: PB9 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: !PA5 position_endstop: -5 position_min: -5 position_max: 252 homing_speed: 50 [stepper_y] step_pin: PB8 dir_pin: PB7 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: !PA6 position_endstop: -5 position_min: -5 position_max: 230 homing_speed: 50 [stepper_z] step_pin: PB6 dir_pin: !PB5 enable_pin: !PC3 microsteps: 16 rotation_distance: 8 endstop_pin: probe:z_virtual_endstop position_max: 270 position_min: -5 [extruder] max_extrude_only_distance: 100.0 step_pin: PB4 dir_pin: PB3 enable_pin: !PC3 microsteps: 16 rotation_distance: 9.93 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PA1 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC5 # control = pid # pid_kp = 22.472 # pid_ki = 1.161 # pid_kd = 108.708 min_temp: 0 max_temp: 300 pressure_advance = 0.2414 [filament_switch_sensor RunoutSensor] # Set to 'True' to enable automatic pausing when filament runs out. pause_on_runout: True runout_gcode: PAUSE_PRINT insert_gcode: RESUME_PRINT switch_pin: !PC15 [gcode_macro PAUSE_PRINT] description: Advanced Pause for Filament Runout gcode: SAVE_GCODE_STATE NAME=PAUSE_state M83 ; Set extruder to relative mode G1 E-1 F2100 ; Retract filament 1mm G91 ; Relative positioning G1 Z10 F300 ; Lift Z by 10mm G90 ; Absolute positioning G1 X0 Y0 F3000 ; Move to the front-left corner of the bed to park the nozzle {action_respond_info("Print Paused due to filament runout. Please replace filament and resume print.")} [gcode_macro RESUME_PRINT] description: Advanced Resume after Filament Change gcode: M83 ; Set extruder to relative mode G4 S10 ; Wait for 10 seconds to allow filament insertion into the extruder G1 E1 F2100 ; Prime the nozzle by 1mm RESTORE_GCODE_STATE NAME=PAUSE_state ; Restore the saved state before the pause {action_respond_info("Print Resumed. Happy printing!")} [heater_bed] heater_pin: PA7 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC4 # control = pid # pid_kp = 73.609 # pid_ki = 1.469 # pid_kd = 921.956 min_temp: 0 max_temp: 130 [heater_fan hotend_fan] pin: PC0 heater: extruder heater_temp: 50.0 [fan] pin: PA0 [mcu] serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 restart_method: command [printer] kinematics: cartesian max_velocity: 500 max_accel: 6000 max_accel_to_decel: 6000 max_z_velocity: 5 square_corner_velocity: 5.0 max_z_accel: 100 [bltouch] sensor_pin: ^PC14 control_pin: PC13 x_offset: -31.8 y_offset: -40.5 z_offset = 4.000 speed:10 samples:1 samples_result:average probe_with_touch_mode: true stow_on_each_sample: true [safe_z_home] home_xy_position: 147,154 speed: 100 z_hop: 10 z_hop_speed: 5 [bed_mesh] speed: 100 # A slightly reduced speed for more accurate probing. horizontal_move_z: 5 # To ensure the nozzle doesn't hit anything while moving horizontally. mesh_min: 20, 20 # Starting a bit away from the edge to avoid clamps or any obstructions. mesh_max: 220, 190 # Adjusted Y to ensure it stays within the range. probe_count: 6, 5 # 6 probes on X-axis and 5 on Y-axis. mesh_pps: 3, 3 # Points per segment, slightly increased. algorithm: bicubic # Bicubic for smooth transitions. bicubic_tension: 0.2 # Standard tension for bicubic. move_check_distance: 5 # Checks for bed stability during moves. split_delta_z: 0.025 # For safety with significant warping. fade_start: 1 # Starts reducing compensation from 1mm. fade_end: 10 # Stops compensation by 10mm. fade_target: 0 # Target level for the fade. [gcode_macro TILT_ADJUST] description: Start screws tilt adjust gcode: SCREWS_TILT_CALCULATE [screws_tilt_adjust] screw1: 62,232 screw1_name: front left screw screw2: 234,232 screw2_name: front right screw screw3: 234,66 screw3_name: rear right screw screw4: 62,66 screw4_name: rear left screw horizontal_move_z: 10 speed: 200 screw_thread: CW-M4 # Use CW for Clockwise and CCW for Counter Clockwise [exclude_object] # This file contains all settings for KAMP, and must be included in printer.cfg with: [include KAMP_Settings.cfg] ### see KAMP_Settings.cfg. for its settings ### [temperature_sensor Raspberry_Pi] sensor_type: temperature_host min_temp: 0 max_temp: 100 [virtual_sdcard] path: /home/pi/printer_data/gcodes [display_status] [pause_resume] [gcode_macro PAUSE] description: Advanced Pause rename_existing: PAUSE_BASE variable_extrude: 1.0 gcode: PAUSE_BASE SAVE_GCODE_STATE NAME=PAUSE_state M83 ; Set extruder to relative mode G1 E-{extrude} F2100 ; Retract filament G91 ; Relative positioning G1 Z10 F300 ; Lift Z G90 ; Absolute positioning G1 X0 Y0 ; Move to a defined XY position to park the nozzle {action_respond_info("Print Paused. Remember to reheat the nozzle before resuming.")} [gcode_macro RESUME] description: Advanced Resume rename_existing: RESUME_BASE gcode: RESUME_BASE M83 ; Set extruder to relative mode G1 E{extrude} F2100 ; Prime the nozzle RESTORE_GCODE_STATE NAME=PAUSE_state ; Restore the saved state {action_respond_info("Print Resumed.")} [gcode_macro CANCEL_PRINT] description: Advanced Cancel Print rename_existing: CANCEL_PRINT_BASE variable_park: True gcode: {% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%} PAUSE ; Invoke the PAUSE macro if not already paused {% endif %} TURN_OFF_HEATERS ; Turn off all heaters CANCEL_PRINT_BASE ; Call the base cancel print functionality {action_respond_info("Print Cancelled.")} #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [extruder] #*# control = pid #*# pid_kp = 22.472 #*# pid_ki = 1.161 #*# pid_kd = 108.708 #*# #*# [heater_bed] #*# control = pid #*# pid_kp = 73.609 #*# pid_ki = 1.469 #*# pid_kd = 921.956 #*# #*# [bed_mesh default] #*# version = 1 #*# points = #*# -0.347500, -0.507500, -0.592500, -0.597500, -0.545000, -0.330000 #*# -0.317500, -0.507500, -0.592500, -0.585000, -0.547500, -0.342500 #*# -0.265000, -0.430000, -0.510000, -0.517500, -0.465000, -0.272500 #*# -0.252500, -0.417500, -0.497500, -0.502500, -0.432500, -0.262500 #*# -0.325000, -0.430000, -0.505000, -0.492500, -0.480000, -0.335000 #*# x_count = 6 #*# y_count = 5 #*# mesh_x_pps = 3 #*# mesh_y_pps = 3 #*# algo = bicubic #*# tension = 0.2 #*# min_x = 19.999999999999996 #*# max_x = 220.0 #*# min_y = 20.0 #*# max_y = 190.0 #*#