Skip to content

Blog

Level Up Your Prints: Why Line Width is Your 3D Printing Secret Weapon

Level Up Your Prints: Why Line Width is Your 3D Printing Secret Weapon

Section titled “Level Up Your Prints: Why Line Width is Your 3D Printing Secret Weapon”

Hey everyone! In my latest video, I dove deep into a 3D printing setting that often gets overlooked but makes a massive difference in your final prints: line width. For a long time, I was all about chasing faster print times, but I’ve come to realize that optimizing for quality and strength is well worth a few extra minutes – and line width is a key player in achieving just that [00:35].

What I Learned (and You Should Too!):

One of the biggest takeaways for me was just how much line width impacts the strength of your parts. Think about it: wider lines mean more material is laid down and there’s greater overlap between those lines, especially when it comes to printing walls. This significantly reduces those annoying little voids and makes your prints much more structurally sound [01:25], [03:06].

In the video, I specifically explored the line width settings within Orca Slicer. It’s pretty cool how much control you have, with options for the default width, the first layer, outer walls, and even the top surface [01:38].

Through my research (and a bit of trial and error!), I found that for a standard 0.4mm nozzle, bumping up the default line width to around 0.5mm (that’s 125%) seems to be a sweet spot. This aligns with recommendations in the Orca Slicer wiki and what others in the community are finding [05:10].

The best part? I was genuinely surprised at how little impact these adjustments had on the overall print time. The test print I showed in the video only took about 7 seconds longer with the optimized settings [10:06]. That’s a tiny trade-off for a noticeable improvement in quality!

Speaking of quality, I was really happy with how much cleaner the top surface looked after making these changes. You could see a real difference in how those layers blended together, resulting in fewer visible lines [11:22].

Oh, and here’s a little bonus tip I shared in the video: if you’re struggling with removing support material, try using a slightly thinner line width (smaller than your nozzle diameter) for your support structures. It makes them much easier to break away [08:37].

Give it a Shot!

Ultimately, what I wanted to show in this video is that taking the time to dial in your line width settings is well worth the effort. It’s all about finding that balance between print speed, the quality of your finished product, and the overall strength of your 3D prints [12:33].

Check out the full video for a more in-depth look and to see the results for yourself!

Watch the video here: Video Link

Let me know in the comments what line width settings you’ve found work best for you – I’m always learning! What else are you curious about in the world of 3D printing?

Extrusion Rate Smoothing in OrcaSlicer

Extrusion Rate Smoothing in OrcaSlicer: A Comprehensive Guide

Section titled “Extrusion Rate Smoothing in OrcaSlicer: A Comprehensive Guide”

Understanding and Optimizing Your 3D Prints

Section titled “Understanding and Optimizing Your 3D Prints”

3D printing involves a lot of intricate settings to achieve the best possible results. One of the advanced features in Orcaslicer that can significantly impact print quality is extrusion rate smoothing. This post will explore what it is, why it’s important, and how to use it effectively.

Extrusion rate smoothing, similar to Prusaslicer’s pressure equalizer, is a feature that limits the rate of extrusion volume change below a certain threshold. In simpler terms, it helps Orcaslicer manage how much plastic needs to be pushed out by the extruder. Think of it as gently applying the brakes in a car rather than jamming them on. It smooths out the start and stop of extrusion, especially during speed changes at corners and bridges.

  • Consistent Extrusion: It leads to more consistent extrusion, particularly at high speeds.
  • Reduced Inconsistencies: It helps eliminate inconsistencies during speed changes, such as at corners
  • Aids Pressure Advance: It works in conjunction with pressure advance for better results.
  • Smoother Finishes: Contributes to smoother surface finishes.

During printing, the printer constantly speeds up and slows down, especially at corners and overhangs. These speed changes necessitate changes in the amount of plastic being pushed out. Sudden changes can be difficult for the extruder and firmware to handle, leading to artifacts like bumps and bulges. Extrusion rate smoothing creates speed ramps, gently slowing down before a change and gradually speeding up afterward. This makes it easier for the extruder to keep up, reducing unwanted artifacts.

Extrusion Rate Smoothing, Pressure Advance, and the Motion Planner

Section titled “Extrusion Rate Smoothing, Pressure Advance, and the Motion Planner”

The printer’s firmware has a motion planner that interprets speed change commands and translates them into motor movements. Pressure advance calculates the necessary slowdown to reach the target speed. Extrusion rate smoothing regulates the pressure changes, creating a smooth ramp-up and ramp-down of pressure. Without it, sudden speed changes can cause blobs and artifacts.

Using Extrusion Rate Smoothing in OrcaSlicer

Section titled “Using Extrusion Rate Smoothing in OrcaSlicer”

In OrcaSlicer, the extrusion rate smoothing settings can be found in the speed section of the process parameters. These settings include segment length and an option to apply it only to external features.

To determine the appropriate values, you can refer to the OrcaSlicer wiki or use my [Klipper Calibration spreadsheet(https://docs.google.com/spreadsheets/d/1LlSHsa86RuT_btswmDsmQp0LrTJ9U0HJcRhorsqz1ug/edit?usp=sharing)]. The spreadsheet helps calculate the maximum ERS value based on parameters like outer wall acceleration, line width, and layer height. It’s recommended to start with an experimental value between 60% and 80% of the maximum calculated ERS.

  • A lower ERS value means more aggressive smoothing, and a higher value means less smoothing.
  • If the ERS value exceeds the maximum, it won’t be applied.
  • Extrusion rate smoothing is most useful for high accelerations and large flow rates, such as on a Voron with a high flow hotend and when pressure advance is set.
  • For Bowden printers, especially with flexible filaments, a lower ERS value is generally better. Direct drive printers can typically use higher values.
  • This value may need to be adjusted when changing acceleration or if you notice inconsistencies.
  • It’s a user-determined value, so experimentation is key.
  • Potential downsides include increased print time (though this is rare) and a possible loss of fine detail in some cases.
  • Crucially, extrusion rate smoothing won’t solve problems caused by an improperly calibrated printer.
  • The ERS value sets the maximum rate of change for extruded plastic, not the extrusion speed itself.
  • Start with recommended values (60-80% of the maximum) and increment by 10%.
  • Use low rates for Bowden setups with flexible filaments and higher rates for direct drive.
  • Pay close attention to overhangs to assess the effect of the setting.
  • Don’t exceed the maximum ERS value.
  • If using Klipper, calibrate pressure advance before adjusting extrusion rate smoothing.

Extrusion rate smoothing is a powerful tool in OrcaSlicer for optimizing print quality. By understanding its mechanics and how to adjust the settings, you can achieve smoother, more consistent 3D prints.

3D Printing and Max Volumetric Speed

Finding Your 3D Printer’s Sweet Spot - A Guide to Maximizing Print Speed

Section titled “Finding Your 3D Printer’s Sweet Spot - A Guide to Maximizing Print Speed”

Have you ever wondered how fast your 3D printer can truly go? When I get a new printer or see a new model released, the first question that pops into my head is always, “How fast can I print with this thing?”

This post will explore how to determine the optimal print speed for your 3D printer, ensuring both speed and quality.

  • Infill: While not a major time-saver, adjusting infill patterns and density can slightly reduce print time.
  • Wall Thickness: Reducing the number of walls can significantly decrease print time, but it can also compromise the model’s strength.
  • Layer Height: Increasing layer height generally speeds up printing, but it can also affect print quality and part strength.
  • Other Parameters: Factors like print speed, infill density, and layer height also impact the mechanical properties of the printed part, according to research. Finding the balance between speed and strength is crucial.
  • Max Flow Rate: Each extruder has a maximum flow rate, which determines how much filament it can push out per second. Exceeding this limit leads to inconsistent extrusion, poor print quality, and weaker parts.

Ellis’s Print Tuning Guide provides valuable information and equations to calculate your extruder’s max flow rate. A simple test involves extruding a known length of filament at increasing speeds until you observe a noticeable drop in extrusion quality.

One of the key points that Ellis’ guide points out is that using approximate values (Table 1) is possible.

HotendFlow Rate (mm3/s)
E3D V611
E3D V6 Volcano20
E3D Revo11
Dragon SF15
Sailfish20
Dragon HF24
Dragonfly BMO13
Rapido HF24
Rapido UHF30
Mosquito20
Mosquito Magnum30
Bambu X135

Determine Max Flow Rate: Conduct tests as described above to find your extruder’s maximum volumetric flow rate. Set Volumetric Speed: Adjust the volumetric speed setting in your slicer software to match your calculated max flow rate. Optimize Print Profiles: Experiment with different print speed settings for various parts of the model, ensuring that the speeds for visible features do not exceed the calculated safe limit. Test and Iterate: Print test parts and adjust parameters based on the results. Observe print quality, part strength, and overall print time.

  • Model Size: Smaller models may not allow the printer to reach maximum speed due to acceleration and deceleration times.

  • Part Complexity: Complex models with intricate details may require slower print speeds to ensure accurate and high-quality results.

By carefully considering these factors and conducting thorough testing, you can optimize your 3D printer’s print speed while maintaining excellent print quality and part strength.

Disclaimer: This information is for general guidance only. Always refer to your printer’s manual and manufacturer’s recommendations for specific instructions and safety guidelines.

I hope this guide helps you unlock your 3D printer’s full potential!

Ender 3 S1 Plus (e3s1p) Klipper Config

3.6
# !Ender-3 S1 Plus
# printer_size: 300x300x300
# This file contains pin mappings for the stock 2021 Creality Ender 3
# S1 & S1 Pro. To use this config, check the STM32 Chip on the
# Mainboard, during "make menuconfig" select accordingly either the
# STM32F103 with "28KiB bootloader" or the STM32F401 with
# "64KiB bootloader" and serial (on USART1 PA10/PA9) for both.
# For a direct serial connection, in "make menuconfig" select
# "Enable extra low-level configuration options" and Serial
# (on USART2 PA3/PA2), which is on the 10 pin IDC cable used
# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The filename
# must be changed to "firmware.bin"
# With STM32F401, you might need to put "firmware.bin" in a
# folder on the SD card called "STM32F4_UPDATE" in order to flash.
# See docs/Config_Reference.md for a description of parameters.
###fluidd set
[include cx_printer.cfg]
[display_status]
[pause_resume]
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - 2.0) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
PAUSE_BASE
G91
{% if printer.extruder.can_extrude|lower == 'true' %}
G1 E-{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
#### get VELOCITY parameter if specified ####
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
G91
G1 E{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
RESUME_BASE {get_params}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
TURN_OFF_HEATERS
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z4.5 F300
G90
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
G28 X Y
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
G1 Y{y_park} F2000
M84
CANCEL_PRINT_BASE
[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
rotation_distance: 40
microsteps: 16
endstop_pin: !PA5
position_min: -5
position_endstop: -5
position_max: 305
homing_speed: 80
[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
rotation_distance: 40
microsteps: 16
endstop_pin: !PA6
position_min: -2
position_endstop: -2
position_max: 305
homing_speed: 80
[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
rotation_distance: 8
microsteps: 16
endstop_pin: probe:z_virtual_endstop #enable to use bltouch
#endstop_pin: !PA15 #disable to use bltouch
#position_endstop: -0.1
position_min: -10
position_max: 305
homing_speed: 4
second_homing_speed: 1
homing_retract_dist: 2.0
[extruder]
max_extrude_only_distance: 1000.0
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
rotation_distance: 7.74
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
#control: pid
# tuned for stock hardware with 200 degree Celsius target
#pid_Kp: 23.904
#pid_Ki: 1.476
#pid_Kd: 96.810
min_temp: 0
max_temp: 265
[idle_timeout]
timeout: 172800
[heater_bed]
heater_pin: PA7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
#control: pid
# tuned for stock hardware with 50 degree Celsius target
#pid_Kp: 74.000
#pid_Ki: 1.965
#pid_Kd: 696.525
min_temp: 0
max_temp: 130
[verify_heater extruder]
check_gain_time: 200
hysteresis: 5
[fan]
pin: PA0
kick_start_time: 0.5
#set heater fan runnig with temperature over 60;
[heater_fan my_nozzle_fan]
pin: PC0
max_power: 0.8
shutdown_speed : 0
heater:extruder
heater_temp : 60
fan_speed : 1.0
[mcu]
serial: /dev/serial/by-id/usb_serial_1
restart_method: command
# [mcu rpi]
# serial: /tmp/klipper_host_mcu
# [adxl345]
# cs_pin: rpi:None
# spi_speed: 2000000
# spi_bus: spidev2.0
# [resonance_tester]
# accel_chip: adxl345
# accel_per_hz: 70
# probe_points:
# 150,150,10
[input_shaper]
shaper_type_x = mzv
shaper_freq_x = 59.2
shaper_type_y = mzv
shaper_freq_y = 30.0
[filament_switch_sensor filament_sensor]
pause_on_runout: true
switch_pin: ^!PC15
[bltouch]
sensor_pin: ^PC14 #signal check port ^stand for pull up
control_pin: PC13 #singal control prot
x_offset: -30.0
y_offset: -40.0
#z_offset: 0 #z off_set configuration
stow_on_each_sample = false #high speed for bltoch,
speed: 3.0
samples: 2
samples_result: median
sample_retract_dist: 6.0
samples_tolerance: 0.01
samples_tolerance_retries: 3
[safe_z_home]
home_xy_position:185,195
speed: 200
z_hop: 10
z_hop_speed: 10
[bed_mesh]
speed: 150
mesh_min: 25,30 #need to handle head distance with bl_touch
mesh_max: 273,250 #max probe range
probe_count: 5,5
fade_start: 1
fade_end: 10
algorithm: bicubic
[bed_screws]
screw1: 25, 33
screw2: 262, 33
screw3: 262, 272
screw4: 25, 272
[gcode_arcs]
#resolution: 1.0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 4000
max_z_velocity: 10
max_z_accel: 1000
square_corner_velocity: 5.0
[exclude_object]
[include timelapse.cfg]
[include cx_gmcro.cfg]

Zero G Mercury One.1 Klipper Config

GitHub Backup

[include shell_command.cfg]
[include mainsail.cfg]
# host MCU service is preinstalled and ready to use with:
[mcu CB1]
serial: /tmp/klipper_host_mcu
# This file contains common pin mappings for the BIGTREETECH Manta M8P
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
# and "USB (on PA11/PA12)" or "CAN bus (on PD12/PD13)".
# https://github.com/Klipper3d/klipper/blob/master/config/generic-bigtreetech-manta-m8p-v1.1.cfg
# See docs/Config_Reference.md for a description of parameters.
[mcu]
#@serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_3C001B000B504B4633373520-if00
canbus_uuid=5b426f4e5253
[mcu HermitCrab]
#serial: /dev/serial/by-id/usb-Klipper_stm32f072xb_28002C000757434331363920-if00
canbus_uuid=00ee6e545867
[printer]
kinematics: corexy
max_velocity: 300
max_accel: 4000 #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
[stepper_x] # B M1
step_pin: PE2
dir_pin: !PB4
enable_pin: !PC11
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200 #set to 200 for 1.8 degree stepper
endstop_pin: ^PF3
position_endstop: 357
position_max: 377
homing_speed: 50
homing_retract_dist: 10
[tmc5160 stepper_x]
cs_pin: PC10
#spi_bus: spi1
interpolate: False
run_current: .7
#diag1_pin: ^!PF3
sense_resistor: 0.110
#driver_SGTHRS: 125
driver_SGT: 0
stealthchop_threshold: 0
spi_software_sclk_pin: PA5
spi_software_mosi_pin: PA7
spi_software_miso_pin: PA6
[stepper_y] # A M2
step_pin: PF12
dir_pin: !PF11
enable_pin: !PB3
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200 #set to 200 for 1.8 degree stepper
endstop_pin: ^PF4
position_endstop: 365
position_max: 370
homing_speed: 50
homing_retract_dist: 10
[tmc5160 stepper_y]
cs_pin: PF13
#spi_bus: spi1
interpolate: False
run_current: .7
#hold_current: 1.0
#diag1_pin: ^!PF4
sense_resistor: 0.110
#driver_SGTHRS: 125
driver_SGT: 2
stealthchop_threshold: 0
spi_software_sclk_pin: PA5
spi_software_mosi_pin: PA7
spi_software_miso_pin: PA6
[stepper_z] # M3 Left
step_pin: PD7
dir_pin: !PD6
enable_pin: !PF10
microsteps: 16
rotation_distance: 2
full_steps_per_rotation: 200 #set to 200 for 1.8 degree stepper
endstop_pin: probe:z_virtual_endstop
position_max: 350
position_min: -50
homing_speed: 8.0
second_homing_speed: 3
[tmc2209 stepper_z]
uart_pin: PF9
##diag_pin: PF5
run_current: 0.7
sense_resistor: 0.110
stealthchop_threshold: 0
[stepper_z1] # M4 Center
step_pin: PD3
dir_pin: !PD2
enable_pin: !PD5
microsteps: 16
rotation_distance: 2
full_steps_per_rotation: 200 #set to 200 for 1.8 degree stepper
[tmc2209 stepper_z1]
uart_pin: PD4
##diag_pin: PC0
run_current: 0.7
sense_resistor: 0.110
interpolate: False
stealthchop_threshold: 0
[stepper_z2] # M6 Right
step_pin: PA10
dir_pin: !PA14
enable_pin: !PA15
microsteps: 16
rotation_distance: 2
full_steps_per_rotation: 200 #set to 200 for 1.8 degree stepper
[tmc2209 stepper_z2]
uart_pin: PF8
run_current: 0.7
sense_resistor: 0.110
interpolate: False
stealthchop_threshold: 0
[extruder]
step_pin: HermitCrab: PA6
dir_pin: !HermitCrab: PA7
enable_pin: !HermitCrab: PA5
microsteps: 16
rotation_distance: 24.235
gear_ratio: 7:1
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: HermitCrab: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: HermitCrab: PA1
#control: pid
#pid_Kp: 21.527
#pid_Ki: 1.063
#pid_Kd: 108.982
min_temp: 0
max_temp: 250
max_extrude_cross_section: 4
pressure_advance: 0.05
[tmc2209 extruder]
uart_pin: HermitCrab: PB0
run_current: 0.650
sense_resistor: 0.110
interpolate: false
stealthchop_threshold: 0
[fan]
pin: HermitCrab: PA4
[heater_fan hotend_fan]
pin: HermitCrab: PA3
heater: extruder
heater_temp: 50.0
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
## SSR Pin - BED_OUT
heater_pin: PB5
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0
## Adjust Max Power so your heater doesn't warp your bed
max_power: 0.7
min_temp: 0
max_temp: 120
#control: pid
#pid_kp: 58.437
#pid_ki: 2.347
#pid_kd: 363.769
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE9, EXP1_2=PE10,
EXP1_3=PE11, EXP1_4=PE12,
EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side
EXP1_7=PE15, EXP1_8=PB10,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_2=PB13,
EXP2_3=PF7, EXP2_4=PB12,
EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side
EXP2_7=PE8, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
#####################################################################
# Probe
#####################################################################
[safe_z_home]
home_xy_position: 188,185
speed: 150
z_hop: 10 # Move up 10mm
z_hop_speed: 5
[bltouch]
sensor_pin: ^HermitCrab:PB2
control_pin: HermitCrab:PB1
x_offset: -31.8
y_offset: -40.5
#z_offset: 4 # Uncomment if starting fresh; Distance should be enough to keep the z-offset positive.
speed: 5.0
pin_move_time: 0.7
lift_speed: 8
pin_up_touch_mode_reports_triggered: True
probe_with_touch_mode: True
samples: 2
samples_result: median
sample_retract_dist: 6.0
samples_tolerance: 0.05
samples_tolerance_retries: 3
[bed_mesh]
speed: 300
mesh_min: 30,30
mesh_max: 345,329
probe_count: 5,5
mesh_pps: 2,2
algorithm: bicubic
bicubic_tension: 0.2
move_check_distance: 3.0
split_delta_z: .010
fade_start: 1.0
fade_end: 10.0
[screws_tilt_adjust]
screw1: 360,13.5
screw1_name: front_left
screw2: 360,363
screw2_name: front_right
screw3: 185,10
screw3_name: back_middle
# Additional bed leveling screws. At least two screws must be
# defined.
speed: 50
horizontal_move_z: 5
screw_thread: CW-M3
[bed_screws]
screw1: 360,13.5
screw2: 360,363
screw3: 185,10
[z_tilt]
z_positions:
10,13.5
185,350
355,13.5
points:
0,55
155,365
325,55
speed: 200
horizontal_move_z: 15
retries: 10
retry_tolerance: 0.03 #0.0075
#####################################################################
# PInput Shaping
#####################################################################
[adxl345]
cs_pin: HermitCrab: PB12
spi_bus: spi2
axes_map: y,z,-x
[resonance_tester]
accel_chip: adxl345
probe_points:
188,185, 20 # middle of bed as an example
[input_shaper]
shaper_freq_x: 43.0
shaper_type_x: 2hump_ei
shaper_freq_y: 52.6
shaper_type_y: 2hump_ei
#####################################################################
# Macros
#####################################################################
# All customizations are documented in globals.cfg. Just copy a variable from
# there into the section below, and change the value to meet your needs.
[gcode_macro _km_options]
# These are examples of some likely customizations:
# Any sheets in the below list will be available with a configurable offset.
#variable_bed_surfaces: ['smooth_1','texture_1']
# Length (in mm) of filament to load (bowden tubes will be longer).
variable_load_length: 50.0
# Hide the Octoprint LCD menu since I don't use it.
#variable_menu_show_octoprint: False
# Customize the filament menus (up to 10 entries).
#variable_menu_temperature: [
# {'name' : 'PLA', 'extruder' : 200.0, 'bed' : 60.0},
# {'name' : 'PETG', 'extruder' : 230.0, 'bed' : 85.0},
# {'name' : 'ABS', 'extruder' : 245.0, 'bed' : 110.0, 'chamber' : 60}]
# Length of filament (in millimeters) to purge at print start.
variable_start_purge_length: 30 # This value works for most setups.
gcode: # This line is required by Klipper.
# Any code you put here will run at klipper startup, after the initialization
# for these macros. For example, you could uncomment the following line to
# automatically adjust your bed surface offsets to account for any changes made
# to your Z endstop or probe offset.
# ADJUST_SURFACE_OFFSETS
variable_park_x: 10.0
# Y position to park toolhead (set "max" or "min" to infer from stepper config).
variable_park_y: 350.0
# This line includes all the standard macros.
[include klipper-macros/*.cfg]
# Uncomment to include features that require specific hardware support.
# LCD menu support for features like bed surface selection and pause next layer.
#[include klipper-macros/optional/lcd_menus.cfg]
# Optimized bed leveling
[include klipper-macros/optional/bed_mesh.cfg]
# The sections below here are required for the macros to work. If your config
# already has some of these sections you should merge the duplicates into one
# (or if they are identical just remove one of them).
[idle_timeout]
gcode:
_KM_IDLE_TIMEOUT # This line must be in your idle_timeout section.
[pause_resume]
[respond]
[save_variables]
filename: ~/printer_data/config/variables.cfg # UPDATE THIS FOR YOUR PATH!!!
[virtual_sdcard]
path: ~/printer_data/gcodes # UPDATE THIS FOR YOUR PATH!!!
on_error_gcode: CANCEL_PRINT
[display_status]
[exclude_object]
[gcode_macro update_git]
gcode:
RUN_SHELL_COMMAND CMD=update_git_script
[gcode_shell_command update_git_script]
command: bash -c "bash $HOME/klipper-backup/script.sh"
timeout: 90.0
verbose: True