Since I have lots of PETG, I ran tuning to 230 °C (average temp for my filaments). What is it good for, in terms of temperature ranges?

For the same printer configuration, and just different filaments, will I need to run it again and again? Let's assume that I'll be printing between 200 °C and 240 °C.

marlin pid via octoprint


2 Answers 2


PID tuning can be performed multiple times and the results saved for future use, since the question is about "what are the usable ranges for PID tuning", based on my experience

  1. a slightly suboptimal tuning will not make the temperature oscillate more than 2-3 degrees, which is more than enough for most traditional filaments
  2. if you have a 30-40 °C temperature range you can likely keep a tuning in the middle and be done with it
  3. an accurate tuning is needed if you run the hot end at its maximum rated temperature: mine was rated 250 °C and without a good PID tuning the temperature was overshooting by 2-3 degrees, which was enough to trigger a over-temperature safety shutdown. Using the printer at 245 °C would have resulted in no issues even with sub-optimal PID tuning.

Of course, people with high temperature hot ends (up to 270-300 °C or more) will need a tuning for the usual range (200-240 °C) and one for the higher temperature range to obtain better prints.

  • $\begingroup$ This is exactly what I was looking to find out. Thanks for saving me a lot of trials and errors. I want to configure this printer to be as generic/basic as possible, for usability and reliability reasons. $\endgroup$
    – bigpow
    Commented Feb 8, 2021 at 23:31

It's not a straight answer, but you don't have to run PID tuning every time you decide to print with different temperature. (Until you change something in a hardware near or related to the hotend.)

You can tune PID for different temperatures and grab necessary values, for example:

M303 C16 D1 E0 S190
22:14:31.872 > PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
22:14:31.886 > #define DEFAULT_Kp 30.87
22:14:31.886 > #define DEFAULT_Ki 3.06
22:14:31.886 > #define DEFAULT_Kd 77.75

and then store respective G-code commands (like M301 P30.87 I3.06 D77.75) as few different "PID profiles" as new entries in custom menu for Marlin or menu.cfg for Klipper for quick switching.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .