speed_settings_jerk_xy - NanashiTheNameless/OrcaSlicer GitHub Wiki
In printer firmware, Jerk is the maximum speed change (in mm/s) the printer can make instantly, without accelerating. It controls direction changes and velocity transitions during movement.
-
Corner Control:
- Lower values = smoother corners, better quality.
- Higher values = faster cornering, potential artifacts.
- Print Speed: Higher jerk reduces deceleration at direction changes, increasing overall speed.
- Surface Quality: Lower jerk minimizes vibrations and ringing, especially important for outer walls.
This setting overrides firmware jerk values when different motion types need specific settings. Orca limits jerk to not exceed the Printer's Motion Ability settings.
Tip
Jerk can work in conjunction with Pressure Advance, Adaptive Pressure Advance, and Input Shaping to optimize print quality and speed.
It's recommended to follow the calibration guide order for best results.
-
Jerk: Traditional method, sets a maximum speed for direction changes.
- Klipper: Square corner velocity
- RepRapFirmware: Maximum instantaneous speed changes
- Marlin 2: Classic Jerk (deprecated in favor of Junction Deviation, but can still be used).
- Marlin Legacy: Classic Jerk.
- Junction Deviation: Modern method, calculates cornering speed based on acceleration.
Tip
Calibrate your cornering values using the Cornering Calibration guide.
Mode: Advanced.
Variable: default_junction_deviation.
Type: Float list.
CLI Example: --default-junction-deviation=1.
Alternative to Jerk, Junction Deviation is the default method for controlling cornering speed in Marlin 2 printers.
Instead of setting a cornering speed for each line type, it calculates the cornering speed from each line's acceleration and the corner angle. A Junction Deviation equivalent to a given jerk value can be estimated with the formula:
Higher values result in faster and more aggressive cornering speeds, while lower values produce smoother, more controlled cornering.
Note
Classic Jerk can still be used in Marlin 2, but it is deprecated in favor of Junction Deviation.
If your printer uses Classic Jerk, set Maximum Junction Deviation to 0 in the printer settings to enable the Jerk settings.
This value is limited by Printer settings > Motion ability > Maximum Junction Deviation.
Mode: Advanced.
Variable: default_jerk.
Type: Float list.
CLI Example: --default-jerk=1.
Default Jerk value.
Note
If this value is set to 0, the jerk will be set to the printer's default jerk.
Mode: Advanced.
Variable: outer_wall_jerk.
Type: Float list.
CLI Example: --outer-wall-jerk=1.
Jerk for outer wall printing. This is usually set to a lower value than normal printing to ensure better quality.
Mode: Advanced.
Variable: inner_wall_jerk.
Type: Float list.
CLI Example: --inner-wall-jerk=1.
Jerk for inner wall printing. This is usually set to a moderately higher value than outer wall jerk to improve speed.
Mode: Advanced.
Variable: infill_jerk.
Type: Float list.
CLI Example: --infill-jerk=1.
Jerk for infill printing. This is usually set to a value higher than inner wall printing to improve speed.
Mode: Advanced.
Variable: top_surface_jerk.
Type: Float list.
CLI Example: --top-surface-jerk=1.
Jerk for top surface printing. This is usually set to a lower value than infill to ensure better quality.
Mode: Advanced.
Variable: initial_layer_jerk.
Type: Float list.
CLI Example: --initial-layer-jerk=1.
Jerk for initial layer printing. This is usually set to a lower value than top surface to improve adhesion.
Mode: Advanced.
Variable: initial_layer_travel_jerk.
Type: Float or Percentage list.
CLI Example: --initial-layer-travel-jerk=20%.
Jerk for initial layer travel.
Using a lower value can improve build plate adhesion. If the value is expressed as a percentage (e.g. 50%), it will be calculated based on the Travel Jerk.
Mode: Advanced.
Variable: travel_jerk.
Type: Float list.
CLI Example: --travel-jerk=1.
Jerk for travel moves. This is usually set to a higher value than infill to reduce travel time.