Printer Calibration ‐ Klipper & OrcaSlicer - OpenNeptune3D/OpenNept4une GitHub Wiki
Table of Contents
- Level Tuning Macros
- More Info on z_offset
- PID Tuning Macros
- First Layer Test Print
- Flow Rate Adjustment
- Firmware Retraction Values
- Setting Z-Hop in the Slicer
- Pressure Advance
- Input Shaping
- Axis Twist Compensation Macro
- Adaptive Meshing
- Plus & Max heat-soak
- Saving Changes & Rebooting
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 aSAVE_CONFIG
command. -
Auto Full Bed Level:
AUTO_FULL_BED_LEVEL
Although not required due to the use ofadaptive 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.
- Refer to the Klipper documentation on Pressure Advance for a comprehensive tuning guide.
Input Shaping:
Input shaping is a technique used to mitigate printer vibrations and resonance, resulting in smoother surfaces and faster print speeds.
- The system is pre-configured for
SPI ADXL345
&Mellow Fly-ADXL345
accelerometers. - If you have a
Neptune 4 Plus or Max
you can simply run the following to calibrate the input shaper;SHAPER_CALIBRATE
- If you have a USB Mellow Fly-ADXL345, please check Here.
- For a detailed walkthrough, consult the Klipper Docs on Input Shaper Auto Calibration / Klipper Docs on Measuring Resonance
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 thePrinter
select dropdown and theWiFi
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 theMachine Start G-code
section -
There are three options for bed mesh configurations:
-
Adaptive
: Adjusts the mesh dynamically. -
Full
: Creates a complete mesh for each print. -
User Saved Mesh Name
: Loads a saved bed mesh from yourprinter.cfg
file. By default, this is usually calleddefault
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 thePrinter
select dropdown and theWiFi
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:
- Save your changes within the Fluidd interface to ensure they are not lost.
- To safely reboot your printer, use the Fluidd interface:
Navigate to the top-right menu, selectHost
, thenReboot
.
This ensures that changes stored in RAM are correctly written to the eMMC, preventing data loss.