Skip to content

Instantly share code, notes, and snippets.

@ExtNeon
Last active June 26, 2025 00:49
Show Gist options
  • Select an option

  • Save ExtNeon/e582111d5ffd0a44a0e28c425b5d092b to your computer and use it in GitHub Desktop.

Select an option

Save ExtNeon/e582111d5ffd0a44a0e28c425b5d092b to your computer and use it in GitHub Desktop.
New version of the config file for klipper that i use with my Ender 3 4.2.2; I installed a few modifications that may and will make this config unapropriate for your machine, so use it wisely. P.S. Gist name is something.
; Ender 3 Custom End G-code
END_PRINT
; End of custom end GCode
; Ender 3 Custom Start G-code
PREPARE_TO_PRINT
SET_RETRACTION RETRACT_LENGTH={retraction_amount} RETRACT_SPEED={retraction_retract_speed} UNRETRACT_EXTRA_LENGTH={retraction_extra_prime_amount} UNRETRACT_SPEED={retraction_prime_speed}
M104 S200 ; Heat up extruder but not all the way so the heat bed will have time to spread heat while exrtuder catching up target temperature
M140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature
M190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature
M109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature
START_PRINT
; End of custom Start GCode
[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 100
homing_retract_speed: 30
homing_retract_dist: 3
second_homing_speed: 5
[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 100
homing_retract_speed: 30
homing_retract_dist: 3
second_homing_speed: 5
[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: ^PA7
position_endstop: 0
homing_speed: 30
homing_retract_speed: 10
homing_retract_dist: 1
second_homing_speed: 1
position_max: 200 #I have direct extruder installed so i reduced max height to 200mm to eliminate probability of collision
position_min: 0
[extruder]
max_extrude_only_distance: 300.0
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
microsteps: 16
rotation_distance: 33.028 #That is 96.88something steps per mm = full_rotation_steps * microsteps / steps_per_mm; In my case i have a default ender 3 so full_rotation_steps=200 and microsteps=16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
min_temp: 0
max_temp: 255
pressure_advance: 0.0
min_extrude_temp: 10
[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
#control: pid
# tuned for stock hardware with 50 degree Celsius target
#pid_Kp: 54.027
#pid_Ki: 0.770
#pid_Kd: 948.182
min_temp: 0
max_temp: 130
[fan]
pin: PA0
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command
[board_pins]
aliases:
EXP1_1=PC6,EXP1_3=PB10,EXP1_5=PB14,EXP1_7=PB12,EXP1_9=<GND>,
EXP1_2=PB2,EXP1_4=PB11,EXP1_6=PB13,EXP1_8=PB15,EXP1_10=<5V>,
POWER_P=PB0,BED_COOLER=PB1
#The default Ender 3 display
[display]
lcd_type: st7920
cs_pin: PB12
sclk_pin: PB13
sid_pin: PB15
encoder_pins: ^PB14, ^PB10
click_pin: ^!PB2
#That thing is just a fan that cools the bed bellow. Helps to cool bed faster i guess. Connected to the BLTouch connector pin 1
[output_pin _BED_COOLER]
pin: BED_COOLER
pwm: True
value: 0
cycle_time: 0.02
shutdown_value: 0
#And this is a PSU relay. The board itself powered by usb so it can live without PSU at all if anything is powered off. Connected to the BLTouch connector pin 3
[output_pin _POWER_RELAY]
pin: POWER_P
pwm: False
value: 0
shutdown_value: 0
#Filament runout sensor is connected to the default run out sensor connector
[filament_switch_sensor filament_runout]
pause_on_runout: True
runout_gcode:
PAUSE
UNLOAD_FILAMENT
M117 Out of Filament
insert_gcode:
M117 Filament inserted
#RESUME_MACRO
event_delay: 3.0
pause_delay: 0.5
switch_pin: ^!PA4
#That thing is the default PC Speaker on display board. Actually works!
[output_pin _BEEPER_pin]
pin: PC6
# Beeper pin. This parameter must be provided.
# ar37 is the default RAMPS/MKS pin.
pwm: True
# A piezo beeper needs a PWM signal, a DC buzzer doesn't.
value: 0
# Silent at power on, set to 1 if active low.
shutdown_value: 0
# Disable at emergency shutdown (no PWM would be available anyway).
cycle_time: 0.001
# Default PWM frequency : 0.001 = 1ms will give a tone of 1kHz
# Although not pitch perfect.
#Those are a bunch of a quite sofisticated macros. Do not use with your assembly if it configured differently (PSU output, bed cooler fan, speaker, run out filament sensor)
#Macros look like garbage due to some workarounds in execution sequences.
[pause_resume]
[display_status]
[delayed_gcode delayed_idle_power_off]
initial_duration: 0
gcode:
{% if printer.print_stats.state != "printing" %}
{action_respond_info("So, idle timeout event just happened, the printer will go off.")}
{% if printer["gcode_macro _global"].psu_on == 1 %}
M300 S1000 P30
M140 S20
G28 X Y
{% else %}
POWER_ON_PRINTER
{% endif %}
POWER_OFF_PRINTER
{% else %}
UPDATE_DELAYED_GCODE ID=delayed_idle_power_off DURATION={printer["gcode_macro _global"].idle_timeout}
{% endif %}
[delayed_gcode delayed_cool_down_bed]
initial_duration: 1
gcode:
{% if printer.heater_bed.temperature < 45 or printer.heater_bed.target > 45 %}
SET_BED_COOLER_VALUE S=0
{% if printer["gcode_macro _global"].beep_on_bed_cooled_event == 1 and printer.heater_bed.target <= 45 %}
{action_respond_info("Bed cooled down to 45 degrees.")}
M300 S659 P82
M300 S784 P82
M300 S1046 P82
M300 S1318 P82
SET_GCODE_VARIABLE MACRO=_global VARIABLE=beep_on_bed_cooled_event VALUE=0
{%else%}
{% if printer.heater_bed.target > 45 %}
{action_respond_info("Bed cooler is stopped: new target is set.")}
{% endif %}
{% endif %}
{%else%}
UPDATE_DELAYED_GCODE ID=delayed_cool_down_bed DURATION=5
SET_BED_COOLER_VALUE S=255
{%endif%}
[delayed_gcode delayed_check_temperature_in_off_state]
initial_duration: 10
gcode:
{% if printer["gcode_macro _global"].psu_on == 0 %}
{% if printer.extruder.temperature > 60 %}
{action_respond_info("Woah! Printer is turned off, but extruder temperature is above 60 degrees! There must be some dirty things happening. We have to cool it!")}
POWER_ON_PRINTER
G28 X Y
POWER_OFF_PRINTER
{% endif %}
{% if printer["gcode_macro _global"].first_run == 1 %}
SET_GCODE_VARIABLE MACRO=_global VARIABLE=first_run VALUE=0
POWER_OFF_PRINTER
{% endif %}
{% endif %}
[delayed_gcode delayed_cool_down_extruder]
initial_duration: 0
gcode:
{% if printer.extruder.temperature < 60 or printer.extruder.target > 60 %}
M106 S0
{% if printer.extruder.target <= 60 and printer["gcode_macro _global"].shutdown_planned %}
{action_respond_info("Extruder cooled down to 60 degrees. Shutting down.")}
UPDATE_DELAYED_GCODE ID=delayed_power_off DURATION=1
{%else%}
{% if printer["gcode_macro _global"].shutdown_planned %}
{action_respond_info("Shutdown cancelled: new target temperature is set.")}
SET_GCODE_VARIABLE MACRO=_global VARIABLE=shutdown_planned VALUE=0
{% endif %}
{% endif %}
{%else%}
TURN_OFF_HEATERS
M117 Cooling...
M106 S255
UPDATE_DELAYED_GCODE ID=delayed_cool_down_extruder DURATION=5
{%endif%}
[delayed_gcode delayed_power_off]
initial_duration: 0
gcode:
SET_GCODE_VARIABLE MACRO=_global VARIABLE=shutdown_planned VALUE=1
TURN_OFF_HEATERS
UPDATE_DELAYED_GCODE ID=delayed_cool_down_bed DURATION=1
{% if printer.extruder.temperature > 60 %}
{action_respond_info("Requested shutdown, but extruder is still hot, cooling down...")}
UPDATE_DELAYED_GCODE ID=delayed_cool_down_extruder DURATION=1
M107
{%else%}
M117 Shutting down...
_PSU_OFF_MSG1
DISABLE_STEPPER #So you don't get strange noise when power is turned off mid move and drivers try to move the steppers using charge left in capacitors.
G4 P500
_PSU_OFF_MSG2
M117 State: off
_PSU_OFF
SET_GCODE_VARIABLE MACRO=_global VARIABLE=shutdown_planned VALUE=0
{% endif %}
#====================================================================================================
#=============================================MACRO==================================================
#====================================================================================================
[gcode_macro _SHUTDOWN]
gcode:
{% if printer.print_stats.state == "printing" %}
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
END_PRINT
{% endif %}
UPDATE_DELAYED_GCODE ID=delayed_power_off DURATION=1
UPDATE_DELAYED_GCODE ID=delayed_idle_power_off DURATION=0
[gcode_macro POWER_OFF_PRINTER]
gcode:
{% if printer["gcode_macro _global"].psu_on == 1 %}
_SHUTDOWN
{% else %}
{action_respond_info("Already powered off. But in case...")}
_PSU_OFF
{% endif %}
UPDATE_DELAYED_GCODE ID=delayed_check_temperature_in_off_state DURATION=10
[gcode_macro _PSU_OFF_MSG1]
gcode:
{action_respond_info("Disabling steppers before shutdown...")}
[gcode_macro _PSU_OFF_MSG2]
gcode:
{action_respond_info("Powered off")}
[gcode_macro _PSU_OFF]
gcode:
SET_GCODE_VARIABLE MACRO=_global VARIABLE=psu_on VALUE=0
SET_PIN PIN=_POWER_RELAY VALUE=0
# {action_call_remote_method("set_device_power",
# device="printer",
# state="off")}
[gcode_macro _PSU_ON_MSG1]
gcode:
{action_respond_info("Powered on")}
[gcode_macro _PSU_ON]
gcode:
SET_GCODE_VARIABLE MACRO=_global VARIABLE=psu_on VALUE=1
SET_PIN PIN=_POWER_RELAY VALUE=1
UPDATE_DELAYED_GCODE ID=delayed_idle_power_off DURATION={printer["gcode_macro _global"].idle_timeout}
# {action_call_remote_method("set_device_power",
# device="printer",
# state="on")}
[gcode_macro POWER_ON_PRINTER]
#variable_extruder_target: 0
#variable_bed_target: 0
gcode:
#SET_GCODE_VARIABLE MACRO=POWER_ON_PRINTER VARIABLE=extruder_target VALUE={printer.extruder.target}
#SET_GCODE_VARIABLE MACRO=POWER_ON_PRINTER VARIABLE=bed_target VALUE={printer.heater_bed.target}
{% if printer["gcode_macro _global"].psu_on != 1 %}
{action_respond_info("Requested power up, wait 1s for voltage to stabilize...")}
M117 Powering up...
DISABLE_STEPPER #So you don't knock out your endstops if something went wrong
TURN_OFF_HEATERS #So you don't apply load to PSU immidiately after powering up
_PSU_ON
G4 P500
M117 State: on
#SET_HEATER_TEMPERATURE HEATER=extruder TARGET={printer["gcode_macro POWER_ON_PRINTER"].extruder_target}
#SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={printer["gcode_macro POWER_ON_PRINTER"].bed_target}
_PSU_ON_MSG1
{% else %}
{action_respond_info("Already powered on.")}
{% endif %}
[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
#TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
M220 S100 ; Reset Speed factor override percentage to default (100%)
M221 S100 ; Reset Extrude factor override percentage to default (100%)
G91 ; Set coordinates to relative
G10 ; Retract filament to prevent oozing
G1 F2700 Z0.2 ;
G1 X5 Y5 F3000 ;Wipe out
G1 F10000 Z10 ; Move Z Axis up 10 mm to allow filament ooze freely
G90 ; Set coordinates to absolute
G1 X5 Y235 F20000 ;
G11 ; Unretract
M300 S600 P50
M106 S0 ; Turn off fan
M107 ; Turn off Fan
G28 X
M84
[gcode_macro _global]
variable_psu_on: 0
variable_first_run: 1
variable_beep_on_bed_cooled_event: 0
variable_bed_cooler_on: 0
variable_shutdown_planned: 0
variable_idle_timeout: 300
gcode:
M115 ; must provide something
[gcode_macro G28]
rename_existing: C28
gcode:
_CUSTOM_G28{' X=X' if params.X is defined}{' Y=Y' if params.Y is defined}{' Z=Z' if params.Z is defined}
[gcode_macro _CUSTOM_G28]
gcode:
{% if printer["gcode_macro _global"].psu_on == 0 %}
POWER_ON_PRINTER
{% endif %}
C28 {params.X|d('')} {params.Y|d('')} {params.Z|d('')}
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
##### set defaults #####
{% set x = params.X|default(230) %} #edit to your park position
{% set y = params.Y|default(230) %} #edit to your park position
{% set z = params.Z|default(10)|float %} #edit to your park position
{% set e = params.E|default(1) %} #edit to your retract length
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% set lift_z = z|abs %}
{% if act_z < (max_z - lift_z) %}
{% set z_safe = lift_z %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{e} F2100
G1 Z{z_safe} F30000
G90
G1 X{x} Y{y} F15000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
##### set defaults #####
{% set e = params.E|default(1) %} #edit to your retract length
G91
G1 E{e} F2100
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME
[gcode_macro M18]
rename_existing: M17.1
gcode:
{action_respond_info("There was attempt to enable steppers")}
[gcode_macro DISABLE_STEPPER]
gcode:
M84
[gcode_macro PREPARE_TO_PRINT]
gcode:
POWER_ON_PRINTER
G28
G1 X0.1 Y14 Z1 F5000.0 ; Move to OOZE position
[gcode_macro START_PRINT]
gcode:
G90
M300 S1000 P10
G1 X0.1 Y14 Z0.5 F5000.0 ; Move to OOZE position (for safety)
G92 E0 ; Reset Extruder
G1 Z0.2 F100 E1.4; Blob
G4 ; Wait
M83 ;Relative extrusion mode
G1 Z5 F200 E20 ; Blob out
G1 X0.1 Y23 Z0.3 E1 F5000.0 ; Move to start position
G1 X0.1 Y100.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.1 Y200.0 Z0.3 F3000.0 E8 ; Continue line, but faster. Extrude less
G1 X4 Y200.0 Z0.2 E1 F5000.0 ; Move to side a little
G1 Z0.5 E1 F5000.0 ; Move to side a little
G1 X15 Y200.0 Z1 F10000.0 ; Move to side a little
M82 ;Absolute extrusion mode
G92 E0 ; Reset Extruder
G1 Z2.0 F8000 ; Move Z Axis up little to prevent scratching of Heat Bed
G90
[gcode_macro END_PRINT]
gcode:
G4 ; Wait
M220 S100 ; Reset Speed factor override percentage to default (100%)
M221 S100 ; Reset Extrude factor override percentage to default (100%)
G91 ; Set coordinates to relative
G10 ; Retract filament to prevent oozing
G1 F2700 Z0.2 ;
G1 X5 Y5 F3000 ;Wipe out
G1 F3000 Z10 ; Move Z Axis up 10 mm to allow filament ooze freely
G90 ; Set coordinates to absolute
G1 X5 Y5 F10000 ;
G11 ; Unretract
TURN_OFF_HEATERS
M300 S1000 P1000
M106 S0 ; Turn off fan
M107 ; Turn off Fan
G28 X Y
M84
SET_GCODE_VARIABLE MACRO=_global VARIABLE=beep_on_bed_cooled_event VALUE=1
UPDATE_DELAYED_GCODE ID=delayed_cool_down_bed DURATION=1
; End of custom end GCode
[gcode_macro SET_BED_COOLER_VALUE]
gcode:
{% if 'S' in params %}
{% set S = params.S|default(0)|int %}
SET_PIN PIN=_BED_COOLER VALUE={S/255.0}
{% if S > 0 and printer["gcode_macro _global"].bed_cooler_on == 0 %}
SET_GCODE_VARIABLE MACRO=_global VARIABLE=bed_cooler_on VALUE=1
{action_respond_info("Bed cooler enabled")}
{% endif %}
{% if S == 0 and printer["gcode_macro _global"].bed_cooler_on == 1 %}
SET_GCODE_VARIABLE MACRO=_global VARIABLE=bed_cooler_on VALUE=0
{action_respond_info("Bed cooler disabled")}
{% endif %}
{% endif %}
[gcode_macro UNLOAD_FILAMENT]
gcode:
M83 ;Relative extrusion mode
G1 E-25 F1500; unload 25mm on 25mm/sec
G4 P10000; let it cool down
G1 E15 F3000; PRIME
G1 E-30 F3500;
G1 E-40 F2000;
M82 ;Absolute extrusion mode
G92 E0 ; Reset Extruder
[gcode_macro M900]
gcode:
{% if 'K' in params %}
{% if 'E' in params %}
SET_PRESSURE_ADVANCE EXTRUDER={params.E} ADVANCE={params.K}
{% else %}
SET_PRESSURE_ADVANCE ADVANCE={params.K}
{% endif %}
{% endif %}
[gcode_macro M300]
gcode:
# Use a default 1kHz tone if S is omitted.
{% set S = params.S|default(1000)|int %}
# Use a 10ms duration is P is omitted.
{% set P = params.P|default(100)|int %}
SET_PIN PIN=_BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 }
G4 P{P}
SET_PIN PIN=_BEEPER_pin VALUE=0
[gcode_macro M207]
gcode:
{% if params.S is not defined %}
{% set S = printer.configfile.settings.firmware_retraction.retract_length|float %}
{% endif %}
{% if params.F is not defined %}
{% set F = printer.configfile.settings.firmware_retraction.retract_speed|float %}
{% endif %}
SET_RETRACTION RETRACT_LENGTH={S} RETRACT_SPEED={F}
[gcode_macro M208]
gcode:
{% if params.S is not defined %}
{% set S = printer.configfile.settings.firmware_retraction.unretract_extra_length|float %}
{% endif %}
{% if params.F is not defined %}
{% set F = printer.configfile.settings.firmware_retraction.unretract_speed|float %}
{% endif %}
SET_RETRACTION UNRETRACT_EXTRA_LENGTH={S} UNRETRACT_SPEED={F}
[gcode_macro G29]
gcode:
G28
#BED_MESH_CALIBRATE
G1 X2 Y2 Z5 F4000
[gcode_macro M80]
gcode:
POWER_ON_PRINTER
[gcode_macro M81]
gcode:
POWER_OFF_PRINTER
[gcode_macro M204]
rename_existing: M204.1
gcode:
{action_respond_info("There was attempt to set acceleration. Slicer have no power over us! Use M204.1 instead.")}
[menu __main __octoprint]
type: disabled
[menu __main __maintenance]
type: list
name: Maintenance
[menu __main __maintenance __poweron]
type: command
name: Power ON
gcode:
POWER_ON_PRINTER
[menu __main __maintenance __shutdown]
type: command
name: Shutdown
gcode:
POWER_OFF_PRINTER
[menu __main __maintenance __homexy]
type: command
name: Home X/Y
gcode:
G28 X Y
[menu __main __maintenance __homez]
type: command
name: Home Z
gcode:
G28 Z
[menu __main __maintenance __maintenacepos]
type: command
name: Maintenance position
gcode:
G28
G91 ; Set coordinates to relative
G0 Z20 F3000;
G90 ; Set coordinates to absolute
G0 X110 Y220 F12000;
G0 Z200 F60000;
[menu __main __maintenance __turnoffsteppers]
type: command
name: Turn off steppers
gcode:
M84
[menu __main __shutdown]
type: command
enable: {printer["gcode_macro _global"].psu_on == 1 and printer.print_stats.state != "printing"}
name: Shutdown
gcode:
G28 X Y
POWER_OFF_PRINTER
[menu __main __poweron]
type: command
enable: {printer["gcode_macro _global"].psu_on == 0}
name: Power ON
gcode:
POWER_ON_PRINTER
[menu __main __unload_filament]
type: command
enable: {printer["gcode_macro _global"].psu_on == 1 and printer.print_stats.state != "printing"}
name: Unload filament
gcode:
UNLOAD_FILAMENT
##THIS CONFIG IS USED BY MY ENDER 3 WHICH HAVE SOME MODIFICATIONS INSTALLED THAT MAY AND WILL WORK WRONG FOR YOU! USE WITH CARE!
# This file contains pin mappings for the NON stock 2020 Creality Ender 3
# with the 32-bit Creality 4.2.2 board. To use this config, during
# "make menuconfig" select the STM32F103 with a "28KiB bootloader" and
# serial (on USART1 PA10/PA9) communication.
# adapted for my printer ender3-4.2.2 with some heavy modifications and without the BLTouch.
# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC
# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.
# See docs/Config_Reference.md for a description of parameters.
[include mainsail.cfg]
[include klipper-base.cfg]
[include klipper-macro.cfg]
[printer]
kinematics: cartesian
max_velocity: 300
#max_accel: 3000
#max_accel_to_decel: 1500
max_accel: 3800
max_accel_to_decel: 2200
max_z_velocity: 45
#z 30
max_z_accel: 1000
square_corner_velocity: 5
[input_shaper]
shaper_freq_x: 35
shaper_freq_y: 35
shaper_type: mzv
#[temperature_sensor orange_pi]
#sensor_type: temperature_host
#min_temp: 10
#max_temp: 85
[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 60
#[mcu host]
#serial: /tmp/klipper_host_mcu
### MOVED TO MOONRAKER SIDE
# [gcode_button kill_switch]
# pin = !host: gpiochip0/gpio9
# press_gcode =
# { action_emergency_stop("KILL BUTTON PRESSED") }
# Pin mappings for BL_T port
#[bltouch]
#sensor_pin: ^PA7
#control_pin: PB0
#z_offset = 0
#x_offset: -48
#y_offset: 0
[safe_z_home]
home_xy_position: 0, 0 # Change coordinates to the center of your print bed
speed: 50
z_hop: 10 # Move up 10mm
z_hop_speed: 30
[exclude_object]
#[bed_mesh]
#speed: 150
#horizontal_move_z: 7
#mesh_min: 50, 50
#mesh_max: 180, 200
#probe_count: 5, 3
[firmware_retraction]
retract_length: 1.5
retract_speed: 45
unretract_extra_length: 0
unretract_speed: 45
[gcode_arcs]
resolution = 0.2
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 28.087
#*# pid_ki = 2.312
#*# pid_kd = 85.314
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 74.657
#*# pid_ki = 1.914
#*# pid_kd = 727.906
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment