## Voron Design VORON1.8 250/300mm SKR 1.4 TMC2209 UART config ## *** 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 ## Z Endstop Switch location [homing_override] section ## Z Endstop Switch offset for Z0 [stepper_z] section ## Leadscrew type settings for Z Rotation_Distance for both steppers ## Probe points [z_tilt] section ## PID tune [extruder] and [heater_bed] sections ## Enable Heated Bed [Heater_bed] section ## Fine tune E steps [extruder] section ##========================== Pin Definitions ======================== ## Source: https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/BTT%20SKR%20V1.4/Hardware/BTT%20SKR%20V1.4PIN.pdf ## X_STEP_PIN 2.2 ## X_DIR_PIN 2.6 ## X_ENABLE_PIN 2.1 ## X_STOP_PIN 1.29 ## E0_DET_PIN 1.26 ## X_UART_PIN 1.10 ## Y_STEP_PIN 0.19 ## Y_DIR_PIN 0.20 ## Y_ENABLE_PIN 2.8 ## Y_STOP_PIN 1.28 ## E1_DET_PIN 1.26 ## Y_UART_RX 1.9 ## Z_STEP_PIN 0.22 ## Z_DIR_PIN 2.11 ## Z_ENABLE_PIN 0.21 ## Z_STOP_PIN 1.27 ## PWR_DET_PIN 1.0 ## Z_UART 1.8 ## E0_STEP_PIN 2.13 ## E0_DIR_PIN 0.11 ## E0_ENABLE_PIN 2.12 ## E0_UART 1.4 ## E1_STEP_PIN 1.15 ## E1_DIR_PIN 1.14 ## E1_ENABLE_PIN 1.16 ## E1_UART_RX 1.1 ## HE1 2.4 ## HE0 2.7 ## BED 2.5 ## TH1 (H1 Temp) 0.23 ## TH0 (H0 Temp) 0.24 ## TB (Bed Temp) 0.25 ## FAN 2.3 ## SERVO 2.0 ## PROBE 0.10 ##=================================================================== [mcu] ## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify ##-------------------------------------------------------------------- serial: /dev/serial/by-id/usb-Klipper_lpc1768_0310000F43181EAEAED31252841E00F5-if00 ##-------------------------------------------------------------------- [printer] kinematics: corexy max_velocity: 300 max_accel: 3000 max_z_velocity: 15 max_z_accel: 50 square_corner_velocity: 5.0 ##################################################################### # X/Y Stepper Settings ##################################################################### [stepper_x] ## Connected to X (B Motor) step_pin: P2.2 dir_pin: !P2.6 enable_pin: !P2.1 rotation_distance: 40 #20T Pulley, 2mm Belt Pitch microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree endstop_pin: P1.29 position_min: 0 ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #position_endstop: 250 #position_max: 250 ## Uncomment for 300mm build #position_endstop: 300 #position_max: 300 ##-------------------------------------------------------------------- homing_speed: 25 #Max 100 homing_retract_dist: 5 homing_positive_dir: true [tmc2209 stepper_x] uart_pin: P1.10 interpolate: True run_current: 0.9 hold_current: 0.7 sense_resistor: 0.110 stealthchop_threshold: 0 [stepper_y] ## Connected to Y (A Motor) step_pin: P0.19 dir_pin: !P0.20 enable_pin: !P2.8 rotation_distance: 40 #20T Pulley, 2mm Belt Pitch microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree endstop_pin: P1.28 position_min: 0 ##-------------------------------------------------------------------- ## Uncomment for 250mm build #position_endstop: 250 #position_max: 250 ## Uncomment for 300mm build #position_endstop: 300 #position_max: 300 ##-------------------------------------------------------------------- homing_speed: 25 #Max 100 homing_retract_dist: 5 homing_positive_dir: true [tmc2209 stepper_y] uart_pin: P1.9 interpolate: True run_current: 0.9 hold_current: 0.7 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Z Stepper Settings ##################################################################### ## Z0 Stepper - Left Z Motor ## Z Stepper Socket [stepper_z] step_pin: P0.22 dir_pin: P2.11 enable_pin: !P0.21 # Rotation Distance for TR8x8 = 8, TR8x4 = 4, TR8x2 = 2 rotation_distance: 8 microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree endstop_pin: P1.27 ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) ## (+) value = endstop above Z0, (-) value = endstop below ## Increasing position_endstop brings nozzle closer to the bed ## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config position_endstop: -0.5 ##-------------------------------------------------------------------- ## Uncomment below for 230mm Z #position_max: 230 ##-------------------------------------------------------------------- position_min: -5 homing_speed: 8.0 # Leadscrews are slower than 2.4, 10 is a recommended max. second_homing_speed: 3.0 homing_retract_dist: 3.0 [tmc2209 stepper_z] uart_pin: P1.8 interpolate: true run_current: 0.7 hold_current: 0.5 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z1 Stepper - Right Z Motor ## E0 Stepper Socket [stepper_z1] step_pin: P2.13 dir_pin: P0.11 enable_pin: !P2.12 ## Remember to mirror these changes in stepper_z! (there are two motors) rotation_distance: 8 microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree [tmc2209 stepper_z1] uart_pin: P1.4 interpolate: true run_current: 0.7 hold_current: 0.5 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### # Driver Socket E1 [extruder] step_pin: P1.15 dir_pin: P1.14 enable_pin: !P1.16 rotation_distance: 22.6789511 #Bondtech 5mm Bore Drive Gears gear_ratio: 50:17 #BMG Gear Ratio microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree nozzle_diameter: 0.400 filament_diameter: 1.75 heater_pin: P2.7 ## 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: sensor_pin: P0.24 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 ## Try to keep pressure_advance below 1.0 pressure_advance: 0.05 ## Default is 0.040, leave stock pressure_advance_smooth_time: 0.040 ## E1 on MCU [tmc2209 extruder] uart_pin: P1.1 interpolate: true run_current: 0.5 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Bed Heater ##################################################################### [heater_bed] ## SSR Pin - Z board, Servo Pin heater_pin: P1.24 ## 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: sensor_pin: P0.25 ## Adjust Max Power so your heater doesn't warp your bed ## A good starting point is 0.4 W/cm^2 max_power: 0.6 min_temp: 0 max_temp: 120 control: pid pid_kp: 58.437 pid_ki: 2.347 pid_kd: 363.769 ##################################################################### # Probe ##################################################################### [probe] ## Inductive Probe ## This probe is not used for Z height, only Z Tilt Adjustment ## If your probe is NO instead of NC, add change pin to !P0.10 pin: ^P0.10 x_offset: 0 y_offset: 25.0 z_offset: 0 speed: 5.0 samples: 3 samples_result: median sample_retract_dist: 3.0 samples_tolerance: 0.006 samples_tolerance_retries: 3 ##################################################################### # Fan Control ##################################################################### [heater_fan hotend_fan] ## Hotend Fan - HE1 Connector pin: P2.4 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 ## If you are experiencing back flow, you can reduce fan_speed #fan_speed: 1.0 [fan] ## Print Cooling Fan - Fan Pin pin: P2.3 kick_start_time: 0.5 ## 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 off_below: 0.10 #[heater_fan exhaust_fan] ## Exhaust Fan - Bed Connector (Optional) #pin: P2.5 #max_power: 1.0 #shutdown_speed: 0.0 #kick_start_time: 5.0 #heater: heater_bed #heater_temp: 60 #fan_speed: 1.0 ##################################################################### # LED Control (Optional) ##################################################################### #[output_pin caselight] # Chamber Lighting - Bed Connector (Optional) #pin: P2.5 #pwm: true #shutdown_value: 0 #value:100 #cycle_time: 0.01 #scale: 100 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 1800 [homing_override] axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## XY Location of the Z Endstop Switch ## Update X and Y to your values (such as X157, Y305) after going through ## Z Endstop Pin Location Definition step. G0 X-10 Y-10 F3600 G28 Z G0 Z10 F1800 ## Uncomment for for your size printer: ## Rough measurement is the middle of your bed. #-------------------------------------------------------------------- ## Uncomment for 250mm build #G0 X125 Y125 Z30 F3600 ## Uncomment for 300 build #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # Displays ##################################################################### ## For the mini12864 Display, the [display] and [neopixel] must be uncommented #[display] ## mini12864 LCD Display #lcd_type: uc1701 #cs_pin: P1.18 #a0_pin: P1.19 #encoder_pins: ^P3.25,^P3.26 #click_pin: ^!P0.28 #contrast: 63 #[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: P1.21 #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 #-------------------------------------------------------------------- ##################################################################### # Macros ##################################################################### [z_tilt] ## Use Z_TILT_ADJUST to level the bed left to right. ## z_positions: Location of toolhead ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #z_positions: #-35, 180 #290, 180 #points: #30, 155 #220, 155 ## Uncomment below for 300mm build #z_positions: #-35, 205 #340, 205 #points: #30, 180 #270, 180 ##-------------------------------------------------------------------- speed: 200 horizontal_move_z: 10 retries: 5 retry_tolerance: 0.0075 [screws_tilt_adjust] ## To run this command, use SCREWS_TILT_CALCULATE ##-------------------------------------------------------------------- ## Uncomment below for 250x250 #screw1: 40,180 #screw1_name: rear left screw #screw2: 210,180 #screw2_name: rear right screw #screw3: 125,10 #screw3_name: front screw #horizontal_move_z: 5 #speed: 200 #screw_thread: CCW-M3 ## Uncomment below for 300x300 #screw1: 40,230 #screw1_name: rear left screw #screw2: 260,230 #screw2_name: rear right screw #screw3: 150,10 #screw3_name: front screw #horizontal_move_z: 5 #speed: 200 #screw_thread: CCW-M3 ##-------------------------------------------------------------------- [bed_mesh] speed: 200 horizontal_move_z: 5 ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #mesh_min: 40, 40 #mesh_max: 210,210 ## Uncomment for 300mm build #mesh_min: 40, 40 #mesh_max: 260,260 ##-------------------------------------------------------------------- fade_start: 0.6 fade_end: 10.0 probe_count: 5,5 algorithm: bicubic relative_reference_index: 12 [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 Z_TILT_ADJUST BED_MESH_CALIBRATE 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!