What Causes Cura Time Estimates to Be Wrong? (How to Fix?)

Even though the slicer is primarily tasked with preparing the G-code file that your 3D printer will use to conduct the printing process, modern slicer software are taking their capabilities even further with many extra features, including handy pieces of information such as how much filament you would use for a print, or how much time a print would take.

On the other hand, the information that the slicer software can provide you is only as good as the data that you present to it, and even with the correct information, it is still based on estimates, meaning that it’s possible for what you see on your screen to be entirely wrong at times, which creates a great deal of confusion and annoyance.

Today, we will be diving into one such information-related problem that you can face in Cura, where the time estimate that you see on your screen ends up being nowhere close to how long the print actually takes to complete, most likely throwing your plans off for the rest of the day as a result.

So, what can cause the Cura time estimates to be wrong?

While there can always be slight differences between the Cura estimate and the actual print time, in cases where the distinction is way too significant, misconfiguration or a lack of configuration of values such as acceleration, jerk, and retraction speed are usually the culprits.

Moving forward, we will take a more detailed look at the factors that can cause Cura’s print time estimates to be wrong, find out how to make the time estimates more accurate, and go through the process of making the remaining time visible on the LCD panel of an Ender 3 by performing an additional step of configuration in Cura.

What Causes Cura Time Estimates to Be Wrong?

The print not completing even after the amount of time that Cura shows as an estimate has elapsed can be highly frustrating due to various reasons, whether you have made plans accordingly to the finish time or were just excited to obtain your 3D printed model.

When you hit the Slice button in Cura, Cura creates a G-code file based on the print settings you have configured, which is what Cura uses for its estimation and what the 3D printer follows in conducting the 3D printing process and manufacturing your 3D printed model.

On the other hand, the 3D printer may not always be capable of utilizing the exact values stated in the G-code file, such as in scenarios where a configured value exceeds the corresponding limit in the firmware or when the 3D printer physically is unable to reach such values.

In such cases, an inconsistency occurs between the values that Cura assumes the 3D printer will use for the printing process and the values that the 3D printer actually uses, which causes Cura’s time estimate to be wrong by a considerable margin.

While the acceleration, the jerk, and the retraction speed values are the usual suspects that often end up showing inconsistencies due to such limits and throwing Cura’s time estimates off, it’s technically possible for any parameter that affects the print time to be the culprit.

How to Make Cura Time Estimates More Accurate?

As the time estimates being wrong are primarily a result of misconfiguration, as we have mentioned in the earlier section, it’s entirely possible to make the Cura time estimates more accurate with a few quick adjustments.

Here is a step-by-step guide we recommend following to make the Cura time estimates more accurate:

  1. Make a note of the maximum acceleration value set in your firmware. For instance, in Marlin firmware, you can find this parameter in the Configuration.h file with the name DEFAULT_MAX_ACCELERATION. Alternatively, your printer should also be able to supply this information through its LCD panel under the acceleration section or with the M503 G-code.
  2. Make a note of the jerk limit values set in your firmware. In Marlin, you can find this parameter in Configuration. h, with the names DEFAULT_XJERK and DEFAULT_YJERK. Alternatively, you can find these values under the jerk section of your 3D printer’s interface or with the M503 G-code.
  3. Make a note of the maximum feed rate value set in your firmware, which essentially determines the retraction speed limit. In Marlin, this parameter is located in Configuration.h with the name DEFAULT_MAX_FEEDRATE (E value, which is the fourth value in the array). Alternatively, use your 3D printer’s screen or the M503 G-code to obtain this information.
  4. Open Cura, and navigate to the Prepare tab.
  5. Click the Print Settings tab (rightmost).
  6. Click the Custom button if visible. Else, skip this step.
  7. Click the icon next to the search input (three horizontal lines) and choose All from the dropdown list.
  8. Type “acceleration” into the search input.
  9. Check the Enable Acceleration Control checkbox.
  10. Ensure that the Print Acceleration is set to a value below or equal to the figure you noted in step 1.
  11. Type “jerk” into the search input.
  12. Check the Enable Jerk Control checkbox.
  13. Ensure that the Print Jerk value is set to a figure below or equal to the value you noted in step 2 (either X or Y, they should be equal anyway).
  14. Type “retraction speed” into the search input.
  15. Ensure that the Retraction Speed value is set to a figure below or equal to the value you noted in step 3.

Aside from the jerk, acceleration, and retraction speed parameters that we have mentioned, feel free to cross-check any other parameter that you think could be behind the issue and apply the necessary fix in cases where there is a disparity.

How to Display Time Remaining on the LCD Panel of Ender 3 (Pro/V2) with Cura?

Getting the remaining amount of time for the printing process to conclude to display on the LCD panel is a fantastic way to stay on top of things, as it’s usually much more comfortable to take a glance at the LCD panel than having to turn your computer’s screen on.

Below, you can find a step-by-step guide that you can use to display the time remaining on the LCD panel of your Ender 3:

  1. Click the extensions option on the menubar of Cura.
  2. Hover over Post Processing, and click Modify G-code.
  3. Click the Add a Script button.
  4. Choose the Display Progress on LCD Option from the list.
  5. Check the Time Remaining box.
  6. Set the Time Reporting Method accordingly. If your Ender 3 has a 32-bit board, you should be on Marlin 2 in a default scenario and use the M73 option. On the other hand, an Ender 3 with an 8-bit board should be running Marlin 1, meaning you will need to use the M117 option.
  7. Choose the Every Layer option for the Update Frequency parameter.
  8. Check the Percentage option.

After following these steps, Cura should automatically inject the required G-code commands to display the information of progress and remaining time on the LCD panel of your Ender 3 during the printing process.

Wrapping Up

The time estimates of Cura being wrong can definitely create an unpleasant 3D printing experience, especially considering that the difference between the estimate and the actual amount of time required for the printing process to conclude can even be several hours for larger prints.

To quickly recap, the main reason behind the differences between Cura’s time estimates and the print times you experience is inconsistencies between the print setting values that Cura presumes that the 3D printer utilizes and the actual values that the 3D printer uses.

While the values you have configured in Cura should be what the 3D printer uses in an ideal scenario, firmware and hardware limits can cause disparities as the commands presented in the G-code file cannot override such boundaries.

Happy printing!