This article is also available in following languages:
The following procedure is extracted from our Github.
Manual temperature calibration procedure:
Disable temperature calibration by the M861 Z gcode. This will store zero offsets to EEPROM for all PINDA sensor temperatures in 35 - 60 °C range. You can check with M861 ? which values are currently stored in EEPROM.
Prepare a gcode file with a nice big first layer for PLA. Add the M860 Sx Gcode (wait for PINDA sensor temperature) into this file's start sequence.
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).
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.
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
Store calculated offsets to EEPROM using M861 Sxxx Iyyy (set compensation step-value S for compensation table index I). You can check with "M861 ?" which values are currently stored in EEPROM.
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
Was this article helpful?
Still have questions?
If you have a question about something that isn't covered here, check out our additional resources. And if that doesn't do the trick, you can send an inquiry to [email protected] or through the button below.