To use our start and end G-code macros, please note that they are based on the LDO Voron kit configuration.
NOTE: NO WARRANTY is provided. This is provided as a guide; please always double-check G-code actions. If you have purchased a Voron kit from us, feel free to email us with your current printer configuration file, and we can offer setup guidance. If you have further questions, please contact support. We can only offer support to our existing customers via email, while service contractor customers can reach out via phone.
Note: Kamp should be installed and working, [Current Below config is tested on https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging/tree/v0.1.2] You may need adjust KAMP setting to be suitable for your setup.
https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging
Note: As of May 2024, if you are running the latest Klipper version with KAMP built-in, you should be able to use it without installing the module. However, if you wish to use the purge line macro, we suggest setting up KAMP without enabling meshing, but enabling either the line or Voron purge based on your preference.
Super Slicer Start Gcode Passthrough [Add to Start gcode in your slicer]
PRINT_START HOTEND={first_layer_temperature[initial_extruder] + extruder_temperature_offset[initial_extruder]} BED=[first_layer_bed_temperature] CHAMBER=[chamber_temperature]
Prusa Slicer Start Gcode Passthrough [Due to Prusa Slicer 2.6 Limitation, Chamber temperature cannot be pushed]
PRINT_START HOTEND=[first_layer_temperature] BED=[first_layer_bed_temperature]
Bambu/Orca Slicer Start Gcode Passthrough[Add to Start gcode in your slicer]
PRINT_START HOTEND=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] Chamber=[chamber_temperature]
If you wish to use secondary bed thermeristor to wait for bed to heat soak example, we use negative 10c offset to reduce the heat heat soak time, but if you wish you can always remove offset of 10c
Orca Slicer
TEMPERATURE_WAIT SENSOR="temperature_sensor bed_temp_2" MINIMUM={first_layer_bed_temperature[0]-10}
For 2.4 [Print Start]
[gcode_macro PRINT_START] gcode: {% set BED_TEMP = params.BED|default(0)|float %} {% set CHAMBER_TEMP = params.CHAMBER|default(0)|float %} {% set HOTEND = params.HOTEND|default(220)|float %} CLEAR_PAUSE G32 ;Home G90 M117 Heating bed M190 S{params.BED} M117 Preheating nozzle M109 S160 G1 Z10 F900 G1 Y150 X150 F18000 M117 Wait for Chamber Temperature TEMPERATURE_WAIT SENSOR="temperature_sensor chamber_temp" MINIMUM={CHAMBER_TEMP} ; wait for extruder temp G28 Z M117 Measuring mesh ## BED_MESH_PROFILE LOAD=default BED_MESH_CLEAR BED_MESH_CALIBRATE M117 Complete M117 Preheating nozzle to temperature M109 S{params.HOTEND} G28 Z M117 Purge LINE_PURGE G90 ; Absolute coordinates. M83 ; Relative extruder mode. G92 E0 M117 Print Started
For 2.4 [Print End]
[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-2 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 RESTORE_GCODE_STATE NAME=STATE_PRINT_END
For Trident Voron [Print Start]
[gcode_macro PRINT_START] gcode: {% set BED_TEMP = params.BED|default(0)|float %} {% set CHAMBER_TEMP = params.CHAMBER|default(0)|float %} {% set HOTEND = params.HOTEND|default(220)|float %} CLEAR_PAUSE G28 ;Home G90 Z_TILT_ADJUST M117 Heating bed M190 S{params.BED} M117 Preheating nozzle M109 S160 G1 Z10 F900 G1 Y150 X150 F18000 M117 Wait for Chamber Temperature TEMPERATURE_WAIT SENSOR="temperature_sensor chamber_temp" MINIMUM={CHAMBER_TEMP} ; wait for extruder temp G28 Z M117 Measuring mesh ## BED_MESH_PROFILE LOAD=default BED_MESH_CLEAR BED_MESH_CALIBRATE M117 Complete M117 Preheating nozzle to temperature M109 S{params.HOTEND} G28 Z M117 Purge LINE_PURGE G90 ; Absolute coordinates. M83 ; Relative extruder mode. G92 E0 M117 Print Started
For Trident Voron [Print End]
[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-2 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 RESTORE_GCODE_STATE NAME=STATE_PRINT_END
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article