Tuning Guide for Elegoo Neptune 4 Klipper 3D Printer

Tuning Guide for Elegoo Neptune 4 Klipper 3D Printer

Elegoo Neptune 4 and Neptune 4 Pro, both pre-installed with Klipper firmware, can successfully produced a benchy without any issues in just 16 minutes. Navigate to the configuration tab on the printers' menu where you can find various files stored on your printer, Elegoo has provided a basic config file that works well out of the box, but there still have room for improvement.


To achieve optimal results, calibration is imperative. Calibration spans various aspects, including EEPROM settings, flow rates, temperature control, and retraction. Spending time fine-tuning these parameters is essential for ensuring consistent and high-quality prints. Following are some tuning tips for the Elegoo Neptune 4 and 4 Pro, both pre-installed with Klipper firmware. 

Elegoo Neptune 4 Klipper 3D Printer

Elegoo Neptune 4 Specification
Neptune 4 225×225×265mm 8.3kg
FDM(Fused Deposition Modeling) 235×235mm² 10.8kg
CNC machined aluminium extrusion 475×445×515mm Yes
115/230V 50/60Hz 630×510×260mm Yes
LAN, USB 300℃ 180mm/s
STL, OBJ 110℃ 20000mm/s²
English, French, German, Russian, Italian, Spanish, Japanese, Chinese PLA / TPU / PETG / ABS / ASA / Nylon

Before diving into tuning, it's important to ensure your printer is mechanically sound. Check the tightness of the wheels, belt tension, and make sure all bolts on the machine are securely tightened. Additionally, level the X-axis Gantry to the frame using two objects of the same size. Undo the belt pulleys on the top of the machine, press the x-axis down on the objects, and then re-tighten the pulleys. Next, manually level the bed through the menu on the machine. Tighten the back left knob to its tightest and level the bed accordingly. This step ensures that the bed is as tight as possible to counteract vibrations. In the menu, you can also set your Z offset. Don't forget to save your changes by clicking the save icon in the top right-hand corner.

ELEGOO Neptune 4

Run Mesh Bed Leveling

After the above initial steps, you can proceed to the Klipper interface and start sending tuning commands. Begin by preheating the bed and hot end to printing temperature, typically around 65°C for the bed and 200°C for the hot end. Home all axis, then run the command "bed_mesh_calibrate," which will probe and store a mesh bedmap. 

Klipper 3D Printer tuning

You can view the mesh in the calibrate tab. Use this information to fine-tune your bed, running the command after every tweak until you're satisfied with the results. Having a leveled bed is crucial to prevent excessive compensation by the z-axis motors for variations in bed height.

Calibrating the Rotational Distance / E-steps Calibration

Klipper calibrating the rotational distance or e-steps calibration in Marlin should be the very first step of tuning your 3D printers.

Preheat the hot end to printing temperature and send the G91 command to enable relative positioning. Mark your filament at 70mm from the extruder body, then slowly extrude 50mm of filament using the command G1 E50 F60. Measure from the extruder body to the mark to determine the rotation distance. These tuning steps will help optimize your printer's performance and ensure accurate prints. Remember to make incremental adjustments, testing and observing the effects as you go along. The measurement should be 20mm. If it's not, subtract that measurement from 70mm. This gives us the actual extruded amount.

Next, open your printer.cfg file and note down your current rotation distance. Then use the formula to calculate: 

Extrusion Ratio =

Current Rotation Distance Value × Actual Amount Extruded  Requested Extruded Amount

This will give you your new rotation distance. Repeat this process several times to find the perfect value. Lower the value if you're under extruding and raise it if you're over extruding. This adjustment is opposite to how you'd adjust steps per millimeter in Marlin.

While in the printer.cfg file, enter the Z offset that was previously obtained. You can also fine-tune this during test printing from the dashboard.

Tuning Tower Command

Now, let's determine the perfect heat for our filament. Since we're printing faster, we need to run a little hotter to ensure the filament is fully molten. Klipper has a tuning Tower command that makes this process easier. Use the following command:


This command enters the tuning Tower mode and affects the next model printed. It specifies that the extruder Target temperature will be affected. Start refers to the starting temperature, step Delta is the increment size (how many degrees Celsius to increase), and the height indicates at which height the temperature increase will occur in millimeters.

Tune the PID Values

After finding the perfect temperature for your filament, you can tune the PID values.

What is PID Tune?

PID stands for Proportional, Integral, and Derivative. In programming, these terms are used in a feedback loop to control sensors and actuators in devices like 3D printers. The three factors—proportional, integral, and derivative—are crucial in maintaining precise control over elements such as hot end thermistors and heating elements.

In a simplified explanation, the heating element warms up, and the thermistor measures the temperature. The control board uses the feedback loop to achieve and maintain the desired temperature. For instance, if the target is 200 degrees Celsius, the board allows current to flow to the heating element until the thermistor indicates the temperature has been reached. The board then stops the current to maintain the temperature.

However, without PID control, there can be issues. If the heating element continues at full power until reaching the target temperature and then turns off, the temperature may still rise slightly. Similarly, when the temperature drops below the target, there might be a delay in reactivating the heating element, leading to fluctuations above and below the target.

To address these issues, the PID loop adjusts the control parameters. The Proportional (P) component reacts to the distance from the target temperature, the Integral (I) component makes slow adjustments when close to the target, and the Derivative (D) component predicts the temperature's future changes, adjusting to prevent overshooting.

Similarly, the PID loop ensures that the temperature for the hot end or heated bed remains stable, preventing constant fluctuations above and below the target temperature. PID values help your printer maintain a stable temperature on both the hot end and the heated bed, resulting in more even print quality and surface finish.

Why Change Your PID Settings?

In the context of a 3D printer, the PID (Proportional, Integral, Derivative) feedback loop controls temperature. If your 3D printer is using standard components as supplied by the manufacturer and you consistently print with PLA, there may be little need to alter your PID tune. Manufacturers typically provide settings that work for most users.

However, changing any component that affects how something heats up warrants consideration for a PID tune. Various factors in a 3D printer, such as different heating elements, nozzles, heatsinks, or cooling fans, can influence how fast the hot end heats up and what inputs are necessary to maintain the desired printing temperature.

Additionally, the type of filament used, such as PETG or ABS, and the target temperatures for printing can impact the PID tune. Even modifications to the print bed, such as a change in print surface, can impact the PID tune. For users frequently working with higher-temperature filaments like PETG or ABS, conducting a PID tune specific to these temperatures is advisable. 

Essentially, any significant change to the printer's components or firmware may need PID tune. The PID loop, being the control system behind temperature regulation, requires recalibration to ensure optimal performance in response to alterations in the printing setup.

How to Know If Your PID Tune Needs Calibration

To determine whether your PID tune requires calibration, a straightforward method is to monitor the temperature display on your 3D printer as it heats up. If you observe that the printer takes a prolonged time to reach the target temperature, experiences overshooting, or fluctuates by more than a degree or two, it likely indicates a need for PID tuning.

Additionally, signs of a poorly tuned PID may manifest in print results. Deliberately setting incorrect PID settings for a print can result in temperature fluctuations, causing variations in filament extrusion and visible banding in the printed object.

How to Tune PID?

To tune the hot-end PID, follow these steps:

  1. Move the printhead assembly to the center of the bed and around 15mm on the Z-axis using the command: G1 f600 x110 y110 z15.
  2. Set the print bed to your desired printing temperature, for example, 65°C.
  3. Turn on your part cooling fan. This is important to mimic real-life printing conditions where there's ambient heat from the heat bed and heat being blown away from the hot end by the part cooling fans.
  4. Run the command  PID_CALIBRATE HEATER=extruder TARGET=230. Adjust the target value according to your temperature tower results earlier.
  5. Once the calibration is complete, you can find the PID values in your printer.cfg file. Enter the new values there.

Tip: You can add multiple PID values for different temperatures by commenting them out with the hash symbol (#). This allows you to easily swap PID settings depending on the material you're printing.

You can also perform PID tuning for the print bed. Repeat the previous steps, but use the command PID_CALIBRATE HEATER=heater_bed TARGET=65

After obtaining the new PID values for your bed, add them under the "heater_bed" heading in the printer.cfg file. Remove the watermark control section and replace it with the updated configuration. Don't forget to fill in your own results in the corresponding fields.

Tuning Pressure Advance / Linear Advance 

What is Klipper PA Tune?

Next, we can move on to pressure advance, or PA, designed to maintain consistent extrusion by adjusting material pressure through the extruder motor. This adjustment involves starting to push filament earlier during acceleration and retracting earlier during deceleration moves. Klipper Preassure Advance works similar to linear advance in Marlin by slowing down your extrusion rate around corners to keep them nice and sharp.

How to Tuning Pressure Advance?

On the official Klipper site, they provide a square tower model which should be sliced with one wall and zero infill. Before we print, we need to disable some features by sending the command:


Next, we need to enable the tuning Tower feature by sending the command:


This will print our model starting at zero pressure advance and work our way up every layer by increments of .005.

Tuning Pressure Advance

You can see here at the beginning of the print, the edges sort of bulge out and then they get sharp, and then they start to under extrude. To get our value from the test, simply measure from the bottom of the model to the sharpest area of the test. Take that measurement and multiply it by our increment size of 0.005, and we should have our new value. Head back to the config file and enter it there, then save and restart.

Tuning Guide for Elegoo Neptune 4

1 comment


you forgot the linear advance! which is the only reason i came here :(

Leave a comment

Please note, comments need to be approved before they are published.