Skip to content

Releases: prusa3d/Prusa-Firmware

3.1.1 firmware for Prusa i3 MK3

23 Feb 17:57
a587672
Compare
Choose a tag to compare

3.1.1 firmware for Prusa i3 MK3

Summary:

  • Filament sensor reliability improvements
  • Print reliability improved
  • More detailed fail stats
  • Fan error pauses print
  • Long pause/print fan error improved

Release notes for previous firmware version can be found here:
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.1-RC5

Summary of previous releases can be found here:
https://www.prusa3d.com/drivers/

Detailed description of changes:

Filament sensor reliability improvements

Filament sensor function was optimized, which leads to lower number of false detections.

Print reliability improved

Extruder resolution has been changed to 32 microsteps and stepper routine timing has been optimized.
This ensures that stepper movements are fluent even with high feedrates and printing over serial is reliable. Lower microstep resolution has no negative effect on print quality.
Linear advance feature is still disabled in current firmware version.
Users who saved parameters on previous firmware versions to EEPROM using M500 or by running PID calibration are informed on printer startup that default setting were loaded. This ensures that correct microstep resolution and extruder steps/mm will be used. If "Old settings found. Default PID, Esteps etc. will be set." message occurs on printer starup, it is recommended to re-run PID calibration or redo custom changes which were stored by M500 on previous firmware versions.

More detailed fail stats

In previous firmware versions, there was just one fail stats menu which contained statistics about power failures, filament runouts and detected crashes. We have split these statistics into "Last print" and "Total" menus.
We have also split detected crashes and now we have separate statistics for X and Y axis.

Fan error pauses print

If fan error occures when printing over serial line using Octoprint, print is paused using action commands (http://docs.octoprint.org/en/master/features/action_commands.html). This should be helpful in cases that fan is blocked by some obstacle and user can remove the obstacle and continue printing. In previous firmware versions connection between printer and Octoprint were lost during fan error and it was not possible to continue printing.

Long pause/print fan error improved

If long pause or print fan error occured during rehoming (for example during crash detection), there was wrong Z coordinate used when resuming paused print (or SD card print paused by fan error). This has been fixed and in current firmware version pause print is postponed until rehoming is finished.

Other

  • Menu options aligned with encoder clicks/positions
  • Invalid unknown gcodes reported on serial
  • Preheat temperatures updated
  • Added temperature calibration warnings which inform user about all necessary conditions
  • Firmware version check fix
  • M600 unload current lowered to avoid damage of filament sensor

3.1.1-RC5 firmware for Prusa i3 MK3

17 Jan 21:13
c45098d
Compare
Choose a tag to compare
Pre-release

3.1.1-RC5 firmware for Prusa i3 MK3

Summary:

  • Print reliability improved
  • Test for swapped fans extended
  • Firmware version messages shown on printer startup
  • Bed temperature runaway
  • Fail stats fixed
  • Mode switching during print fixed
  • Crash detection message added
  • Improved displaying of status messages
  • Filament change updated
  • Serial communication improved
  • Load filament beep
  • Wizard fixes
  • Modified unload filament sequence

Summary of previous releases can be found here:
https://www.prusa3d.com/drivers/

Detailed description of changes:

Print reliability improved

In previous firmware versions there were timing issues in some cases when CPU load was too high. This led to communication errors during USB prints (checksum mismatches, missing characters) and random motor kicks (layer shifts). Reason of high CPU load was linear advance feature and that's why this feature was temporarily removed and we are currently working on better solution.

Another improvement for print reliability is implementation of safe hard limits (jerk, feedrate, acceleration) which are different for normal and stealth mode and ensures that mechanical printer limits will never be exceeded.

hardlimit values for XY in "normal" mode:
jerk: 10 [mm/s]
feedrate: 200 [mm/s]
acceleration: 2500 [mm/s^2]

hardlimit values for XY in "stealth" mode:
jerk: 10 [mm/s]
feedrate: 172 [mm/s]
acceleration: 960 [mm/s^2]

Test for swapped fans extended

Selftest contains automatic test for detection if fans are swapped. In this test fan rotational speed is measured. Each fan has different rotational speed so it is possible detect swapped fans. However in some cases there were false swapped fans detections caused by variability in fan parameters. In current firmware version if automatic test detects swapped fans, there is another step where user checks which fan is actually enabled.

Fail stats fixed

Filament fails counter has been fixed.

Filament change updated (M600)

Filament change procedure (which is used in case that filament sensor detects end of filament) waits for user before unload starts. In current firmware version there is 10 minutes timeout. After this timeout hotend target temperature is set to zero. This prevents degradation of material in hot nozzle. M600 procedure was generally slightly updated to provide better guidance for user.

Serial communication improved

When printer was in blocking state (for example waiting for user interaction) and couldn't respond on serial line, Rx buffer became full which leaded later to undesired behavior. This occured typiccaly with Pronterface which sends requests for printer temperatures (M105) frequently. This has been fixed.

Wizard fixes

When running Wizard with erased eeprom memory some undesired behavior was observed (stealth mode was used during calibrations).
Also when running first layer calibration from wizard, there was case where live adjust Z value was not saved. These issues has been fixed.

Mode switching during print fixed

When switching from normal mode with crash detection enabled to stealth mode, there is message that informs user that in stealth mode, crash detection is disabled. This message paused print. In current firmware release, showing this message in non-blocking and has no influence on printing.

3.1.0 firmware for Prusa i3 MK2/S/MMU

12 Nov 10:25
ba4cc16
Compare
Choose a tag to compare

3.1.0 firmware for Prusa i3 MK2/S/MMU

Summary:

  • Linear Advance
  • Wizard
  • Host keep alive messages
  • Sorting files in SD card menu
  • Check if file is complete
  • First layer calibration
  • Auto power mode
  • XYZ calibration details menu fixed
  • PID calibration safety check
  • M220: Speed factor
  • Saving E steps per mm to EEPROM fixed
  • Improved "Print from SD" menu

Detailed description of features can be found here:
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.0-RC1
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.0-RC2

Description of changes with respect to RC2:

Check if file is complete

In previous firmware version, there was bug which caused that some complete files were wrongly reported as incomplete by the printer. This was happening with files sliced in S3D, because of slightly different end g-code. This issue has been fixed.

Sorting files in SD card menu

In previous firmware version, files order in SD card menu reverted to unsorted when print was finished. This has been fixed,

PID calibration safety check

At the beginning of PID calibration heating is turned on and nozzle (or heatbed) temperature is rising.
For improved safety, we are now checking if measured temperature rises as fast as expected during this initial phase. In case that there is for example faulty/disconnected thermistor, measured temperature doesn't rise and PID calibration is then terminated, heating is turned off and thermal runaway error message is shown on LCD and serial.

Other changes:

  • language corrections

3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU

30 Oct 10:03
32ee171
Compare
Choose a tag to compare

3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU

Description of changes with respect to RC1:

Linear advance

Using linear advance with colorprint (M600) didn't work correctly. It was possible to reach state where printer stopped working and also temperature regulation didn't work. This is critical issue which can damage printer.
More information about this issue can be found here: #245. This has been fixed. For users who are currently using 3.1.0 - RC1 it is highly recommended to upgrade to current firmware version.

We currently recommend following settings for printing with linear advance (for 100 mm/s):

  • PLA: M900 K30
  • ABS: M900 K30
  • PET: M900 K45
  • Multi material printer: M900 K200 for all materials

These settings are quite conservative and for some objects better results can be obtained with slightly higher K values.

Wizard

Fixed loading filament in multi material version. Translation to all supported messages was added.

SD card menu sorting

Sorting files in SD card menu was overally improved. Sorting in subfolders now works. Maximum number of files which can be sorted is currently limited to 100 in one folder. Also SD card can be now pulled out from the printer during sorting process.

Check if file is complete

If file is not complete, user is informed by warning message about it and he can decide if he will continue printing anyway. If user choosed not to print incomplete file, there was bug which caused, that printer executed some movements. This has been fixed.

For this check we search for M84 (disable steppers) in last 10 000 bytes of gcode file. This works well with our print settings. If you don't use our print settings, please add M84 to end section of your gcode.

"Slow printer" issue fixed

More information about this issue can be found here: #226

Other

  • M20 (list SD card) and M110 (set line number) fixed
  • Host keepalive messages furthermore improved

3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU

05 Oct 11:21
Compare
Choose a tag to compare

3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU

Summary:

  • Linear Advance
  • Wizard
  • Host keep alive messages
  • SD card menu sorting
  • Check if file is complete
  • First layer calibration
  • Auto power mode
  • XYZ calibration details menu fixed
  • M220: Speed factor

Detailed description:

Linear advance

This feature has been ported from Marlin firmware by @Sebastianv650. Thank you for your kind help Sebastian.

Without linear advance, extruder motor moves in linear proportion to all the other motors. This simple approach does not take in the account that extruder is not linear system. This leads to extruding more material then desired at the end of each linear movement. Linear advance on the other hand takes nonlinearity into account and maintains correct pressure in nozzle during movements.

Advantages:

  • Better dimensional precision due to reduced bleeding edges.
  • Higher printing speeds are possible without any loss of print quality.
  • Visible and tangible print quality is increased even at lower printing speeds.
  • No longer need high acceleration and jerk values to get sharp edges.

On next figure, there is difference between print without linear advance on the left and with linear advance on the right:

linear advance

For more information about Linear Advance please click here.

For printing with linear advance, we recommend start with following settings:

  • PLA: 100 mm/s; M900 K25
  • ABS: 100mm/s; M900 K35
  • PET: 100mm/s; M900 K45

We are still testing/developing linear advance settings for different materials and printing conditions.

Wizard

In order to make calibration process easier and more user friendly, there is now Wizard which guides user thru whole calibration process. Wizard is automaticaly invoked on printer setup in case that printer was not calibrated yet. It is also possible to run Wizard from menu Calibration -> Wizard. This option deletes all current calibration results and recalibrate printer using Wizard.

Host keep alive messages

Using our printer with host software devices (such as Octoprint) could led to communication timeout in some cases. Typical example is colorprint procedure. In this procedure, printer unloads current filament and waits for user to insert new filament. During waiting, serial communication was blocked. Printer did not send any messages to host nor replied to host requests. External host intepreted this state as lost communication and disconnected itself, which ruined print when printing over serial.
This has been fixed in current firmware version. If printer is in state when it can't reply to host requests, it send periodicaly messages on serial line. There are two types of messages:
echo:busy: processing
echo:busy: paused for user

First message is used typicaly when some long running blocking procedure such as M45 gcode (xyz calibration) is running. Second message is used in case that printer wait for user interaction (pressing the knob, choosing some option from menu etc.).

These messages ensures that host does not disconnect itself and also informs user what is currently happening. Messages are send periodically every 2 seconds.

SD card menu sorting

Items order in "Print from SD" menu were undefined in previous firmware version. File which was added most recently was usually shown as first item in menu. However this was not guaranteed. Deleting some files from SD card and then adding new file to the SD card could cause that this new file was not first item in menu and it was difficult to find it.
There is now possibility to sort items in "Print from SD" menu by time or aphabetically. Folders are shown on the top of SD card menu and then other files follow.
If user chooses sorting by time, items order is determined by time when files were added to SD card. Files which were added most recently to SD card are shown on top of menu.
Maximum number of items which can be sorted is 100. If there are more items, some of them will remain unsorted.
Switching between sorting by time and alphabetical sorting can be done in menu Settings -> Sort: [Type].
There is also option to turn off sorting.

Check if file is complete

Removing SD card from computer prematurely during write process leads to incomplete gcode files. There were no detection if file is complete in previous firmware versions. If user attempted to print incomplete file, print started normally and it was not possible to recognize that file is not complete and will fail.
In current firmware version when choosing file to print, printer first checks if file is complete. In case that printer detects incomplete file, user is informed by warning message.

First layer calibration

First layer calibration serves for setting correct distance between the nozzle and heatbed. In previous firmware versions, this calibration was not present in printer itself and printing V2_calibration.gcode file from SD card was used for this purpose. In current firmware version, this calibration can be run from menu Calibration -> First layer cal. Only version for PLA filament is present.
In first part of calibration, meander is printed (same as in V2 calibration) and user can adjust distance between nozzle and heatbed to correct value. One layer small rectangular object is then printed. This provides additional information to decide if first layer is set correctly or not.

Auto power mode

This is new mode for setting stepper currents which lies between silent mode and high power mode. In auto power mode, stepper currents depends on Z coordinate. They are low when Z coordinate is low and progressively enlarges during print with rising Z coordinate (when Z coordinate is higher, there is higher risk of layer shift/skipped steps, because of higher printed object mass).

XYZ calibration details menu fixed

If physical skew was lower than 0.12°, measured skew value shown in Support -> XYZ cal. details menu was 0. This is because printer does no skew compensation for very low skew (<0.12°) where measuring resolution is low and value shown in XYZ cal. details corresponded to that fact.
In current firmware version measured skew value is shown even for very low skew to provide more information about physical skew to user. Rerunning xyz calibration after uploading this new firmware version is needed to see measured skew.

M220: Speed factor

There is now possibility to save and restore speed factor using following gcodes:
M220 Sxxx sets speed factor
M220 Sxxx B sets speed factor and backups current speed factor
M220 R restore saved speed factor

Other

  • Improved "Print from SD" menu behavior when working with long filenames (better readability)
  • Saving E steps per mm to EEPROM fixed (issue #144)
  • If printer waits for user to press the knob, check mark is shown in lower right display corner as shown on next figure:

check mark

3.0.12 firmware for Prusa i3 MK2

11 Jul 15:07
Compare
Choose a tag to compare

3.0.12 firmware for Prusa i3 MK2

Summary:

  • Multi material support
  • Selftest fixed
  • MK1 Support
  • XYZ calibration improved
  • XYZ calibration details menu

Detailed descriptions of features can be found here:
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.0.12_RC2
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.0.12-RC1

Description of changes with respect to 3.0.12-RC2:

Multi material colorprint:

There was bug which caused that in some cases beeper was active during filament slow loading phase. This has been fixed.

Extruder axis steps per unit excluded from M500:

M500 is gcode which serves for saving currently set parameters to EEPROM. If M500 is called, printer saves parameters such as max. feedrate, PID etc. to EEPROM and from this time saved parameters are used instead of default parameters.
M500 saves also axis steps per unit. For single material printer and multi material printer, different axis steps per unit values for extruder are needed. Using M500 (for example running PID tuning) with single material printer and then upgrading to multi material leads to faulty extruder behavior. Thus axis steps per unit for extruder were excluded from M500.
EEPROM version was not changed to achieve this, thus flashing 3.0.12 has no influence on other stored parameters such as PID calibration results.

Support menu translated to all supported languages

3.0.12-RC2 firmware for Prusa i3 MK2

23 Jun 11:37
Compare
Choose a tag to compare
Pre-release

3.0.12-RC2 firmware for Prusa i3 MK2

Description of changes with respect to 3.0.12-RC1:

Selftest fixed:

Selftest Heater/thermistor test was failing on some printers which worked correctly (issue #116). This was caused by combination of short selftest heating period and strict selftest limits. Heating period in selftest has been prolonged in current firmware version to ensure that there is enough margin to safely distinguish between workable and faulty printers.
Selftest has been furthermore improved to avoid "Static memory has been overwriten" error message in case of endstop selftest fail.

Multi material stop print:

In 3.0.12-RC1 all filaments were unloaded in the end of multi material stop print sequence. If the print was stopped, cutting filament ends and loading filaments back is the safest way how to ensure that new print will be successfull. However it is not always necessary to unload all filaments, especially if user decides to stop print right at the beginninig or if user uses just one or two extruders during the print.
In this firmware version, in the end of stop print user is asked if he wants to unload all four filaments, all filaments which has been used during current print or just filament in currently active extruder.

Multi material - choosing extruder:

There is new gcode "T?" which (if used in gcode start sequence) envokes menu for choosing which extruder will be used for print. This is useful when printing single material prints with multi material printer.

XYZ calibration:

In 3.0.11 first part of xyz calibration was slightly modified to avoid aborting calibration process with "consult the manual" message as much as possible. However there was bug which caused that in some cases (new printer or erased EEPROM) improvement was very little. This has been fixed in current firmware version.
In current firmware version if XYZ calibration process fails during first part (searching for first four points) and front point is not reachable by PINDA probe, calibration process is terminated. User is then informed by message on LCD, that front points are out of reach instead of showing just less informative "consult the manual" message as in previous firmware versions.
For debugging purposes, there is also possible to show details from xyz calibration in menu Support -> XYZ cal. details. XYZ cal. details menu should help to determin if the printer is very close to some boundary.
On the first screen, there are distances between measured calibration points and minimum allowed calibration points positions for all three points which are in front row. Positive number means that PINDA probe can reach calibration points in front row. Negative number is means that point couldn't be reached by PINDA probe and calibration may be compromised.
On the first row of second screen there is measured parameter which determines how much are axis skewed. Below that there are values which determine boundary between perpendicular and mild skew and between mild and severe skew.

MK1 support:

New configuration files and precompiled hex files were added to make current firmware version compatible with MK1 printers.

Unload filament:

In previous firmware version, there was little extrusion added to the beginning of single material unload filament sequence, which should ease filament unloading. However it turned out problamatic with some filaments. That is why in 3.0.12 there is just fast unload with no extrusion or ramming.

3.0.12-RC1 firmware for Prusa i3 MK2 Multi Material Upgrade

23 May 08:13
Compare
Choose a tag to compare

3.0.12-RC1 firmware for Prusa i3 MK2 Multi Material Upgrade

This is initial version of firmware for Multi Material Upgrade. Firmware contains all features from 3.0.11 firmware which are described in details here: https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.0.11.

Description of features specific for Multi Material Upgrade:

Currently active extruder displayed on status screen

Loading and unloading filaments:

When user chooses "Load filament" from printer main menu, list of extruders will appear. After selecting desired extruder and confirming with the knob, extruder motor starts to turn very slowly and user is asked to insert filament. This slow extruder movement helps with filament insertion. When extruder motor pulley just grabs the inserted filament tip (it is good practise to check it with pulling out), user confirms with pressing the knob and filament is then automatically loaded to initial print position.
There is no need to preheat the nozzle before filament loading. In initial position, filament tips are in cooling tubes. Loading filament to nozzle is part of print itself.

Unloading filament starts with choosing desired filament and confirming with pressing the knob. Nozzle must be preheated in this case. In case that nozzle is close to heatbed, it is moved higher in Z axis to make some space for extrusion which serves for reshaping filament tip. Filament is then unloaded.

In both load and unload filament menus, user can also choose to load/unload all filaments. This will happen sequentially starting with extruder E1.

Change extruder:

This option serves for changing active extruder from menu. This can be useful for example when user wants to adjust filament position from "Move axis" menu or for choosing filament when printing single material prints.

Stop print:

In case that multimaterial print must be stopped, the best option is to unload all filaments, cut filament ends and load filaments back. Therefore stop print for multi material contains unloading all filaments.

Change filament (ColorPrint):

This feature serves for changing filament in currently active extruder during print. It is very similar to its standard "single material" equivalent. When activated, print head moves to change filament position first and filament is fully unloaded. User is then asked to prepare new filament for insertion. Extruder motor is still and acoustic signalization is active to draw users attension. After pressing the knob, standard load filament procedure (which is described above) takes place. Only difference is that filament is loaded directly into the nozzle and some filament is extruded to clean the nozzle from previous filament remains. Then confirmation dialogue appears and user can proceed with print resume or repeat whole filament load procedure (if something went wrong) or extrude more filament to clean the nozzle futhermore.

Bowden lengths menu:

Bowden lengths stored in firmware correspond to physical bowden lengths. This is important for loading filament to correct initial position and thus error free start print. In some special cases, it can happen that user needs to change or trim bowden. For this cases, there is menu which serves for adjusting bowden lengths stored in firmware. This menu can be entered from factory reset menu.

3.0.11 firmware for Prusa i3 MK2

19 May 17:54
Compare
Choose a tag to compare

3.0.11 firmware for Prusa i3 MK2

This is final version of 3.0.11 firmware. This version fixes issues in previous version 3.0.11-RC1. For detailed desription of all features see also: https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.0.11-RC1

Summary:

  • Move Z shortcut
  • Improved pause print
  • PID calibration menu
  • PID values for bed saving
  • Receiving commands via serial improved
  • Temperature calibration
  • Improved xyz calibration
  • Encoder clicks and PT100
  • Selftest bug fixed
  • Heatbed preheat error
  • Corrected German language messages

Description of changes with respect to 3.0.11-RC1:

Temperature calibration:

Storing temperature calibration status:

Information that temperature calibration has been successfully run is stored into calibration status,
In previous firmware version, running V2 calibration or xyz calibration after temp. calibration led to overwriting this calibration status. Temperature calibration data were then not applied and user was asked to run temperature calibration again. This is related to issue #95.
Temperature calibration status is now independent and other calibrations do not affect it.

PINDA probe preheat:

With temperature calibration activated, there is two minutes PINDA probe preheat phase at the beginning of the print. This preheat phase was missing when user was not printing from SD card (issue #90) This has been fixed.

Sending temperature information:

During temperature calibration, information about current hotend and heatbed temperatures is now send via serial. This is important when running temp. calibration from Octoprint.

Corrected messages:

Messages in German language have been overally corrected. There have been done also minor changes in Italian language (bed level correction menu).

Stop print improved:

Stopping print right at the end of heatbed/nozzle preheat phase at the beginning of print could led to crashing nozzle into heatbed. This has been fixed.

3.0.11-RC1 firmware for Prusa i3 MK2

05 May 00:16
Compare
Choose a tag to compare
Pre-release

3.0.11-RC1 firmware for Prusa i3 MK2

Summary:

  • Move Z shortcut
  • Improved pause print
  • PID calibration menu
  • PID values for bed saving
  • Receiving commands via serial improved
  • Temperature calibration
  • Improved xyz calibration
  • Encoder clicks and PT100
  • Selftest bug fixed
  • Heatbed preheat error

Detailed description of changes:

Move Z shortcut:

Move Z axis menu can be now invoked by pressing button for at least one second. When entering move Z axis menu by long press, current menu and current cursor position are saved. After adjusting Z coordinate and confirming with short button press, previously active menu and cursor position are restored.

Improved pause print:

Pause print procedure is now suitable for long pauses. New pause print procedure contains seting nozzle target temperature to zero, moving extruder to pause print position and turning off print fan. When nozzle cools down nozzle fan is also turned off and printer remains silent during pause. Heatbed remains heated during pause print to maintain good attachement between printed object and heatbed.
In pause position heatbed with printed object is moved foward to make printed object accessible.
When print is resumed, previous print settings (fan speed and feemultiply, nozzle target temperature) are restored. Time when the printer is paused is not counted to print time statistics.
For remote control with host software devices, it is possible to pause and resume print with dedicated gcodes:

  • M601 - pause print
  • M602 - resume print

PID calibration menu:

It is now possible to run extruder PID tuning directly from calibration menu. When running PID tuning from calibration menu, user can set temperature for which PID tuning will be run. For maximum simplicity, number of PID tuning cycles is set to five and is not adjustable. When running PID calibration from menu, results are automatically applied and saved to EEPROM.

PID values for bed saving:

Storing PID values to EEPROM was not implemented in previous firmware versions. This has been fixed and it is possible to run PID calibration and store the results to EEPROM using following gcodes:

  1. Run PID tuning: M303 E-1 S<temperature> C<cycles>
  2. Set Kp, Ki, and Kd: M304 P<Kp> I<Ki> D<Kd>
  3. Store settings to eeprom: M500

Recieving commands via serial improved

During execution of long running gcode, new commands received over serial are buffered. If buffer became full, execution of buffered commands could lead to undesirable behavior. Typical example was running PID calibration with Octoprint which periodicaly sends temperature enquiry. This has been fixed.

Temperature calibration:

PINDA probe detection distance increases with temperature. This leads to need of adjusting live adjust Z values often, expecially when printing with different materials. Main contributor to PINDA temperature shift is heat received from heatbed. New temperature calibration was implemented to decrease this temperature dependency.

To use this new feature it is necessary to run temperature calibration first. This can be done in menu Calibration -> Temp. calibration -> Calibrate. It is also possible to use G76 gcode.
Temperature calibration consist of preheating PINDA probe near the heatbed surface for different heatbed temperatures and measuring how its detection distance changes. Measured detection distance shifts are saved to EEPROM.

When new print is started, PINDA probe is preheated for two minutes near the heatbed again to achieve defined temperature. Then mesh bed leveling is run and Z axis shift counted from temperature calibration data is applied. Then live adjust Z is applied.

User can decide if he will use this new feature. It is possible to turn it on and off in Temp. calibration menu.

Improved xyz calibration:

First part of xyz calibration was slightly modified to avoid aborting calibration process with "consult the manual" message as much as possible. If the error after the first calibration phase (seraching first four points) is too high, another iteration is run. Maximum number of iterations is three. If xyz calibration fails to find first four points accurately enough in three iterations, process is aborted.
Upgrading firmware has no influence on xyz calibration results (no need to recalibrate printer when upgrading to new firmware version).

Encoder clics and PT100 temperature sensor usage:

Encoder steps for the LCD were updated to correspond to encoder physical clicks. Defines and temp table for E3D's PT100 sensor added. For more information see #31

Selftest bug fixed:

In case that nozzle thermistor was not connected properly or returned ivalid data, this error was not detected by selftest and was detected only by thermal runaway or preheat error. This has been fixed.

Heatbed preheat error:

Preheat error for heatbed was implemented. This can detect disconnected/faulty heatbed or heatbed thermistor in preheat phase.

Other changes:

  • Fixed message at the beginning on xyz calibration
  • Stop print disabled during mesh bed leveling
  • Extrusion before unload filament added to reshape end of the filament and simplify filament unload
  • Load filament modified to be faster