## *** THINGS TO CHANGE/CHECK: *** ## MCU paths [mcu] section ## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types ## PID tune [extruder] and [heater_bed] sections ## Fine tune E steps [extruder] section ## For wiring directions please see https://docs.vorondesign.com/build/electrical/sw_miniE3_v20_wiring.html ## Webclient config files. Uncomment one depending on UI being used. [include mainsail.cfg] #[include fluidd.cfg] [include sensorless.cfg] [printer] kinematics: corexz max_velocity: 200 max_accel: 1000 max_z_velocity: 50 max_z_accel: 1000 square_corner_velocity: 4.0 [mcu] ###Change to device found by "ls -l /dev/serial/by-id/" with just one this MCU connected to Pi serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_33FFD8055641343421832043-if00 [virtual_sdcard] path: /home/pi/printer_data/gcodes [static_digital_output usb_pullup_enable] pins: !PA14 ##################################################################### # X Stepper Settings ##################################################################### ###### # Motor -XM # Endstop - X-STOP ############### [stepper_x] endstop_pin: tmc2209_stepper_x:virtual_endstop step_pin: PB13 dir_pin: !PB12 enable_pin: !PB14 rotation_distance: 40 full_steps_per_rotation: 200 microsteps: 32 #endstop_pin: ^PC0 homing_retract_dist: 10 position_endstop: -12 position_min: -12 position_max: 250 homing_speed: 70 homing_positive_dir: false [tmc2209 stepper_x] diag_pin: PC0 driver_SGTHRS: 210 uart_pin: PC11 tx_pin: PC10 uart_address: 0 run_current: 0.5 interpolate: False stealthchop_threshold: 0 ##################################################################### # Y Stepper Settings ##################################################################### ###### # Motor -YM # Endstop - Y-STOP ############### [stepper_y] endstop_pin: tmc2209_stepper_y:virtual_endstop step_pin: PB10 dir_pin: PB2 enable_pin: !PB11 rotation_distance: 40 full_steps_per_rotation: 200 microsteps: 32 ## Ucomment one of the following: ## Switch-based endstop for Y #endstop_pin: ^PC1 ## Sensorless endstop for Y homing_retract_dist: 0 # Uncomment this line too position_endstop: -5 position_min: -12 position_max: 250 homing_speed: 70 homing_positive_dir: true [tmc2209 stepper_y] uart_pin: PC11 tx_pin: PC10 uart_address: 2 run_current: 0.5 interpolate: False stealthchop_threshold: 0 ## Uncomment if using sensorless Y homing. diag_pin: PC1 driver_SGTHRS: 120 # tune this once it's working. ##################################################################### # Z Stepper Settings ##################################################################### ###### # Motor -ZAM # Endstop - Z-STOP ############### [stepper_z] step_pin: PB0 dir_pin: PC5 enable_pin: !PB1 rotation_distance: 40 full_steps_per_rotation: 200 microsteps: 32 endstop_pin: probe:z_virtual_endstop position_max: 250 homing_speed: 40 position_min: -3.0 [tmc2209 stepper_z] uart_pin: PC11 tx_pin: PC10 uart_address: 1 run_current: 0.5 interpolate: False stealthchop_threshold: 0 ##################################################################### # Extruder Settings ##################################################################### ###### #Motor - EM ############### [extruder] # E0_STEP_PIN PB3 # E0_DIR_PIN PB4 # E0_ENABLE_PIN PB1 # E0_UART_RX PC11 # E0_UART_TX PC10 step_pin: PB3 dir_pin: PB4 enable_pin: !PD2 # Tune per individual printer # Default for Bondtech 5mm Bore Drive Gears rotation_distance: 22.6789511 # Tune for extruder gear_ratio: 50:17 microsteps: 32 full_steps_per_rotation: 200 nozzle_diameter: 0.400 filament_diameter: 1.75 heater_pin: PC8 ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. ## Use "Generic 3950" for NTC 100k 3950 thermistors sensor_type: ATC Semitec 104GT-2 sensor_pin: PA0 min_temp: 10 max_temp: 270 max_power: 1.0 min_extrude_temp: 170 control = pid pid_kp = 26.213 pid_ki = 1.304 pid_kd = 131.721 #Set appropriate once tuning your printer #pressure_advance: .05 ## Default is 0.040, leave stock # pressure_advance_smooth_time: 0.040 max_extrude_only_distance: 100.0 [tmc2209 extruder] uart_pin: PC11 tx_pin: PC10 uart_address: 3 run_current: 0.7 hold_current: 0.3 interpolate: False ##################################################################### # Bed Heater ##################################################################### ###### # BED Connector ############### [heater_bed] heater_pin: PC9 ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. ## Use "Generic 3950" for Keenovo heaters sensor_type: EPCOS 100K B57560G104F sensor_pin: PC3 min_temp: 0 max_temp: 130 control: pid pid_kp: 58.437 pid_ki: 2.347 pid_kd: 363.769 ##################################################################### # Probe ##################################################################### ###### #Z Max Connector on Z(main) Board #Inductive Probe ############### #[probe] ## If your probe is NO instead of NC, add change pin to !z:P1.24 #sensor_pin: PC15 #control_pin: ^PC2 #x_offset: 0 #y_offset: 25 #z_offset: 0 #samples: 3 #samples_result: median #sample_retract_dist: 3 #samples_tolerance: 0.006 #samples_tolerance_retries: 3 [bltouch] ## If your probe is NO instead of NC, add change pin to !z:P1.24 sensor_pin: PC15 control_pin: PC2 x_offset: 0 y_offset: 25 z_offset: 0 samples: 3 samples_result: median sample_retract_dist: 3 samples_tolerance: 0.006 samples_tolerance_retries: 3 ##################################################################### # Fan Control ##################################################################### ###### # Electronics Fan # Z-PROBE Connector ############### [controller_fan my_controller_fan] pin: PA1 max_power: 1.00 kick_start_time: 0.200 heater: heater_bed ###### # Hot End Fan # FAN1 Connector ############### [heater_fan extruder_fan] pin: PC7 heater: extruder heater_temp: 50.0 ## If you are experiencing back flow, you can reduce fan_speed #fan_speed: 1.0 ###### # Part Cooling Fan # FAN0 Connector ############### [fan] pin: PC6 # "FAN0" cycle_time: .08 ## Depending on your fan, you may need to increase this value ## if your fan will not start. Can change cycle_time (increase) ## if your fan is not able to slow down effectively kick_start_time: .25 ##################################################################### # Homing and Bed Mesh ##################################################################### [homing_override] set_position_z: 5 gcode: M400 # Wait for moves to finish G90 # Absolute positioning G0 Z10 F600 # Hop Z-Axis M204 S1000 # Set homing acceleration (important!) # Home Y SET_TMC_CURRENT STEPPER=stepper_x CURRENT=0.4 HOLDCURRENT=0.4 SET_TMC_CURRENT STEPPER=stepper_y CURRENT=0.4 HOLDCURRENT=0.4 G28 Y G0 Y{printer.toolhead.axis_maximum.y / 2} F9000 # Home X SET_TMC_CURRENT STEPPER=stepper_x CURRENT=0.5 HOLDCURRENT=0.5 SET_TMC_CURRENT STEPPER=stepper_y CURRENT=0.5 HOLDCURRENT=0.5 G28 X G0 X{printer.toolhead.axis_maximum.x / 2} F9000 # Restore current SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config["tmc2209 stepper_x"].run_current} HOLDCURRENT={printer.configfile.config["tmc2209 stepper_x"].hold_current} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config["tmc2209 stepper_y"].run_current} HOLDCURRENT={printer.configfile.config["tmc2209 stepper_y"].hold_current} G0 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F3000 # Rehome Z G28 Z # Safe Z G0 Z10 F600 [bed_mesh] speed: 150 horizontal_move_z: 5 mesh_min: 25,35.0 mesh_max: 225.0,220 probe_count: 6,6 algorithm: bicubic fade_start: 1 fade_end: 10 fade_target: 0 ##################################################################### # Displays ##################################################################### ## For the mini12864 Display, the [display] and [neopixel] must be uncommented # mini12864 LCD Display # connected to exp1/2 #[display] ## mini12864 LCD Display #lcd_type: uc1701 #cs_pin: PB8 #a0_pin: PB15 #rst_pin: PB9 #encoder_pins: ^PA9,^PA10 #click_pin: ^!PB5 #contrast: 63 #spi_software_sclk_pin: PA5 #spi_software_mosi_pin: PA7 #spi_software_miso_pin: PA6 #menu_reverse_navigation: True #[neopixel fysetc_mini12864] ## To control Neopixel RGB in mini12864 display ## Remember with these ones, you'll need to remove the connector header on the LCD for EXT1 + 2 ## (it slides off) and reverse it for it to work on your SKR (1.3 and 1.4) board #pin: PA15 #chain_count: 3 #initial_RED: 1 #initial_GREEN: 1 #initial_BLUE: 1 #color_order: RGB ## Set RGB values on boot up for each Neopixel. ## Index 1 = display, Index 2 and 3 = Knob #[delayed_gcode setdisplayneopixel] #initial_duration: 1 #gcode: # SET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0 # Backlit Screen colour # SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 # Top left Knob colour # SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3 # Bottom right knob colour ##################################################################### # Case Lights ##################################################################### [output_pin LIGHTS] pin: PC12 value: 0 shutdown_value: 0 [gcode_macro lights_on] gcode: SET_PIN PIN=LIGHTS VALUE=1.0 [gcode_macro lights_off] gcode: SET_PIN PIN=LIGHTS VALUE=0.0 ##################################################################### # Macros ##################################################################### [gcode_macro PRINT_START] # Use PRINT_START for the slicer starting script - PLEASE CUSTOMISE THE SCRIPT gcode: M117 Homing... ; display message G28 Y0 X0 Z0 ##Purge Line Gcode #G92 E0; #G90 #G0 X5 Y5 F6000 #G0 Z0.4 #G91 #G1 X120 E30 F1200; #G1 Y1 #G1 X-120 E30 F1200; #G92 E0; #G90 G1 Z15.0 F600 ;move the platform down 15mm G1 X125 Y125 F3000 G92 E0 ;zero the extruded length again G1 F9000 M117 Printing... [gcode_macro PRINT_END] # Use PRINT_END for the slicer ending script gcode: # 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 directions 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 %} # Commence PRINT_END M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-4.0 F3600 ; retract G91 ; relative positioning G0 Z{z_safe} F3600 ; move nozzle up G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing M104 S0 ; turn off hotend M140 S0 ; turn off bed M106 S0 ; turn off fan G90 ; absolute positioning G0 X{max_x / 2} Y{max_y} F3600 ; park nozzle at rear M117 Finished!