Last active
February 20, 2025 09:24
-
-
Save thebino/d8a9ae357110efbf7e5609cd7f6d1456 to your computer and use it in GitHub Desktop.
Voron V2-7745 printer configs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[gcode_macro LOAD_FILAMENT] | |
variable_load_distance: 101 | |
gcode: | |
{% set speed = params.SPEED|default(300) %} | |
SAVE_GCODE_STATE NAME=load_state | |
G91 # get the absolute coordinate to save | |
G92 E0 # set position to E0 | |
G1 E{load_distance} F300 # fast-load | |
RESTORE_GCODE_STATE NAME=load_state | |
[gcode_macro UNLOAD_FILAMENT] | |
variable_unload_distance: 50 | |
variable_purge_distance: 25 | |
gcode: | |
{% set speed = params.SPEED|default(1000) %} | |
SAVE_GCODE_STATE NAME=unload_state | |
G91 | |
G92 E0 | |
G1 E{purge_distance} F{speed} # purge | |
G1 E-50 F1500 # fast-unload | |
RESTORE_GCODE_STATE NAME=unload_state |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[gcode_macro PRINT_END] | |
# Use PRINT_END for the slicer ending script - please customise for your slicer of choice | |
gcode: | |
# safe anti-stringing move coords | |
{% set th = printer.toolhead %} | |
{% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %} | |
{% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %} | |
{% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %} | |
SAVE_GCODE_STATE NAME=STATE_PRINT_END | |
M400 ; wait for buffer to clear | |
G92 E0 ; zero the extruder | |
G1 E-5.0 F1800 ; retract filament | |
TURN_OFF_HEATERS | |
G90 ; absolute positioning | |
G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing | |
G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear | |
M107 ; turn off fan | |
BED_MESH_CLEAR | |
## Turn on Bed Fan | |
SET_FAN_SPEED FAN=BedFans SPEED=0 | |
# The purpose of the SAVE_GCODE_STATE/RESTORE_GCODE_STATE | |
# command pair is to restore the printer's coordinate system | |
# and speed settings since the commands above change them. | |
# However, to prevent any accidental, unintentional toolhead | |
# moves when restoring the state, explicitly set MOVE=0. | |
RESTORE_GCODE_STATE NAME=STATE_PRINT_END MOVE=0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# src: https://github.com/jontek2/A-better-print_start-macro | |
##################################################################### | |
# A better print_start macro for v2/trident | |
##################################################################### | |
[gcode_macro PRINT_START] | |
gcode: | |
# This part fetches data from your slicer. Such as bed, extruder, and chamber temps and size of your printer. | |
{% set target_bed = params.BED|int %} | |
{% set target_extruder = params.EXTRUDER|int %} | |
#{% set target_chamber = params.CHAMBER|default("45")|int %} | |
{% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %} | |
{% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %} | |
# Home the printer, set absolute positioning and update the Stealthburner LEDs. | |
#STATUS_HOMING # Set LEDs to homing-mode | |
G28 # Full home (XYZ) | |
G90 # Absolute position | |
## Uncomment for bed mesh (1 of 2 for bed mesh) | |
BED_MESH_CLEAR # Clear old saved bed mesh (if any) | |
## Turn on Bed Fan | |
SET_FAN_SPEED FAN=BedFans SPEED=1 | |
# Check if the bed temp is higher than 90c - if so then trigger a heatsoak. | |
{% if params.BED|int > 90 %} | |
SET_DISPLAY_TEXT MSG="Heating Bed to {target_bed} °C" # Display info on display | |
#STATUS_HEATING # Set LEDs to heating-mode | |
M106 S255 # Turn on the PT-fan | |
G1 X{x_wait} Y{y_wait} Z15 F9000 # Go to center of the bed | |
M190 S{target_bed} # Set the target temp for the bed | |
#SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c" # Display info on display | |
#TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={target_chamber} # Waits for chamber temp | |
# If the bed temp is not over 90c, then skip the heatsoak and just heat up to set temp with a 5 min soak | |
{% else %} | |
SET_DISPLAY_TEXT MSG="Heating Bed to {target_bed} °C" # Display info on display | |
#STATUS_HEATING # Set LEDs to heating-mode | |
G1 X{x_wait} Y{y_wait} Z15 F9000 # Go to center of the bed | |
M190 S{target_bed} # Set the target temp for the bed | |
SET_DISPLAY_TEXT MSG="Soak for 5 min" # Display info on display | |
G4 P300000 # Wait 5 min for the bedtemp to stabilize | |
{% endif %} | |
# Heat hotend to 150c. This helps with getting a correct Z-home. | |
SET_DISPLAY_TEXT MSG="Heating Hotend to 150 °C for Leveling" # Display info on display | |
M109 S150 # Heat hotend to 150c | |
## Uncomment for V2.4 (Quad gantry level AKA QGL) | |
SET_DISPLAY_TEXT MSG="Leveling in Progress" # Display info on display | |
#STATUS_LEVELING # Set LEDs to leveling-mode | |
QUAD_GANTRY_LEVEL # Level the printer via QGL | |
G28 Z # Home Z again after QGL | |
## Uncomment for bed mesh (2 of 2 for bed mesh) | |
SET_DISPLAY_TEXT MSG="Bed mesh" # Display info on display | |
STATUS_MESHING # Set LEDs to bed mesh-mode | |
BED_MESH_CALIBRATE ADAPTIVE=1 # Start the bed mesh (add ADAPTIVE=1) for adaptive bed mesh | |
# Heat up the hotend up to target via data from slicer | |
SET_DISPLAY_TEXT MSG="Heating Hotend to {target_extruder} °C" # Display info on display | |
#STATUS_HEATING # Set LEDs to heating-mode | |
G1 X{x_wait} Y{y_wait} Z15 F9000 # Go to center of the bed | |
M107 # Turn off partcooling fan | |
M109 S{target_extruder} # Heat the hotend to set temp | |
# Get ready to print by doing a primeline and updating the LEDs | |
SET_DISPLAY_TEXT MSG="Printer goes brr" # Display info on display | |
#STATUS_PRINTING # Set LEDs to printing-mode | |
G0 X{x_wait - 50} Y4 F10000 # Go to starting point | |
G0 Z0.4 # Raise Z to 0.4 | |
G91 # Incremental positioning | |
G1 X100 E20 F1000 # Primeline | |
G90 # Absolute position |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Klipper configuration | |
# | |
# https://www.klipper3d.org/Config_Reference.html | |
# | |
# | |
[include mainsail.cfg] | |
[include macro_filament.cfg] | |
[include macro_print_end.cfg] | |
[include macro_print_start.cfg] | |
[include macro_speed_test.cfg] | |
[include macro_thefilter.cfg] | |
[mcu] | |
#serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_240045001551333031373837-if00 # Obtain by "ls /dev/serial/by-id/*" then unplug to verify | |
canbus_uuid: b4a81d00232e | |
#restart_method: command | |
[mcu EBBCan] | |
#serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00 | |
canbus_uuid: f2cb5b1e081f | |
[printer] | |
kinematics: corexy | |
max_velocity: 300 | |
max_accel: 4500 | |
minimum_cruise_ratio: 0.5 | |
square_corner_velocity: 5.0 | |
# https://www.klipper3d.org/Config_Reference.html#corexy-kinematics | |
max_z_velocity: 20 | |
max_z_accel: 350 | |
[stepper_x] | |
step_pin: PF13 | |
dir_pin: !PF12 | |
enable_pin: !PF14 | |
rotation_distance: 40 | |
microsteps: 32 | |
full_steps_per_rotation: 200 | |
#gear_ratio: | |
#step_pulse_duration: | |
endstop_pin: !PG6 | |
position_min: 0 | |
position_endstop: 300 | |
position_max: 300 | |
homing_speed: 100 | |
homing_retract_dist: 5.0 | |
#homing_retract_speed: | |
#second_homing_speed: | |
#homing_positive_dir: | |
[stepper_y] | |
step_pin: PG0 | |
dir_pin: !PG1 | |
enable_pin: !PF15 | |
rotation_distance: 40 | |
microsteps: 32 | |
full_steps_per_rotation: 200 | |
#gear_ratio: | |
#step_pulse_duration: | |
endstop_pin: !PG9 | |
position_min: 0 | |
position_endstop: 300 | |
position_max: 300 | |
homing_speed: 100 | |
homing_retract_dist: 5 | |
#homing_retract_speed: | |
#second_homing_speed: | |
#homing_positive_dir: | |
[stepper_z] | |
step_pin: PF11 | |
dir_pin: !PG3 | |
enable_pin: !PG5 | |
rotation_distance: 40 | |
microsteps: 32 | |
# full_steps_per_rotation: 200 | |
gear_ratio: 80:16 | |
#step_pulse_duration: | |
endstop_pin: probe:z_virtual_endstop | |
position_min: -5 | |
# position_endstop: -0.5 | |
position_max: 260 | |
homing_speed: 5 | |
homing_retract_dist: 3 | |
#homing_retract_speed: | |
second_homing_speed: 3 | |
[extruder] | |
step_pin: EBBCan: PD0 | |
dir_pin: !EBBCan: PD1 | |
enable_pin: !EBBCan: PD2 | |
microsteps: 16 | |
## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100 | |
## 22.6789511 is a good starting point | |
rotation_distance: 19.1183553693 | |
full_steps_per_rotation: 200 | |
gear_ratio: 50:8 | |
nozzle_diameter: 0.400 | |
filament_diameter: 1.750 | |
#max_extrude_cross_section: | |
#instantaneous_corner_velocity: 1.000 | |
max_extrude_only_distance: 101.0 | |
#max_extrude_only_velocity: | |
#max_extrude_only_accel: | |
pressure_advance: 0.025 | |
pressure_advance_smooth_time: 0.03 | |
heater_pin: EBBCan: PB13 | |
# max_power: 1.0 | |
sensor_type: ATC Semitec 104NT-4-R025H42G # DropEffect neXtG Hotend, Red | |
sensor_pin: EBBCan: PA3 | |
#pullup_resistor: 4700 | |
#smooth_time: 1.0 | |
control = pid | |
pid_kp = 31.563 | |
pid_ki = 3.288 | |
pid_kd = 75.755 | |
#max_delta: 2.0 | |
#pwm_cycle_time: 0.100 | |
min_extrude_temp: 170 | |
min_temp: 0 | |
max_temp: 320 | |
[heater_bed] | |
heater_pin: PA1 | |
max_power: 1.0 | |
sensor_type: ATC Semitec 104GT-2 | |
sensor_pin: PF3 | |
control = pid | |
pid_kp = 63.646 | |
pid_ki = 1.351 | |
pid_kd = 749.429 | |
min_temp: 0 | |
max_temp: 120 | |
[bed_mesh] | |
speed: 300 | |
horizontal_move_z: 15 | |
#mesh_origin: | |
mesh_min: 40, 40 | |
mesh_max: 240, 198 | |
probe_count: 5,5 | |
fade_start: 0.6 | |
fade_end: 10.0 | |
#fade_target: | |
[quad_gantry_level] | |
gantry_corners: | |
-60,-10 | |
310, 320 | |
points: | |
50,25 | |
50,225 | |
250,225 | |
250,25 | |
speed: 300 | |
horizontal_move_z: 15 | |
max_adjust: 10 | |
retries: 5 | |
retry_tolerance: 0.0075 | |
[safe_z_home] | |
home_xy_position: 150, 150 | |
speed: 300.0 | |
z_hop: 5 | |
z_hop_speed: 10.0 | |
#move_to_previous: False | |
[input_shaper] | |
shaper_freq_x: 66.2 | |
shaper_freq_y: 45.2 | |
shaper_type: mzv | |
[adxl345] | |
cs_pin: EBBCan: PB12 | |
#spi_speed: 5000000#spi_bus: | |
#spi_bus: | |
spi_software_sclk_pin: EBBCan: PB10 | |
spi_software_mosi_pin: EBBCan: PB11 | |
spi_software_miso_pin: EBBCan: PB2 | |
axes_map: x,y,z | |
#rate: 3200 | |
[resonance_tester] | |
probe_points: 150, 150, 20 | |
accel_chip: adxl345 | |
[board_pins] | |
aliases: | |
# EXP1 header | |
EXP1_1=PE8, EXP1_2=PE7, | |
EXP1_3=PE9, EXP1_4=PE10, | |
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side | |
EXP1_7=PE14, EXP1_8=PE15, | |
EXP1_9=<GND>, EXP1_10=<5V>, | |
# EXP2 header | |
EXP2_1=PA6, EXP2_2=PA5, | |
EXP2_3=PB1, EXP2_4=PA4, | |
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side | |
EXP2_7=PC15, EXP2_8=<RST>, | |
EXP2_9=<GND>, EXP2_10=PC5 | |
[probe] | |
pin: !EBBCan: PB6 | |
x_offset: 0.0 | |
y_offset: 0.0 | |
z_offset = -0.525 | |
speed: 10.0 # Speed (in mm/s) of the Z axis when probing. [default: 5] | |
samples: 1 # number of times to probe each point [default 1] | |
sample_retract_dist: 3.0 # distance (in mm) to lift the toolhead between each sample [default: 2.0] | |
#lift_speed: | |
samples_result: average | |
samples_tolerance: 0.100 | |
samples_tolerance_retries: 4 | |
activate_gcode: # restrict extruder temperature to 150°C due to probe testing | |
{% set PROBE_TEMP = 150 %} | |
{% set MAX_TEMP = PROBE_TEMP + 5 %} | |
{% set ACTUAL_TEMP = printer.extruder.temperature %} | |
{% set TARGET_TEMP = printer.extruder.target %} | |
{% if TARGET_TEMP > PROBE_TEMP %} | |
{ action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) } | |
M109 S{ PROBE_TEMP } | |
{% else %} | |
# Temperature target is already low enough, but nozzle may still be too hot. | |
{% if ACTUAL_TEMP > MAX_TEMP %} | |
{ action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) } | |
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP } | |
{% endif %} | |
{% endif %} | |
[stepper_z1] | |
step_pin: PG4 | |
dir_pin: PC1 | |
enable_pin: !PA2 | |
rotation_distance: 40 | |
microsteps: 32 | |
gear_ratio: 80:16 | |
[stepper_z2] | |
step_pin: PF9 | |
dir_pin: !PF10 | |
enable_pin: !PG2 | |
rotation_distance: 40 | |
microsteps: 32 | |
gear_ratio: 80:16 | |
[stepper_z3] | |
step_pin: PC13 | |
dir_pin: PF0 | |
enable_pin: !PF1 | |
rotation_distance: 40 | |
microsteps: 32 | |
gear_ratio: 80:16 | |
[temperature_sensor MCU] | |
sensor_type: temperature_mcu | |
[temperature_sensor PI] | |
sensor_type: temperature_host | |
[temperature_sensor EBB36_BLUE] | |
sensor_type: temperature_mcu | |
sensor_mcu: EBBCan | |
min_temp: 0 | |
max_temp: 100 | |
## Print Cooling Fan | |
[fan] | |
pin: EBBCan: PA0 | |
## Hotend Fan | |
[heater_fan hotend_fan] | |
pin: EBBCan: PA1 | |
# max_power: 1.0 | |
# kick_start_time: 0.5 | |
heater: extruder | |
heater_temp: 50.0 | |
[fan_generic BedFans] | |
pin: PA8 | |
#cycle_time: 0.05 | |
kick_start_time: 0.5 | |
## Chamber Lighting - HE2 Connector (Optional) | |
# [output_pin caselight] | |
# pin: PB0 | |
# pwm:true | |
# shutdown_value: 0 | |
# value:1 | |
# cycle_time: 0.01 | |
[tmc2209 stepper_x] | |
uart_pin: PC4 | |
interpolate: false | |
run_current: 0.8 | |
sense_resistor: 0.110 | |
stealthchop_threshold: 0 | |
[tmc2209 stepper_y] | |
uart_pin: PD11 | |
interpolate: false | |
run_current: 0.8 | |
sense_resistor: 0.110 | |
stealthchop_threshold: 0 | |
[tmc2209 stepper_z] | |
uart_pin: PC6 | |
interpolate: false | |
run_current: 1.0 | |
sense_resistor: 0.110 | |
stealthchop_threshold: 2000 | |
hold_current: 0.8 | |
[tmc2209 stepper_z1] | |
uart_pin: PC7 | |
interpolate: false | |
run_current: 1.0 | |
sense_resistor: 0.110 | |
hold_current: 0.8 | |
stealthchop_threshold: 2000 | |
[tmc2209 stepper_z2] | |
uart_pin: PF2 | |
interpolate: false | |
run_current: 1.0 | |
sense_resistor: 0.110 | |
hold_current: 0.8 | |
stealthchop_threshold: 2000 | |
[tmc2209 stepper_z3] | |
uart_pin: PE4 | |
interpolate: false | |
run_current: 1.0 | |
sense_resistor: 0.110 | |
sense_resistor: 0.110 | |
stealthchop_threshold: 2000 | |
hold_current: 0.8 | |
[tmc2209 extruder] | |
uart_pin: EBBCan: PA15 | |
# interpolate: false | |
run_current: 0.650 | |
# sense_resistor: 0.110 | |
stealthchop_threshold: 999999 | |
#[display] | |
#lcd_type: st7920 | |
#display_group: | |
#menu_timeout: 40 | |
#encoder_pins: ^EXP2_5, ^EXP2_3 | |
#click_pin: ^!EXP1_2 | |
#cs_pin: EXP1_4 | |
#sclk_pin: EXP1_5 | |
#sid_pin: EXP1_3 | |
[gcode_macro G32] | |
gcode: | |
SAVE_GCODE_STATE NAME=STATE_G32 | |
G90 | |
G28 | |
QUAD_GANTRY_LEVEL | |
G28 | |
PARK | |
RESTORE_GCODE_STATE NAME=STATE_G32 | |
#*# <---------------------- SAVE_CONFIG ----------------------> | |
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. | |
#*# | |
#*# [bed_mesh default] | |
#*# version = 1 | |
#*# points = | |
#*# -0.012500, -0.020000, -0.012500, 0.017500, 0.005000 | |
#*# -0.017500, 0.017500, 0.010000, 0.005000, 0.027500 | |
#*# 0.030000, 0.035000, 0.000000, 0.010000, 0.032500 | |
#*# -0.007500, -0.015000, 0.012500, -0.020000, -0.022500 | |
#*# -0.012500, -0.030000, 0.002500, -0.022500, -0.050000 | |
#*# x_count = 5 | |
#*# y_count = 5 | |
#*# mesh_x_pps = 2 | |
#*# mesh_y_pps = 2 | |
#*# algo = bicubic | |
#*# tension = 0.2 | |
#*# min_x = 40.0 | |
#*# max_x = 260.0 | |
#*# min_y = 40.0 | |
#*# max_y = 260.0 | |
#*# | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment