3.7. About PINDA warmup

Before spending any time reading this page, be aware of the following:

  • The PINDA warmup procedure applies to the PINDA v2.0 probe Prusa used on the original i3 Mk3 printer as released in late 2017.

  • Later versions of the probe include temperature compensation features that eliminate the need for using this procedure. 1

  • In 2021, Prusa released the SuperPINDA that is not affected by temperature changes. Prusa has not made changes to the implementation of the M860 gcode command, so using it on a printer with a SuperPINDA mounted will just hang the printer.

  • Recent firmware releases include a temperature calibration routine (see Calibration->Temp calibration in the printer menu) that is supposed to accomplish the calibration described in the wiki article. My understanding is that this option uses the G76 gcode command to invoke the calibration routine.

I’m still including the PINDA warmup routine in my startup gcode for consistency, but it is probably not necessary if you have completed this calibration step. However, this procedure can still be useful to introduce a delay at the start of a print to warm the entire printer up which can help improve results.

You can read about the theory behind the PINDA warmup routine on the Manual Print-Based PINDA Temperature Calibration wiki pages. In short, the PINDA is most accurate if mesh bed leveling is performed at a consistent temperature. 35C is recommended.


These notes are based on my experiences with the Prusa i3 Mk3 and Artillery/Evnovo Sidewinder X1 printers. If you are using a different printer, please verify the hardware details are similar.

I’ve elected to do the warmup in startup gcode to avoid having to re-flash values with every firmware update. I’ve had excellent results using this method, although it does significantly slow down the first print of the day when the PINDA is cold. Unfortunately, the Prusa firmware won’t display custom status messages (M117), so no visible indicator is shown. The printer will appear idle while the PINDA probe is being warmed. You can monitor the PINDA temperature progress by pressing the front knob and selecting Settings->Temperature.

When the printer receives the M860 command, it checks if both heatbed and nozzle heaters are off. If so, it treats the M860 command as an instruction to wait for the PINDA to cool down, and will wait until the PINDA temperature is at or below the specified value. Otherwise, it treats this command as instruction to wait for the PINDA to warm up, and will wait until the PINDA temperature is at or above the specified value. Technically, we really should wait for the PINDA to warm up or cool down to 35C, but I find that this setting is close enough for my purposes without slowing things down further.


There is a lot of confusion about PINDA numbering. I’ve based these version numbers on the info in the Prusa knowledgebase and aprocryphal information here.

Contact and feedback

You can find me on the Prusa support forums or Reddit where I lurk in many of the 3D printing-related subreddits. I occasionally drop into the Official Prusa 3D discord server where I can be reached as bobstro (bobstro#9830). You can email me directly at projects@ttlexceeded.com.

Last edited on Sep 22, 2021. Last build on Apr 22, 2022.