About PINDA warmup

The PINDA warmup procedure applies to the PINDA v1 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. 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 strtup 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.

See also

Last updated 20210110

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).