Elegoo Neptune 4 Pro automatic heat bed macro

An automated heat bed macro for Elegoo Neptune 4 Pro printers
30
164
0
1633
updated January 19, 2024

Description

PDF

Hello printing enthusiasts,

Did you know that the Elegoo Neptune 4 Pro doesn't just have one, but two heated bed zones? However, Elegoo suggests that we all switch to the included outdated Cura Slicer to make use of this feature.

Well, I, out of conviction, opted for the Orca Slicer and faced the question: How do I get this whole thing up and running?

In my scenario, it was important to me that Klipper decides whether the outer heated bed is necessary or not. After all, who wants to manually intervene when the model leaves the central 120mm x 120mm printing zone? This should happen automatically, without any drama.

Important: I replaced my N4P firmware with a standard Klipper version, so your printer may need individual adjustments. Look at the component names and compare them with your system. Another small tip: Elegoo seems to have put a lot of logic into the G-code script in the slicer and less into the START_PRINT Macro in Klipper. So, carefully check where your heated beds come to life.

Here's my approach: I determine the model's position with the slicer (Orca), and I pass the internal parameters (first_layer_print_min/first_layer_print_max) to Klipper. These must be appended to the START_PRINT command in the Start G-code in Orca.

Here's a small example of how it looks (in my case):

START_PRINT BED_TEMP=[bed_temperature_initial_layer_single] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]}

After that, the Heatbed Macro, which you inserted into the printer.cfg beforehand, grabs the parameters and checks whether the print has left the central print bed.

The standard M140 Macro is commented out and replaced with the modified version. This one checks which beds are active because we want to avoid accidental, unwanted "reheating" of the outer bed during the second layer or any other temperature adjustment, right?

To top it off, your START_PRINT Macro in Klipper is adjusted. The heating command (I guess M190 in most cases) is replaced by this command:

HEATBED_AUTO BED_TEMP={params.BED_TEMP|default(60)|float} AREA_START={params.AREA_START|default("0,0")} AREA_END={params.AREA_END|default("0,0")}

I also provide an adapted build plate-model which you can use in OrcaSlicer-printer-settings (printable area->set->model) to display the different heat zones.

And now a disclaimer: These macros are just tested on my printer. I have no idea if they will work for you or if your printer will suddenly catch fire, dance the tango, whatever... So, use them only if you understand what the code does and at your own risk.

Have fun printing!

Category: 3D Printing

Tags



Model origin

The author marked this model as their own original creation. Imported from Thingiverse.

License