Manual temperature calibration

Updated 4 months ago ​by Tomáš Chvalina

Manual temperature calibration procedure:

  1. Disable temperature calibration by M861 Z gcode. This will store zero offsets to EEPROM for all PINDA probe temperatures in 35 - 60 °C range. You can check with M861 ? which values are currently stored in EEPROM.
  2. Prepare a gcode file with a nice big first layer for PLA. Add the M860 Sx Gcode (wait for PINDA probe temperature) into this file's start sequence.
  3. Create multiple of these files with different x values/PINDA target temperatures (35, 40, 45, 50, 55, 60). For x above 45 you will need to raise bed target temperature (M140 and M190gcodes).
  4. Print gcode files. Adjust live Z for each file to achieve the perfect first layer each time. Note down each live Z value for each PINDA temperature.
  5. Calculate the ustep values for each temperature T (40, 45, 50, 55, 60). Calculation for live adjust values in milimeters: usteps(T) = (live_adjust(35) - live_adjust(T)) * 400
  6. Store calculated offsets to EEPROM using M861 Sxxx Iyyy (set compensation ustep value S for compensation table index I). You can check with M861 ? which values are currently stored in EEPROM.
  7. Enable temp calibration in menu settings.

Recommended manual temperature calibration gcode file start sequence:

G0 Z50 ; raise Z to not heat PINDA before bed is warm
M104 S215 ; set extruder temp
M140 S60 ; set bed temp
M190 S60 ; wait for bed temp
M109 S215 ; wait for extruder temp
G0 X50 Y50 Z0.15 ; this is a good PINDA heating position
M860 S35 ; the new code - wait until PINDA is >= 35C
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling


How did we do?