Orca Slicer

This page documents a complete, working OrcaSlicer profile for the Creality K2 Plus with the stock 0.4 mm hardened-steel nozzle. These are the exact Process and Printer presets I run on CachyOS (OrcaSlicer installed as a Flatpak), and they produce clean, reliable prints without the mid-print crashes and axis faults that the default Creality-to-OrcaSlicer hand-off can cause.

If you have the same printer and just want a known-good starting point: copy the two JSON files below into your OrcaSlicer user-preset folder, restart the slicer, and select them. Everything else is explained underneath.


Tested setup

  • Slicer: OrcaSlicer 2.3.2 (build 75fe485d)
  • Printer: Creality K2 Plus — Klipper firmware, Moonraker host
  • Nozzle: Creality 0.4 mm hardened steel
  • Layer height: 0.16 mm (Optimal)
  • OS: CachyOS — OrcaSlicer Flatpak (com.orcaslicer.OrcaSlicer)

Why this profile is stable

The K2 Plus runs Klipper, and the printer already owns the start/stop routine through its on-printer macros (START_PRINT and END_PRINT). The usual cause of crashes when slicing in OrcaSlicer is the Machine Start G-code doing too much — homing, meshing, or driving the toolhead around before the printer is ready — which collides with what the on-printer macro is also doing. That double-up is what triggers axis faults and Klipper errors.

The fix is to keep the Machine Start G-code minimal: hand the temperatures off to START_PRINT, set the coordinate/extrusion modes, then make only safe absolute moves. Let the printer’s own macro do the homing and meshing. This is the exact sequence in the printer preset below:

START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]
G90
G21
M83
G1 Z3 F600
G1 X175 Y175 F12000

Machine End G-code is just END_PRINT for the same reason — the printer handles the teardown.


Where to put the preset files

Save each JSON block below to a file (use the filename shown in its heading), drop it in the matching sub-folder of your OrcaSlicer user directory, then fully restart OrcaSlicer so it re-scans presets. The process preset goes in process/ and the printer preset goes in machine/.

  • Standard Linux install: ~/.config/OrcaSlicer/user/default/
  • Flatpak install (what I use): ~/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/user/default/

So the two files land at …/user/default/process/ and …/user/default/machine/. If you sign in to an Orca/Creality account, the default folder may instead be a numeric account ID — just look for the folder that already holds your other presets.


Process Preset
0.16mm Optimal K2 Plus 0.4 nozzle.json

Inherits Creality’s stock 0.16mm Optimal profile, with a few changes for stronger, cleaner parts: 3 wall loops, 3 top / 3 bottom shell layers, gyroid sparse infill, and an outer‑then‑inner wall order. precise_outer_wall is off and supports are enabled by default (turn them off per-model as needed).

{
    "bottom_shell_layers": "3",
    "enable_support": "1",
    "from": "User",
    "inherits": "0.16mm Optimal @Creality K2 Plus 0.4 nozzle",
    "name": "0.16mm Optimal K2 Plus 0.4 nozzle - Custom",
    "precise_outer_wall": "0",
    "print_extruder_id": [
        "1"
    ],
    "print_extruder_variant": [
        "Direct Drive Standard"
    ],
    "print_settings_id": "0.16mm Optimal K2 Plus 0.4 nozzle - Custom",
    "sparse_infill_pattern": "gyroid",
    "top_shell_layers": "3",
    "version": "2.3.2.60",
    "wall_loops": "3",
    "wall_sequence": "outer wall/inner wall"
}

Printer Preset
Creality K2 Plus 0.4 nozzle.json

This is the important one. Notable settings: gcode_flavor is klipper with the moonraker agent; the minimal machine_start_gcode covered above; resonance_avoidance enabled across a 70–120 mm/s window; scan_first_layer on (uses the K2’s first-layer scan); direct-drive retraction at 0.8 mm @ 40 mm/s; and a 0.4 mm Normal Lift Z-hop. The multi-material change_filament_gcode is the stock CFS toolchange sequence — leave it as-is if you run the CFS.

{
    "adaptive_bed_mesh_margin": "0",
    "auxiliary_fan": "1",
    "bbl_use_printhost": "0",
    "bed_custom_model": "",
    "bed_custom_texture": "",
    "bed_exclude_area": [
        "0x0"
    ],
    "bed_mesh_max": "99999,99999",
    "bed_mesh_min": "-99999,-99999",
    "bed_mesh_probe_distance": "50,50",
    "bed_temperature_formula": "by_highest_temp",
    "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
    "best_object_pos": "0.5,0.5",
    "change_extrusion_role_gcode": "",
    "change_filament_gcode": "G17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600\nM8200 P S[next_extruder]\nM220 S100\nG0 Y200 F12000\nG0 X10\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=25000\nG0 F30000\nM8200 C S0\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 Y345 F18000\nG0 X139\nG0 Y378\nG0 X133\nM8200 R\nM104 S[nozzle_temperature_range_high[previous_extruder]]\nM8200 L I[next_extruder]\nM400\nT[next_extruder]\nM8200 O\n",
    "cooling_tube_length": "0",
    "cooling_tube_retraction": "0",
    "default_bed_type": "",
    "default_filament_profile": [
        "Creality Generic PLA @K2-all"
    ],
    "default_nozzle_volume_type": [
        "Standard"
    ],
    "default_print_profile": "0.16mm Optimal @Creality K2 Plus 0.4 nozzle",
    "deretraction_speed": [
        "40"
    ],
    "disable_m73": "0",
    "emit_machine_limits_to_gcode": "1",
    "enable_filament_ramming": "0",
    "enable_long_retraction_when_cut": "0",
    "enable_power_loss_recovery": "printer_configuration",
    "extra_loading_move": "0",
    "extruder_clearance_height_to_lid": "118",
    "extruder_clearance_height_to_rod": "24",
    "extruder_clearance_radius": "64",
    "extruder_colour": [
        "#FCE94F"
    ],
    "extruder_offset": [
        "0x0"
    ],
    "extruder_printable_area": [],
    "extruder_printable_height": [
        "0"
    ],
    "extruder_type": [
        "Direct Drive"
    ],
    "extruder_variant_list": [
        "Direct Drive Standard"
    ],
    "fan_kickstart": "0",
    "fan_speedup_overhangs": "1",
    "fan_speedup_time": "0",
    "file_start_gcode": "",
    "from": "User",
    "gcode_flavor": "klipper",
    "grab_length": [
        "0"
    ],
    "head_wrap_detect_zone": [],
    "high_current_on_filament_swap": "0",
    "host_type": "octoprint",
    "inherits": "Creality K2 Plus 0.4 nozzle",
    "layer_change_gcode": "",
    "long_retractions_when_cut": [
        "0"
    ],
    "machine_end_gcode": "END_PRINT",
    "machine_load_filament_time": "0",
    "machine_max_acceleration_e": [
        "5000",
        "5000"
    ],
    "machine_max_acceleration_extruding": [
        "20000",
        "30000"
    ],
    "machine_max_acceleration_retracting": [
        "5000",
        "5000"
    ],
    "machine_max_acceleration_travel": [
        "30000",
        "30000"
    ],
    "machine_max_acceleration_x": [
        "20000",
        "30000"
    ],
    "machine_max_acceleration_y": [
        "20000",
        "30000"
    ],
    "machine_max_acceleration_z": [
        "5000",
        "5000"
    ],
    "machine_max_jerk_e": [
        "10",
        "10"
    ],
    "machine_max_jerk_x": [
        "20",
        "20"
    ],
    "machine_max_jerk_y": [
        "20",
        "20"
    ],
    "machine_max_jerk_z": [
        "5",
        "5"
    ],
    "machine_max_junction_deviation": [
        "0.01"
    ],
    "machine_max_speed_e": [
        "50",
        "50"
    ],
    "machine_max_speed_x": [
        "300",
        "800"
    ],
    "machine_max_speed_y": [
        "300",
        "800"
    ],
    "machine_max_speed_z": [
        "10",
        "10"
    ],
    "machine_min_extruding_rate": [
        "0",
        "0"
    ],
    "machine_min_travel_rate": [
        "0",
        "0"
    ],
    "machine_pause_gcode": "PAUSE",
    "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nG90\nG21\nM83\nG1 Z3 F600\nG1 X175 Y175 F12000\n\n",
    "machine_tool_change_time": "0",
    "machine_unload_filament_time": "0",
    "manual_filament_change": "0",
    "master_extruder_id": "1",
    "max_layer_height": [
        "0.32"
    ],
    "max_resonance_avoidance_speed": "120",
    "min_layer_height": [
        "0.08"
    ],
    "min_resonance_avoidance_speed": "70",
    "name": "Creality K2 Plus 0.4 nozzle - Custom",
    "nozzle_diameter": [
        "0.4"
    ],
    "nozzle_flush_dataset": [
        "0"
    ],
    "nozzle_height": "2.5",
    "nozzle_hrc": "0",
    "nozzle_type": [
        "hardened_steel"
    ],
    "nozzle_volume": [
        "183"
    ],
    "parking_pos_retraction": "0",
    "pellet_modded_printer": "0",
    "physical_extruder_map": [
        "0"
    ],
    "preferred_orientation": "0",
    "printable_area": [
        "0x0",
        "350x0",
        "350x350",
        "0x350"
    ],
    "printable_height": "350",
    "printer_agent": "moonraker",
    "printer_extruder_id": [
        "1"
    ],
    "printer_extruder_variant": [
        "Direct Drive Standard"
    ],
    "printer_model": "Creality K2 Plus",
    "printer_notes": "",
    "printer_settings_id": "Creality K2 Plus 0.4 nozzle - Custom",
    "printer_structure": "undefine",
    "printer_technology": "FFF",
    "printer_variant": "0.4",
    "printhost_authorization_type": "key",
    "printhost_ssl_ignore_revoke": "0",
    "printing_by_object_gcode": "",
    "purge_in_prime_tower": "0",
    "resonance_avoidance": "1",
    "retract_before_wipe": [
        "70%"
    ],
    "retract_length_toolchange": [
        "0"
    ],
    "retract_lift_above": [
        "0"
    ],
    "retract_lift_below": [
        "349"
    ],
    "retract_lift_enforce": [
        "All Surfaces"
    ],
    "retract_restart_extra": [
        "0"
    ],
    "retract_restart_extra_toolchange": [
        "0"
    ],
    "retract_when_changing_layer": [
        "1"
    ],
    "retraction_distances_when_cut": [
        "18"
    ],
    "retraction_length": [
        "0.8"
    ],
    "retraction_minimum_travel": [
        "1"
    ],
    "retraction_speed": [
        "40"
    ],
    "scan_first_layer": "1",
    "silent_mode": "0",
    "single_extruder_multi_material": "0",
    "support_air_filtration": "1",
    "support_chamber_temp_control": "0",
    "support_multi_bed_types": "1",
    "support_object_skip_flush": "0",
    "template_custom_gcode": "",
    "thumbnails": "300x300/PNG, 96x96/PNG",
    "thumbnails_format": "PNG",
    "time_cost": "0",
    "time_lapse_gcode": "",
    "travel_slope": [
        "3"
    ],
    "upward_compatible_machine": [],
    "use_firmware_retraction": "0",
    "use_relative_e_distances": "1",
    "version": "2.3.2.60",
    "wipe": [
        "1"
    ],
    "wipe_distance": [
        "2"
    ],
    "wipe_tower_type": "type2",
    "wrapping_detection_gcode": "",
    "wrapping_detection_layers": "20",
    "wrapping_exclude_area": [],
    "z_hop": [
        "0.4"
    ],
    "z_hop_types": [
        "Normal Lift"
    ],
    "z_offset": "0"
}

Notes & gotchas

  • Versions matter. These are tagged 2.3.2.60. If you’re on a different OrcaSlicer build, the presets should still load but a few keys may be renamed — re-save after importing to normalize them.
  • Don’t add homing/meshing to the Machine Start G-code. The on-printer START_PRINT macro already does it; duplicating it is what causes the crashes this profile avoids.
  • The change_filament_gcode uses Creality’s M8200 CFS commands. If you don’t run the CFS multi-spool system you can ignore it — it only fires on a toolchange.
  • Supports are on by default in the process preset. Toggle them off per-model when you don’t need them.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.