Elegoo Neptune 4 Plus with OpenNept4une - Start G-code?
 
Notifications
Clear all

Elegoo Neptune 4 Plus with OpenNept4une - Start G-code?  

  RSS
Slicster
(@slicster)
Active Member
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

This topic was modified 2 months ago by Slicster
Posted : 22/03/2024 1:44 pm
Slicster
(@slicster)
Active Member
Topic starter answered:
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
This post was modified 2 months ago 3 times by Slicster
Posted : 22/03/2024 2:04 pm
Slicster
(@slicster)
Active Member
Topic starter answered:
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

Posted : 22/03/2024 2:33 pm
Slicster
(@slicster)
Active Member
Topic starter answered:
RE: Elegoo Neptune 4 Plus with OpenNept4une - Start G-code?

Here are my finalized settings that, so far, work great:

https://github.com/crazyslicster/OpenNept4unePlus/blob/main/Elegoo_OpenNept4une_Plus_config_bundle.ini

I'll keep the repo up to date as I had different layer heights, filaments etc.

Posted : 22/03/2024 3:15 pm
Share: