Printer Calibration ‐ Klipper & OrcaSlicer - OpenNeptune3D/OpenNept4une GitHub Wiki

Table of Contents


Prerequisites:

  • Ensure the Bed Screw springs (or silicone spacers) are not overly compressed

    Over-tightening the bed screws can cause the corners of the bed to warp/bend, causing a centre-high spot in your bed-mesh. It's essential to understand that these screws should not be excessively tightened.

  • If the springs or spacers are significantly compressed

    Gently loosen the screws to reduce the compression, however, be cautious not to loosen them too much to avoid making the bed unstable. Using silicone spacers allows for a slightly looser bed-screw than with springs. Once you've adjusted the screws, proceed with the rest of this calibration guide.

Level Tuning Macros:

Below are pre-configured macros buttons in Fluidd for bed tuning and levelling.
(It's recommended to perform the Probe Z Offset while the printer is cold)

  • Bed Level Screws Tune: BED_LEVEL_SCREWS_TUNE
    Adjust bed levelling screws using the bed probe.

    Click Retry after each round of adjustments.

    Note for N4Plus & N4Max there are 2x center bed mounting posts. To lower the height of one of these points you can slightly tighten the relevant hex key under the PEI sheet. Ideally, these two posts should be shimmed to be level with each other (to shim these the bed needs disassembling).

    Important ensure the beds ribbon cable (rear) isn't rubbing against / turning any of the bed screws during y-axis moves (common issue).

    Crucial After performing any bed level screws tuning you must run CALIBRATE_PROBE_Z_OFFSET afterwards (section immediately below).

  • Calibrate Probe Z Offset: CALIBRATE_PROBE_Z_OFFSET
    Perform this test cold, using the paper thickness test.
    Once you determine a value, click "Accept" and run a SAVE_CONFIG command.

  • Auto Full Bed Level: AUTO_FULL_BED_LEVEL
    Although not required due to the use of adaptive meshing during print start, this macro is useful for assessing the overall bed level.
    Remember to "Save Config & Restart" afterwards.


More Info on z_offset:

Fluidd will always show z_offset 0.000 mm after performing CALIBRATE_PROBE_Z_OFFSET. This helps keeping track whilst making new, small nozzle height changes on the fly during printing.

Klipper calculates the z_offset value during the paper test / above macro. This value is saved at the end of your printer.cfg within the grey SAVE_CONFIG section.

The way Klipper calculates this value:

{z_offset} = {z_trigger} - {z_nozzle}

z_trigger (probe trigger height) should be a positive value indicating how far the probe is above the bed when it triggers.

z_nozzle (nozzle paper touch height) this should also be a positive value. It shows how far the nozzle is from the bed when it creates friction with the paper.

z_offset (the result at the end of your printer.cfg) is the distance Klipper needs to correct in order to compensate for the difference between probe to bed and nozzle to bed measurements.

The larger your z-offset, the closer the nozzle is moved to the bed.

Crucial If you subsequently re-tune the Bed Level Screws, it will invalidate the your previously calibrated z_offset. After making any screw adjustments it will be necessary to run CALIBRATE_PROBE_Z_OFFSET again.


PID Tuning Macros:

PID tuning is essential for maintaining stable temperatures for your extruder and bed, ensuring optimal print quality and consistency.
Use the following macros to conduct PID tuning for different components of your printer (only need to run each once):

  • PID_TUNE_EXTRUDER: This macro fine-tunes the extruder's temperature control, crucial for consistent filament melting and flow.

  • PID_TUNE_BED: Targets the print bed (inner bed on N4Pro), optimising temperature stability and uniformity across commonly used print areas.

  • PID_TUNE_OUTER_BED: Exclusive to N4Pro models, this macro extends PID tuning to the bed's outer regions, enhancing temperature management for larger prints that occupy the full bed.

Save your changes within the Fluidd interface to ensure they are not lost.


First Layer Test Print:

Please refer to this guide on PEI surface preparation

Once the PEI is clean you can begin testing the First Layer Squish. It's unlikely to achieve perfect results on the first attempt, but this will serve as a starting point for further refinement throughout this guide.

Note In the provided OrcaSlicer profiles the first layer is already set above 0.25mm & the first layer width is already above 120% of a 0.4mm nozzle so don't change the slicer values during this test. I have made a First_Layer_Patch-0.28mm.stl.

Don't forget to refresh Fluidd in the browser before issuing a Z_OFFSET_APPLY_PROBE and then SAVE_CONFIG after live adjusting your z_offset via the Fluidd GUI.


Flow Rate Adjustment:

Optimizing the flow rate is essential for reducing nozzle drag across the part. Fine-tuning this aspect helps ensure precise filament extrusion volumes, which directly affects the print's strength and dimensional accuracy.

Follow the OrcaSlicer Fine Tuning guidelines to adjust the flow rate.

  • Explore the other tuning methods within this link although pressure advance tuning is best done via the method further down this guide Pressure Advance.

Firmware Retraction Values:

Retraction values are set within the Slicers Filament Profile > Setting Overrides. You should only set or edit;

  • Retraction: Length, Speed
  • Deretract: Extra Length on Restart & Speed

During any retraction or stringing tower tuning, it's advisable to temporarily disable the firmware retraction feature. This step is necessary because the slicer needs to adjust retraction values for each layer.

You can do this by commenting out the firmware retraction section in your printer.cfg, and also unchecking the firmware retraction option in your slicer settings.

Once you have found your ideal values, you can re-enable firmware retraction in the Slicer & update the values and un-comment the firmware retraction section in your printer.cfg or user_settings.cfg


Setting Z-Hop in the Slicer

Depending on the infill you are using and if using tree supports it may be necessary to enable Z-Hop in the slicer. This will prevent small parts from being knocked off the PEI or tree supports from becoming dislodged.

The zhop setting in OrcaSlicer is found under Printer Settings > (Enable Advanced toggle) > Extruder > Z hop when retracting.

A value of 0.3mm - 0.6mm should be sufficient.

Pros of Z-Hop:

  • Reduced Scratching and Dragging: Z-hop minimizes the nozzle's contact with the print, reducing the chance of scratching or dragging across the surface or completed parts of the print. This is particularly useful for prints with high detail or those that are densely packed on the build plate.
  • Better for Tall, Thin Features: For prints with tall, thin parts, Z-hop can prevent the nozzle from knocking over or damaging these features as it moves between them.

Cons of Z-Hop:

  • Increased Print Times: Z-hop adds extra movements for the Z-axis, which can significantly increase the overall print time, especially for models requiring frequent travel moves.
  • Potential Z-Axis Oozing: If the retraction settings are not optimized, Z-hop could lead to stringing or oozing because the nozzle is lifted away from the print surface, giving the filament more opportunity to leak out.
  • Extra Wear on the Z-Axis: Frequent Z-hop movements can lead to additional wear on the Z-axis components over time. If you still notice excessive nozzle drag on surfaces/walls (infill is ok in most cases).

Pressure Advance:

Pressure advance is a feature that compensates for filament compression and decompression dynamics, improving print corners and overall quality.

The value for setting pressure advance is set within the Slicers Filament Profile > Advanced > Filament Start G-code.
Ignore the value within the printer.cfg this is just a default value if one isn't is specified here.

SET_PRESSURE_ADVANCE ADVANCE=0.02725 SMOOTH_TIME=0.02

You'll need to comment out the line above when tuning pressure advance, don't forget to re-enable with your new values.


Input Shaping:

Input shaping is a technique used to mitigate printer vibrations and resonance, resulting in smoother surfaces and faster print speeds.


Axis Twist Compensation Macro:

This is only necessary if you are still having first-layer issues.
This macro is preconfigured in Fluidd as AXIS_TWIST_COMP_TUNE.
Klipper Docs

This could make print quality worse if not required. To disable this feature remove the relevant lines from the grey area at the end of your printer.cfg then click Save & Restart


Adaptive Bed Meshing (Print Start):

By default, Klipper adaptive bed meshing is enabled at the start of each print. To change this behaviour you can edit the following;

  • In OrcaSlicer, click the edit icon located between the Printer select dropdown and the WiFi symbol (top left corner of the interface).

  • Ensure the Advanced toggle is enabled (top right of new dialogue box)

  • Click the Machine G-Code tab

  • You can now edit the entry BED_MESH= within the Machine Start G-code section

  • There are three options for bed mesh configurations:

    1. Adaptive: Adjusts the mesh dynamically.

    2. Full: Creates a complete mesh for each print.

    3. User Saved Mesh Name: Loads a saved bed mesh from your printer.cfg file. By default, this is usually called default unless you have saved it with a different name.

Choose the appropriate option based on your needs.


Plus & Max heat-soak:

To improve the performance of Plus or Max printers, it's recommended to preheat the bed. The default setting has this disabled, although you can enable it by making the following adjustments in the slicer settings;

  • In OrcaSlicer, click the edit icon located between the Printer select dropdown and the WiFi symbol (top left corner of the interface).
  • Ensure the Advanced toggle is enabled (top right of new dialogue box)
  • Click the Machine G-Code tab
  • You can now add or edit the following code within Machine Start G-code section (Note: copy the config below to ensure propper formatting).
;Nozzle diameter = [nozzle_diameter]
;Filament type = [filament_type]
;Filament name = [filament_vendor] 
;Filament weight = [filament_density]
PRINT_START BED_TEMP=[hot_plate_temp_initial_layer] 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]} BED_MESH=adaptive BED_HEAT_SOAK_MINUTES=0
  • To change the duration of the build-plate heat-soak change the 'BED_HEAT_SOAK_MINUTES' value from '0' to the desired delay (in minutes).

Saving Changes & Rebooting

After adjusting configurations or completing calibration procedures:

  1. Save your changes within the Fluidd interface to ensure they are not lost.
  2. To safely reboot your printer, use the Fluidd interface:
    Navigate to the top-right menu, select Host, then Reboot.
    This ensures that changes stored in RAM are correctly written to the eMMC, preventing data loss.