Elegoo Neptune 4 Plus with OpenNept4une - Start G-code?
Hi,
I recently purchased an Elegoo Neptune 4 Plus and flashed with OpenNept4une which is basically stock klipper. I've been using the printer with Orca Slicer but I like PrusaSlicer much better as it's what I used for my Prusa Mini+. I've converted the profile to PrusaSlicer but I'm having issues with the Start G-code conversion.
What I have in Orca that works great is:
PRINT_START AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]} BED_MESH=adaptive M190 S[bed_temperature_initial_layer_single] EXTRUDER_TEMP=[nozzle_temperature_initial_layer]
In PrusaSlicer, I've added the same all in a single line as indicated in the klipper doc:
https://gist.github.com/ChipCE/95fdbd3c2f3a064397f9610f915f7d02
PRINT_START EXTRUDER_TEMP=[first_layer_temperature] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]} BED_MESH=adaptive BED_TEMP=[first_layer_bed_temperature]
The print seems to start when I send the code but it always does a FULL BED MESH instead of adaptive and because of this, it seems to want to save the config and print never actually starts. If I put simple G-code start commands that others have used for Neptune 4 without any macros, it seems to work.
I'm wondering if there is a way to get this working or if I'd have to put my entire macro in the Start G-code?
Here is the macro gcode from my printer.cfg
[gcode_macro PRINT_START] gcode: Frame_Light_ON Part_Light_ON G92 E0 G90 ; Use absolute coordinates BED_MESH_CLEAR G28 {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set BED_MESH = params.BED_MESH|default('adaptive')|string %} ; One of: adaptive (default), full, default (or any other value as the bed mesh profile name), none {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %} SET_HEATER_TEMPERATURE HEATER=extruder TARGET=160 ; Pre-heat Etruder (no-drip) SET_BED_TEMPERATURE TARGET={BED_TEMP} ; Heat Bed to target temp BED_TEMPERATURE_WAIT MINIMUM={BED_TEMP-2} MAXIMUM={BED_TEMP+4} ; Waits until the bed reaches close to target {% if BED_MESH == 'full' %} BED_MESH_CALIBRATE {% elif BED_MESH == 'adaptive' %} BED_MESH_CALIBRATE ADAPTIVE=1 {% elif BED_MESH != 'none' %} BED_MESH_PROFILE LOAD={BED_MESH} {% endif %} Smart_Park SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1 SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP} ; Set and heat the final extruder temperature TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP-4} MAXIMUM={EXTRUDER_TEMP+10} ; Wait for extruder to reach near target temperature LINE_PURGE ; KAMP Line Purge near print G92 E0 ; Reset Extruder G1 Z2.0 F3000 ; Move Z Axis up M117 Printing
Any help would be appreciated because it's the last step to getting back to PrusaSlicer! 🙂
Best Answer by Slicster:
Figured it out finally using this post:
https://github.com/rootiest/zippy_guides/blob/main/guides/macros.md
Which led me here:
https://github.com/rootiest/zippy_guides/blob/main/guides/macros.md#adaptive-meshing-notes
And basically all I was missing was:
need to enable "Label Objects" in the slicer settings
Printer Settings -> Output options -> Label Objects: Firmware specific
RE:
Here is my entire config file:
https://1drv.ms/u/s!AsebJLwdThdOh59W-wCqrB0imwXtVg?e=rSiVbw
# generated by PrusaSlicer 2.7.2+win64 on 2024-03-22 at 13:56:34 UTC [print:4PLUS] arc_fitting = disabled avoid_crossing_curled_overhangs = 1 avoid_crossing_perimeters = 0 avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = monotonic bottom_solid_layers = 3 bottom_solid_min_thickness = 0 bridge_acceleration = 0 bridge_angle = 0 bridge_flow_ratio = 1 bridge_speed = 65 brim_separation = 0 brim_type = outer_only brim_width = 4 compatible_printers = compatible_printers_condition = complete_objects = 0 default_acceleration = 3000 dont_support_bridges = 1 draft_shield = disabled elefant_foot_compensation = 0 enable_dynamic_overhang_speeds = 1 external_perimeter_acceleration = 3000 external_perimeter_extrusion_width = 0.4 external_perimeter_speed = 130 external_perimeters_first = 0 extra_perimeters = 1 extra_perimeters_on_overhangs = 0 extruder_clearance_height = 20 extruder_clearance_radius = 20 extrusion_width = 0.4 fill_angle = 45 fill_density = 20% fill_pattern = cubic first_layer_acceleration = 3000 first_layer_acceleration_over_raft = 0 first_layer_extrusion_width = 0.42 first_layer_height = 0.2 first_layer_speed = 60 first_layer_speed_over_raft = 30 fuzzy_skin = none fuzzy_skin_point_dist = 0.8 fuzzy_skin_thickness = 0.3 gap_fill_enabled = 1 gap_fill_speed = 20 gcode_comments = 0 gcode_label_objects = disabled gcode_resolution = 0.0125 gcode_substitutions = infill_acceleration = 3000 infill_anchor = 600% infill_anchor_max = 50 infill_every_layers = 1 infill_extruder = 1 infill_extrusion_width = 0.45 infill_first = 0 infill_overlap = 25% infill_speed = 250 inherits = interface_shells = 0 ironing = 0 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.16 max_print_speed = 500 max_volumetric_extrusion_rate_slope_negative = 0 max_volumetric_extrusion_rate_slope_positive = 0 max_volumetric_speed = 15 min_bead_width = 85% min_feature_size = 25% min_skirt_length = 0 mmu_segmented_region_interlocking_depth = 0 mmu_segmented_region_max_width = 0 notes = only_retract_when_crossing_perimeters = 0 ooze_prevention = 0 output_filename_format = [input_filename_base].gcode overhang_speed_0 = 15 overhang_speed_1 = 25 overhang_speed_2 = 30 overhang_speed_3 = 45 overhangs = 1 perimeter_acceleration = 3000 perimeter_extruder = 1 perimeter_extrusion_width = 0.42 perimeter_generator = arachne perimeter_speed = 200 perimeters = 3 post_process = print_settings_id = raft_contact_distance = 0.1 raft_expansion = 1.5 raft_first_layer_density = 90% raft_first_layer_expansion = 3 raft_layers = 0 resolution = 0 seam_position = random single_extruder_multi_material_priming = 1 skirt_distance = 6 skirt_height = 1 skirts = 2 slice_closing_radius = 0.049 slicing_mode = regular small_perimeter_speed = 60 solid_infill_acceleration = 3000 solid_infill_below_area = 70 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_width = 0.4 solid_infill_speed = 150 spiral_vase = 0 staggered_inner_seams = 0 standby_temperature_delta = -5 support_material = 0 support_material_angle = 0 support_material_auto = 1 support_material_bottom_contact_distance = 0 support_material_bottom_interface_layers = -1 support_material_buildplate_only = 0 support_material_closing_radius = 2 support_material_contact_distance = 0.2 support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0.35 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 3 support_material_interface_pattern = rectilinear support_material_interface_spacing = 0 support_material_interface_speed = 100% support_material_pattern = rectilinear support_material_spacing = 2.5 support_material_speed = 130 support_material_style = grid support_material_synchronize_layers = 0 support_material_threshold = 0 support_material_with_sheath = 1 support_material_xy_spacing = 50% support_tree_angle = 40 support_tree_angle_slow = 25 support_tree_branch_diameter = 2 support_tree_branch_diameter_angle = 5 support_tree_branch_diameter_double_wall = 3 support_tree_branch_distance = 1 support_tree_tip_diameter = 0.8 support_tree_top_rate = 15% thick_bridges = 1 thin_walls = 1 top_fill_pattern = monotonic top_infill_extrusion_width = 0.4 top_solid_infill_acceleration = 3000 top_solid_infill_speed = 130 top_solid_layers = 3 top_solid_min_thickness = 0 travel_acceleration = 5000 travel_speed = 250 travel_speed_z = 10 wall_distribution_count = 1 wall_transition_angle = 10 wall_transition_filter_deviation = 25% wall_transition_length = 100% wipe_tower = 0 wipe_tower_bridging = 10 wipe_tower_brim_width = 2 wipe_tower_cone_angle = 0 wipe_tower_extra_spacing = 100% wipe_tower_extruder = 0 wipe_tower_no_sparse_layers = 0 wipe_tower_rotation_angle = 0 wipe_tower_width = 60 wipe_tower_x = 180 wipe_tower_y = 140 xy_size_compensation = 0 [filament:4PLUS] bed_temperature = 63 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = compatible_prints = compatible_prints_condition = cooling = 1 disable_fan_first_layers = 2 enable_dynamic_fan_speeds = 0 end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n" extrusion_multiplier = 1 fan_always_on = 0 fan_below_layer_time = 60 filament_colour = #29B2B2 filament_cooling_final_speed = 3.4 filament_cooling_initial_speed = 2.2 filament_cooling_moves = 4 filament_cost = 30 filament_density = 0 filament_deretract_speed = nil filament_diameter = 1.75 filament_load_time = 0 filament_loading_speed = 28 filament_loading_speed_start = 3 filament_max_volumetric_speed = 0 filament_minimal_purge_on_wipe_tower = 15 filament_multitool_ramming = 0 filament_multitool_ramming_flow = 10 filament_multitool_ramming_volume = 10 filament_notes = "" filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" filament_retract_before_travel = nil filament_retract_before_wipe = nil filament_retract_layer_change = nil filament_retract_length = nil filament_retract_length_toolchange = nil filament_retract_lift = nil filament_retract_lift_above = nil filament_retract_lift_below = nil filament_retract_restart_extra = nil filament_retract_restart_extra_toolchange = nil filament_retract_speed = nil filament_settings_id = "" filament_soluble = 0 filament_spool_weight = 0 filament_toolchange_delay = 0 filament_travel_lift_before_obstacle = nil filament_travel_max_lift = nil filament_travel_ramping_lift = nil filament_travel_slope = nil filament_type = PLA filament_unload_time = 0 filament_unloading_speed = 90 filament_unloading_speed_start = 100 filament_vendor = (Unknown) filament_wipe = nil first_layer_bed_temperature = 65 first_layer_temperature = 212 full_fan_speed_layer = 0 idle_temperature = nil inherits = max_fan_speed = 100 min_fan_speed = 35 min_print_speed = 10 overhang_fan_speed_0 = 0 overhang_fan_speed_1 = 0 overhang_fan_speed_2 = 0 overhang_fan_speed_3 = 0 slowdown_below_layer_time = 5 start_filament_gcode = "; Filament gcode\n" temperature = 210 [printer:4PLUS] autoemit_temperature_commands = 0 bed_custom_model = bed_custom_texture = bed_shape = 0x0,330x0,330x330,0x330 before_layer_gcode = TIMELAPSE_TAKE_FRAME between_objects_gcode = binary_gcode = 0 color_change_gcode = M600 cooling_tube_length = 5 cooling_tube_retraction = 91.5 default_filament_profile = default_print_profile = deretract_speed = 40 end_gcode = PRINT_END extra_loading_move = -2 extruder_colour = "" extruder_offset = 0x0 gcode_flavor = klipper high_current_on_filament_swap = 0 host_type = prusalink inherits = layer_gcode = machine_limits_usage = time_estimate_only machine_max_acceleration_e = 5000,2000 machine_max_acceleration_extruding = 500,3000 machine_max_acceleration_retracting = 500,3000 machine_max_acceleration_travel = 1000,1250 machine_max_acceleration_x = 500,3000 machine_max_acceleration_y = 500,3000 machine_max_acceleration_z = 100,200 machine_max_feedrate_e = 60,90 machine_max_feedrate_x = 500,500 machine_max_feedrate_y = 500,500 machine_max_feedrate_z = 10,40 machine_max_jerk_e = 5,4.5 machine_max_jerk_x = 8,5 machine_max_jerk_y = 8,5 machine_max_jerk_z = 0.4,0.4 machine_min_extruding_rate = 0,0 machine_min_travel_rate = 0,0 max_layer_height = 0.28 max_print_height = 385 min_layer_height = 0.08 nozzle_diameter = 0.4 parking_pos_retraction = 92 pause_print_gcode = PAUSE print_host = printer_model = printer_notes = printer_settings_id = printer_technology = FFF printer_variant = printer_vendor = printhost_apikey = printhost_cafile = remaining_times = 1 retract_before_travel = 2 retract_before_wipe = 70% retract_layer_change = 1 retract_length = 2.5 retract_length_toolchange = 10 retract_lift = 0 retract_lift_above = 0 retract_lift_below = 0 retract_restart_extra = 0 retract_restart_extra_toolchange = 0 retract_speed = 25 silent_mode = 0 single_extruder_multi_material = 0 start_gcode = PRINT_START EXTRUDER_TEMP=[first_layer_temperature] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]} BED_MESH=adaptive BED_TEMP=[first_layer_bed_temperature] template_custom_gcode = thumbnails = 16x16/PNG, 220x124/PNG thumbnails_format = PNG toolchange_gcode = travel_lift_before_obstacle = 0 travel_max_lift = 0 travel_ramping_lift = 0 travel_slope = 0 use_firmware_retraction = 0 use_relative_e_distances = 0 use_volumetric_e = 0 variable_layer_height = 1 wipe = 1 z_offset = 0 [physical_printer:4PLUS] host_type = moonraker preset_name = 4PLUS preset_names = 4PLUS print_host = 192.168.1.23 printer_technology = FFF printhost_apikey = printhost_authorization_type = key printhost_cafile = printhost_password = printhost_port = printhost_ssl_ignore_revoke = 0 printhost_user = [presets] print = 4PLUS sla_print = sla_material = printer = 4PLUS filament = 4PLUS physical_printer = 4PLUS
RE: Elegoo Neptune 4 Plus with OpenNept4une - Start G-code?
Figured it out finally using this post:
https://github.com/rootiest/zippy_guides/blob/main/guides/macros.md
Which led me here:
https://github.com/rootiest/zippy_guides/blob/main/guides/macros.md#adaptive-meshing-notes
And basically all I was missing was:
need to enable "Label Objects" in the slicer settings
Printer Settings -> Output options -> Label Objects: Firmware specific
RE: Elegoo Neptune 4 Plus with OpenNept4une - Start G-code?
Here are my finalized settings that, so far, work great:
I'll keep the repo up to date as I had different layer heights, filaments etc.