## Voron Design VORON2 250/300/350mm SKR v2 TMC2209 UART config ## *** THINGS TO CHANGE/CHECK: *** ## MCU paths [mcu] section ## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file ## Z Endstop Switch location [safe_z_home] section ## Homing end position [gcode_macro G32] section ## Z Endstop Switch offset for Z0 [stepper_z] section ## Probe points [quad_gantry_level] section ## Min & Max gantry corner postions [quad_gantry_level] section ## PID tune [extruder] and [heater_bed] sections ## Fine tune E steps [extruder] section ##========================== Pin Definitions ======================== ## X_STEP_PIN PE2 ## X_DIR_PIN PE1 ## X_ENABLE_PIN PE3 ## X_STOP_PIN PC1 ## E0_DET_PIN PC6 ## X_UART_PIN PE0 ## Y_STEP_PIN PD5 ## Y_DIR_PIN PD4 ## Y_ENABLE_PIN PD6 ## Y_STOP_PIN PC3 ## E1_DET_PIN PC6 ## Y_UART_RX PD3 ## Z_STEP_PIN PA15 ## Z_DIR_PIN PA8 ## Z_ENABLE_PIN PD1 ## Z_STOP_PIN PC0 ## PWR_DET_PIN PC15 ## Z_UART PD0 ## E0_STEP_PIN PD15 ## E0_DIR_PIN PD14 ## E0_ENABLE_PIN PC7 ## E0_UART PC6 ## E1_STEP_PIN PD11 ## E1_DIR_PIN PD10 ## E1_ENABLE_PIN PD13 ## E1_UART_RX PD12 ## HE0 PB3 ## HE1 PB4 ## BED PD7 ## TH0 (H0 Temp) PA2 ## TH1 (H1 Temp) PA3 ## TB (Bed Temp) PA1 ## FAN2 PB5 ## FAN1 PB6 ## FAN0 PB7 ## SERVO PE5 ## PROBE PE4 ##=================================================================== [mcu] ## MCU for X/Y/E steppers main MCU ## [X in X] - B Motor ## [Y in Y] - A Motor ## [E in E0] - Extruder ## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify ##-------------------------------------------------------------------- serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_00000-if00 ##-------------------------------------------------------------------- [mcu z] ## MCU for Z steppers ## [Z in X] - Front Left ## [Z1 in Y] - Rear Left ## [Z2 in Z] - Rear Right ## [Z3 in E0]- Front Right ## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify ##-------------------------------------------------------------------- serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_00000-if00 ##-------------------------------------------------------------------- [printer] kinematics: corexy max_velocity: 300 max_accel: 3000 #Max 4000 max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V max_z_accel: 350 square_corner_velocity: 5.0 ##################################################################### # X/Y Stepper Settings ##################################################################### [stepper_x] ## Connected to X on mcu_xye (B Motor) step_pin: PE2 dir_pin: !PE1 enable_pin: !PE3 rotation_distance: 40 microsteps: 32 full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper endstop_pin: ^PC1 position_min: 0 ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #position_endstop: 250 #position_max: 250 ## Uncomment for 300mm build #position_endstop: 300 #position_max: 300 ## Uncomment for 350mm build #position_endstop: 350 #position_max: 350 ##-------------------------------------------------------------------- homing_speed: 25 #Max 100 homing_retract_dist: 5 homing_positive_dir: true ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_x] uart_pin: PE0 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 [stepper_y] ## Connected to Y on mcu_xye (A Motor) step_pin: PD5 dir_pin: !PD4 enable_pin: !PD6 rotation_distance: 40 microsteps: 32 full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper endstop_pin: ^PC3 position_min: 0 ##-------------------------------------------------------------------- ## Uncomment for 250mm build #position_endstop: 250 #position_max: 250 ## Uncomment for 300mm build #position_endstop: 300 #position_max: 300 ## Uncomment for 350mm build #position_endstop: 350 #position_max: 350 ##-------------------------------------------------------------------- homing_speed: 25 #Max 100 homing_retract_dist: 5 homing_positive_dir: true ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_y] uart_pin: PD3 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Z Stepper Settings ##################################################################### ## Z MCU - In X Position ## Z0 Stepper - Front Left [stepper_z] step_pin: z:PE2 dir_pin: !z:PE1 enable_pin: !z:PE3 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 endstop_pin: ^z:PC0 ## 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 250mm build #position_max: 230 ## Uncomment below for 300mm build #position_max: 280 ## Uncomment below for 350mm build #position_max: 330 ##-------------------------------------------------------------------- position_min: -5 homing_speed: 8 second_homing_speed: 3 homing_retract_dist: 3 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z] uart_pin: z:PE0 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z MCU - In Y Position ## Z1 Stepper - Rear Left [stepper_z1] step_pin: z:PD5 dir_pin: z:PD4 enable_pin: !z:PD6 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z1] uart_pin: z:PD3 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z MCU - In Z Position ## Z2 Stepper - Rear Right [stepper_z2] step_pin: z:PA15 dir_pin: !z:PA8 enable_pin: !z:PD1 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z2] uart_pin: z:PD0 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z MCU - In E0 Position ## Z3 Stepper - Front Right [stepper_z3] step_pin: z:PD15 dir_pin: z:PD14 enable_pin: !z:PC7 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z3] uart_pin: z:PC6 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### # E0 on MCU X/Y [extruder] step_pin: PD15 dir_pin: !PD14 enable_pin: !PC7 ## Update value below when you perform extruder calibration ## If you ask for 100mm of filament, but in reality it is 98mm: ## rotation_distance = * / 100 ## 22.6789511 is a good starting point rotation_distance: 22.6789511 #Bondtech 5mm Drive Gears ## Update Gear Ratio depending on your Extruder Type ## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio) ## Use 80:20 for M4, M3.1 gear_ratio: 50:17 #BMG Gear Ratio microsteps: 32 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: PB3 ## Validate the following thermistor type to make sure it is correct ## See https://www.klipper3d.org/Config_Reference.html#common-thermistors for additional options #sensor_type: ATC Semitec 104GT-2 sensor_pin: PA2 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 ## E0 on MCU X/Y ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 extruder] uart_pin: PC6 interpolate: false run_current: 0.5 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Bed Heater ##################################################################### [heater_bed] ## SSR Control - Z board, BED Pin heater_pin: z:PB7 ## Validate the following thermistor type to make sure it is correct ## See https://www.klipper3d.org/Config_Reference.html#common-thermistors for additional options #sensor_type: Generic 3950 sensor_pin: z:PA1 ## Adjust Max Power so your heater doesn't warp your bed 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 Quad Gantry Leveling ## Z_MAX on mcu_z ## If your probe is NO instead of NC, change pin to !^z:PE4 pin: ^z:PE4 x_offset: 0 y_offset: 25.0 z_offset: 0 speed: 10.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 - XYE board, FAN0 Connector pin: PB7 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 - XYE board, FAN1 Pin pin: PB6 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 [controller_fan controller_fan] ## Controller fan - XYE board, FAN2 Connector pin: PB5 fan_speed: 0.3 kick_start_time: 0.5 heater: heater_bed,extruder [controller_fan controller_fan1] ## Controller fan - Z board, FAN2 Connector pin: z:PB5 fan_speed: 0.3 kick_start_time: 0.5 heater: heater_bed,extruder #[heater_fan exhaust_fan] ## Exhaust fan - Z board, FAN1 Connector #pin: z:PB6 #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 ##################################################################### #[output_pin caselight] # Chamber Lighting - Bed Connector XYE Board (Optional) #pin: PD7 #pwm:true #shutdown_value: 0 #value:1 #cycle_time: 0.01 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 1800 [safe_z_home] ## XY Location of the Z Endstop Switch ## Update -10,-10 to the XY coordinates of your endstop pin ## (such as 157,305) after going through Z Endstop Pin ## Location Definition step. home_xy_position:-10,-10 speed:100 z_hop:10 [quad_gantry_level] ## Use QUAD_GANTRY_LEVEL to level a gantry. ## Min & Max gantry corners - measure from nozzle at MIN (0,0) and ## MAX (250, 250), (300,300), or (350,350) depending on your printer size ## to respective belt positions #-------------------------------------------------------------------- ## Gantry Corners for 250mm Build ## Uncomment for 250mm build #gantry_corners: # -60,-10 # 310, 320 ## Probe points #points: # 50,25 # 50,175 # 200,175 # 200,25 ## Gantry Corners for 300mm Build ## Uncomment for 300mm build #gantry_corners: # -60,-10 # 360,370 ## Probe points #points: # 50,25 # 50,225 # 250,225 # 250,25 ## Gantry Corners for 350mm Build ## Uncomment for 350mm build #gantry_corners: # -60,-10 # 410,420 ## Probe points #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 horizontal_move_z: 10 retries: 5 retry_tolerance: 0.0075 max_adjust: 10 ##################################################################### # Misc ##################################################################### ## Enable motor power on MCU [output_pin motor_power] pin: PC13 value: 1 ## Enable motor power on MCU:z [output_pin motor_power_z] pin: z:PC13 value: 1 ##################################################################### # Displays ##################################################################### ## Uncomment the display that you have. Display connects to Z MCU #-------------------------------------------------------------------- #[display] ## RepRapDiscount 128x64 Full Graphic Smart Controller #lcd_type: st7920 #cs_pin: z:PB9 #sclk_pin: z:PE10 #sid_pin: z:PB1 #menu_timeout: 40 #encoder_pins: ^z:PE7, ^z:PB2 #click_pin: ^!z:PB0 #[output_pin beeper] #pin: z:PC5 #-------------------------------------------------------------------- #[display] ## mini12864 LCD Display #lcd_type: uc1701 #cs_pin: z:PB1 #a0_pin: z:PB9 #encoder_pins: ^z:PB2,^z:PE7 #click_pin: ^!z:PB0 #contrast: 63 #[neopixel fysetc_mini12864] ## To control Neopixel RGB in mini12864 display #pin: z:PE11 #chain_count: 3 #initial_RED: 0.1 #initial_GREEN: 0.5 #initial_BLUE: 0.0 #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 # SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 # SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3 #-------------------------------------------------------------------- ##################################################################### # Macros ##################################################################### [gcode_macro G32] gcode: BED_MESH_CLEAR G28 QUAD_GANTRY_LEVEL G28 ## Uncomment for for your size printer: #-------------------------------------------------------------------- ## Uncomment for 250mm build #G0 X125 Y125 Z30 F3600 ## Uncomment for 300 build #G0 X150 Y150 Z30 F3600 ## Uncomment for 350mm build #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- [gcode_macro PRINT_START] # Use PRINT_START for the slicer starting script - please customise for your slicer of choice gcode: G32 ; home all axes G1 Z20 F3000 ; move nozzle away from bed [gcode_macro PRINT_END] # Use PRINT_END for the slicer ending script - please customise for your slicer of choice gcode: M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-10.0 F3600 ; retract filament G91 ; relative positioning G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing TURN_OFF_HEATERS M107 ; turn off fan G1 Z2 F3000 ; move nozzle up 2mm G90 ; absolute positioning G0 X125 Y250 F3600 ; park nozzle at rear BED_MESH_CLEAR