Skip to content

Releases: prusa3d/Prusa-Firmware

FW3.13.3 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

05 Mar 14:04
ba6e103
Compare
Choose a tag to compare

Summary

  • Fixed Ghost layer shifts
  • Improved XYZ calibration
  • Prevents false positive “File incomplete. Continue Anyway?” messages.

This is the stable release of firmware version 3.13.3, with a primary focus on fixing the ghost layer shifts found in the previous firmware release.

We would like to apologize that it took so long to find the issue/bug and fix it.

Please, read the change log v3.13.2...v3.13.3 and Milestone FW 3.13.3

This firmware version only works correctly with MMU2S/MMU3 firmware version 3.0.2! It is necessary to update the firmware in the MMU2S/MMU3!

Fixed Ghost layer shifts

Short summary: In firmware version 3.13.2, the XY axis currents were incorrectly configured and they were not switched to running currents after homing. This is now fixed.

Detailed overview:
We received several reports on Ghost layer shifts from the community, but we couldn’t reproduce these issues on any of our internal 3D printers.

Eventually, we found a printer on which we could reproduce this issue. However, it wasn’t consistent. Sometimes, the printer worked just fine and the Ghost layer shifts appeared randomly. This is why the fix took longer to prepare. We had to analyze the issue from multiple perspectives and kept testing various approaches. Although we received a number of reports from the community, we couldn’t find a single common denominator. For example, some reports claimed that the only stable firmware was as far as 3.11.0, while others claimed that the system is still stable on FW 3.13.1, etc. Moreover, most final releases contain hundreds of changes/commits which makes it even harder to find the needle in the haystack.

Eventually, we found out that we needed to focus on FW 3.13.2 because with FW 3.13.1 we have not seen this happening. The changes between FW 3.13.1 and FW 3.13.2 still have 227 commits and 114 change files but compared to FW 3.11.0 → FW 3.13.2 with 2125 commits and changed 805 files, this was an “easy” task to find the cause.

Homing needs lower currents to reliably find the home positions.
The lower currents on the XY axis caused Ghost layer shifts in some printers. These currents are necessary for precise homing, therefore, they need to be switched to regular currents for proper operation. We have identified and fixed the cause in this release.

Improved XYZ calibration

After the 4th point of XYZ calibration of the bed, the X gantry raises up and waits for user interaction to place the sheet back on the bed to continue with the MBL. When there was something under the sheet or nozzle, the previous versions have pushed the nozzle into the sheet or bed.

Now the printer firmware moves the Z axis less aggressively downwards and checks if the PINDA triggers. It also detects obstacles on the bed and displays an error before starting to search the MBL points.
When the sheet is empty, there is no substantial debris on the nozzle and the PINDA is working correctly, the nozzle shouldn’t be pushed into the sheet anymore.

False positive “File incomplete. Continue Anyway?” messages prevented.

Newer PrusaSlicer versions create larger G-code files than previous versions. This exceeds the limits of the Prusa 8-bit firmware checking for M84. We increased the value from 20000 to 30720 so even large G-code files shouldn’t cause false trigger.

3.13.2 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

26 Oct 17:56
7aff0db
Compare
Choose a tag to compare

Attention: Following community feedback, we have identified potential issues during printing with this firmware release 3.13.2 (mostly layer shifts). As a precaution, we have removed the firmware files. A new firmware version, addressing this bug, is currently undergoing testing. If you experience print issues, please downgrade to the previous release 3.13.1.

Summary

  • Power Panic improvements
  • MMU firmware improvements
  • Submitted by the Prusa community
  • User interface improvements
  • Other Improvements
  • Bug fixes

This is the stable release of firmware version 3.13.2, with a primary focus on Power Panic, Multi-material, and several other improvements. While most of the features and fixes mentioned below were already included in the 3.13.2-RC1 release, we recommend updating to this firmware version.

Power Panic improvements

The primary focus of this release is to improve the Power Panic behavior, especially after the introduction of the new MMU3 firmware and the error states reported on the LCD of the printer.

Multi-material prints tend to be very long, so any sort of power failure can put the quality of the print at stake.

Any function that needs user interaction will pause the printer and move the hotend away from the print itself. This action prevents the hotend from "scorching" the print and creating blobs. It also creates space to investigate the reported issue or perform the requested action. Previously, the positions were saved to RAM, but these were lost during a power failure or a reset of the printer. This means the printer would try to continue with the print, but at the wrong height and wrong position. This caused mid-air extrusions, the creation of blobs, and sometimes missing extrusions.

This issue has now been resolved. All values in RAM (volatile) are saved to EEPROM (permanent) during a power panic which ensures a better power panic recovery during the MMU prints.

Power Panic recovery was tested for:

  • Paused print ✔️
  • MMU Error codes ✔️
  • After a crash ✔️
  • Filament runout ✔️
  • Filament change ✔️

Note: Power panic works only with SD card prints!

MMU firmware improvements

Based on the feedback from the community, this release brings new features allowing you to adjust parameters like idler sensitivity or bowden length.

Added Tune menu for IDLER|SELECTOR CANNOT HOME

MMU2S users have reported that, despite careful hardware inspection, some units struggle to home the Idler reliably. Although MMU Firmware 3.0.0 has already offered an option to adjust the Idler's homing sensitivity by modifying the StallGuard threshold, some users have encountered difficulties changing this value.

Therefore, in case the MMU reports any of the “Idler and/or Selector cannot home” errors, there is a new option displayed on the screen called "Tune" which allows to set the threshold value in a user-friendly way. Please note that the allowed range of values has been limited to prevent users from accidentally setting extreme values.

Bowden length register added

With the MMU FW 3.0.1, it is possible to set a custom front PTFE tube length (default length: 360 mm). This has been implemented at the request of our community members who pointed out that there are various configurations for the filament setup and there's a need to set a longer PTFE tube length. We limited the length to 1000 mm since longer tubes might introduce additional issues - we strongly recommend keeping the tube shorter rather than at the maximum allowable length.

This new register can be used to tweak the fast loading and unloading distance in case of non-standard installations. The register is persistent in the MMU's EEPROM. Unlike the previous generation of FW 1.0.x, the register now reflects the actual real length of the tube, not including any additional distances to the pulley or drive gears.

Note: If you choose to increase the PTFE length for your custom setup, you must verify whether the unloaded filaments fit inside the provided buffer. If they do not, you will need to construct your own buffer with sufficient space.

MMU USB product string updated

In the new firmware version 3.0.0 or later, which now supports both MMU2S and MMU3, the USB product string has been updated to "Original Prusa MMU unit 🐑." This change does not impact any of the MMU's functions.

Submitted by the Prusa community

We have implemented several improvements submitted by the active users from the Prusa Community. Many thanks to everyone involved.

Enable/Disable FSensor using G-codes

This release brings support for enabling and disabling filament sensor (FSensor) using G-codes M405/M406 submitted by @Commod0re

Support for M118 G-code

The M118 G-code was submitted by @RoboMagus see here. The M118 G-code allows the sending of a message (Serial print) to hosts like OctoPrint and PrusaLink to trigger actions, etc. See the pull request for more information.

Improved G-code M914 & M915 control (stealth mode)

In addition to enabling M914 and 915 by default, these codes have been expanded to allow for more flexible control of the current printing mode via G-code (such as enabling crash detection selectively during portions of a print).

By default, changes issued are temporary (lost on printer reset), but by supplying the 'P' parameter, the change can be saved to EEPROM and made persistent. Alternatively, supplying the R parameter will revert any current temporary changes in favor of the saved value. Finally, the menu has been updated to provide visual feedback when a temporary override is in place via G-code
Tune_Mode_M915

User interface improvements

Jump to 200°C/50°C in Temperature menu

This release brings a new behavior when users manually set the temperature in the LCD Menu -> Settings -> Temperature menu. Previously, both nozzle (hotend) and heatbed temperatures started at 0 °C, and users had to rotate the knob clockwise to increase the temperature incrementally by 1 °C until the target temperature was reached.

However, since most filaments require printing temperatures above 200/50 °C (nozzle/heatbed), we have made an adjustment. Now, starting at 0 °C, a single clockwise rotation will increase the nozzle temperature to 200°C instead of just 1 °C. The same change applies to setting the heatbed temperature (0 °C to 50 °C). This modification allows users to reach their target temperature more quickly.

Similar behavior is applied to the print fan; when turning the knob clockwise from 0, the speed is set to 127, which corresponds to 50% of the RPM range.

If you prefer to revert to the original behavior, simply rotate the knob counterclockwise first, and then you can use it in the same way as before.

Language Update information shown in the first row

A minor change was introduced to avoid overwriting the version number during a language update.
FW3132_language_update

Other improvements

Simplified variant names

In the source code, we shortened the variant names to the minimum needed, as all Original Prusa MK2.5/S and MK3/S/+

  • use 1.75mm filament
  • use E3d v6 style hotends
  • All MK3/S/+ use the same controller board
  • Exceptions are
    • MK2.5/S may have a RAMbo10a or a RAMbo13a board which have different pinouts
    • 3rd party modification

Code optimization

We optimized the source code and freed up some space for future features.

Update development tools

The development/compiling tools cmake and PF-build.sh have been updated.
More information about the build is now shown in the LCD Support menu:
More_LCD_Support_information

Bug fixes

  • Fixed a false FINDA runout event at the start of an MMU print on MK3S printers #4332 (Kudos goes to @mmoraes80, @sruggier and @Braddg for helping us narrow down the problem and verify the fix)
  • Fixed an issue with Preheat heating for longer than intended #4338 (Kudos to @linzwatt for reporting the issue and to @sarusani for fixing it)
  • Fixed an issue where some users could not run first layer calibration because the LCD was stuck rendering the same fullscreen message repeatedly (Kudos to @sarusani for helping us test and fix this)
  • Fixed an issue where a print could be started while the printer is still loading or unloading filament, triggering a firmware crash. #3564
  • Previously in FW 3.13.2-RC1 reported FAN check issue has been fixed.

3.13.2-RC1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

12 Sep 10:05
024178b
Compare
Choose a tag to compare

Summary

  • Power Panic improvements
  • Submitted by the Prusa community
    • En-/disable Fil. sensor
    • Added M118 G-code (Octoprint/Prusalink)
  • Improved M914 & M915control for stealth mode
  • User interface improvements
    • Jump to 200°C/50°C in Temperature menu
    • Language Update information shown in the first row
  • MMU improvements
    • Added a Tune menu for IDLER|SELECTOR CANNOT HOME
    • Bowden length register added
    • MMU USB product string updated
  • Other features
    • Simplified variant names
    • Code optimization
    • Bug fixes
  • Known issue
    • Fan check

This is the first release candidate of firmware 3.13.2 focused on Power Panic and several other improvements.

Power Panic improvements

The main focus of this release is to improve the Power Panic behavior especially after we introduced the new MMU3 firmware and the Error states reported on the LCD of the printer.

Multi-material prints tend to be very long, so any sort of power failure can put the quality of the print at stake.

Any function that needs user interaction will pause the printer and move the hotend away from the print itself. This prevents the hotend from “scorching” the print and creating blobs. It also creates space to investigate the reported issue or perform the requested action. Previously, the positions were saved to the RAM, but these were lost during a power failure or a reset of the printer. This means the printer would try to continue with the print BUT at the wrong height and wrong position. This caused mid-air extrusions, the creation of blobs, and caused missing extrusions.

This has now been solved - All RAM values are saved to EEPROM during a power panic which ensures a better power panic recovery during MMU prints.

Power Panic recovery tested for:

  • Paused print ✔️
  • MMU Error codes ✔️
  • After a crash ✔️
  • Filament runout ✔️
  • Filament change ✔️

Power panic works only with SD card prints!

En-/disable Fil. sensor

En-/disable Fil. sensor with gcodes M405/M406 submitted by @Commod0re

Add M118 gcode

The M118 gcode was submitted by @RoboMagus see here. The M118 G-code allows the sending of a message (Serial print) to hosts like OctoPrint and PrusaLink to trigger actions, etc. See the pull request for more information.

Improved G-code M914 & M915 control for stealth mode

In addition to enabling M914 and 915 by default, these codes have been expanded to allow for more flexible control of the current printing mode via G-code (such as enabling crash detection selectively during portions of a print).

By default, changes issued are temporary (lost on printer reset), but by supplying the ‘P’ parameter, the change can be saved to EEPROM and made persistent. Alternatively, supplying the R parameter will revert any current temporary changes in favor of the saved value. Finally, the menu has been updated to provide visual feedback when a temporary override is in place via G-code
Tune_Mode_M915

Jump to 200°C/50°C in Temperature menu

We are introducing a new shortcut. With a single clockwise turn in the LCD Settings -> Temperature menu, the temperatures will jump to 200 °C (hotend) and 50 °C (heatbed). The part cooling fan will be set to 127 (or 50 %) when turning clockwise from 0.

If needed, you can revert to the original way by rotating the knob counter-clockwise first, then you can use it the same way as before.

Language Update information shown in the first row

A minor change was introduced to avoid overwriting the version number during a language update.
Update_language_FW3132RC1

Added Tune menu for IDLER|SELECTOR CANNOT HOME

MMU2S users reported that even after careful checking of their hardware, some units just cannot home the Idler reliably. Even though in the MMU FW 3.0.0 there has always been an option to tweak the Idler’s homing sensitivity (StallGuard threshold), some users had trouble with it.

Therefore, in case the MMU reports any of the Idler and/or Selector cannot home errors, there is a new option on the LCD called “Tune” which enables setting of the threshold value in a user-friendly way. Please note that the allowed range of values has been limited to prevent users from accidentally setting extreme values.

Bowden length register added

With the MMU FW 3.0.1, it is possible to set custom PTFE tube length. This has been implemented at the request of our community members who pointed out that there are various configurations for the filament setup and there’s a need to set a longer PTFE tube length. We limited the length to 1000 mm since longer tubes might introduce additional issues - we strongly recommend keeping the tube shorter rather than at the maximum allowable length.

This new register can be used to tweak the fast loading and unloading distance in case of non-standard installations. The register is persistent in the MMU’s EEPROM.
Unlike the previous generation of FW 1.0.x, the register now reflects the actual real length of the tube, not including any additional distances to the pulley or drive gears.

MMU USB product string updated

Since the new FW generation supports both MMU2S and MMU3, the USB product string has been changed to “Original Prusa MMU unit 🐑”. Please note that on some operating systems, this string is irrelevant and completely hidden from the user.

Other

Simplified variant names

In the source code, we shortened the variant names to the minimum needed, as all Original Prusa MK2.5/S and MK3/S/+

  • use 1.75mm filament
  • use E3d v6 style hotends
  • All MK3/S/+ use the same controller board
  • Exceptions are
    • MK2.5/S may have a RAMbo10a or a RAMbo13a board which have different pinouts
    • 3rd party modification

Code optimization

We optimized the source code and freed up some space for future features.

Bug fixes

  • Fixed a false FINDA runout event at the start of an MMU print on MK3S printers #4332 (Kudos goes to @mmoraes80, @sruggier and @Braddg for helping us narrow down the problem and verify the fix)
  • Fixed an issue with Preheat heating for longer than intended #4338 (Kudos to @linzwatt for reporting the issue and to @sarusani for fixing it)
  • Fixed an issue where some users could not run first layer calibration because the LCD was stuck rendering the same fullscreen message repeatedly (Kudos to @sarusani for helping us test and fix this)
  • Fixed an issue where a print could be started while the printer is still loading or unloading filament, triggering a firmware crash. #3564

Know issue

Fan check

Currently, fan checks are not working reliably when returning from a paused print due to a fan error. If the fan gets blocked again after pressing resume, the printer may not show Stop print anymore and user needs to reset the printer. Also the Calibration menu is shown in the Tune menu while the printer tries to Resume the print from fan check issue.

3.13.1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

04 Sep 05:06
044a9a4
Compare
Choose a tag to compare

Summary

  • XYZ calibration fixed

This is the stable release of firmware 3.13.1 addressing an issue discovered by the community and verified by our internal testing. If your printer has not experienced the problem described below, you can skip this update.

XYZ calibration fixed

Some printers encountered a problem during XYZ calibration where the Z-axis failed to lift correctly. This led to insufficient clearance for installing the steel sheet and, in some cases, resulted in the nozzle crashing into the heatbed. We have identified and fixed this issue in this release. This also resolves #4304.

Thanks to the community members reporting this issue: @jeepac, @D-an-W, @sdh2, @sarusani, @Patrick-Schmitt, @bigsmalloverall, @naldarn and @jwall87

3.13.0 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

27 Jul 19:25
e58a902
Compare
Choose a tag to compare

Summary

  • MMU3 firmware support
  • Features by the Prusa community
    • E3D Revo support
    • Meatpack support
    • Do not preheat the heatbed on load/unload
    • Features and translations
  • Support for G-Code M850
  • First Layer Calibration - nozzle diameter
  • PrusaLink improvements
  • Build environment with cmake
  • Known issues

This is the final release of the firmware 3.13.0 focused on adding support for MMU3, extending the thermal model with support for Revo nozzle and several other improvements.

MMU3 firmware support (MK3S+)

The firmware for the MMU3 unit is completely new (rewritten from scratch). A detailed description of the architecture, automatic procedures, registers and many more will be described in the upcoming dev diary.

MMU3 firmware compatibility

It is important to distinguish between two types of firmware. One firmware is designed for the MMU (2S or 3) unit, the other one is for the printer. Due to major changes, both firmwares must be updated and can't be combined with any previous releases.

Compatibility:

  • 3.12.2 + 1.0.6 (firmware combination valid until this release)
  • 3.13.0 + 3.0.0 (firmware combination starting this release)

Running a combination of older 3.12.2 with newer 3.0.0 or newer 3.13.0 with older 1.0.6 will not work correctly due to major changes in both firmwares for the MMU (2S or 3) unit and the printer.

Combinations of older hardware like MMU2S with MK3S or MK2.5S with the latest firmware (3.13.0 and 3.0.0) should work and will be soon explained in the article about MMU3 firmware compatibility at help.prusa3d.com.

Features and improvements

The MMU3 firmware brings multiple improvements across the board. In case of an issue the firmware will try to solve the problem on its own before pausing the print and waiting for user interaction. The auto-retry feature solves a lot of minor issues with filament sensors.

All issues/errors are shown on the LCD screen. A short title shows the issue and a web link prusa.io/04xxx code for more information. Showing the FINDA, Filament sensor, tool operation and temperature helps to identify issues. Last line shows actions the user can select and selecting the double downward arrow shows more detailed offline information about the issue.

There is a continuous two-way serial communication between the printer and MMU which improves the printer “knowing” what state the MMU is. Since the printer firmware and MMU firmware need to be able to communicate, the firmware versions are checked and need to be in a compatible combination.

The MMU is by default disabled and has to be enabled in LCD menu Settings -> MMU [ON|OFF]. After a Factory reset the Wizard will run without the MMU. If you want the Wizard to test the MMU as well:

  • don't start the Wizard after the Factory reset
  • activate the MMU in Settings -> MMU first
  • run the LCD `Calibration -> Wizard

Features by the Prusa community

We would like to thank the community for their support and additions to the code base. Thanks to their effort, this release adds more new features. Please note, that these features are maintained by its creators, therefore any suggestion for an improvement or bug should be reported directly to them.

The same should be done for languages translated by the community. Only in case the person responsible for translating the given language does not respond for a longer period, contact Prusa.

We would like to apologize for the delay in adding the community pull requests to the main firmware branch. We had reached the capacity of the resources on the Einsy board and needed first to create space for new lines of code.

Community E3D Revo support (MK3/MK3S/MK3S+)

Thanks to community members and E3D, we were able to provide a source code base for the community and other 3rd party hotends. As a result, if your printer is modified with E3D Revo hotend, it should be now capable of passing the thermal model calibration process and react correctly to any thermal related issues.

Kudos to users @alexiri, @kromeninja, @ulab, @JWvP, @snafu1282, @matthiazzz, @sdh2, @davejhilton, @D-an-W, @MaroonOut09 and others helping to solve the issues #4105 and #3636.

Please flash the E3DREVO_.hex files on your modified printer. You can find these in the e3d_REVO_.zip file. Read the instructions how to add a new 3rd party hotend.

Community Meatpack support

Thanks to @scottmudge providing this well prepared and detailed pull request. For more information and questions, please see here and here.

Community Do not heat bed on load/unload

Thanks to @Panayiotis-git for this pull request. It speeds up some operations where the heating of the bed isn't needed. For more information and questions, see here. By default this feature is disabled with the Bed being heated as in previous firmware. It can be changed in LCD menu Settings -> Hbed on load [YES|NO]

Support for G-code M850

A support for G-code M850 to read and modify sheet labels and offsets. For more information see the pull request.

First Layer Calibration - nozzle diameters

Thanks to @GilesBathgate, the Prusa firmware built-in First layer calibration (FLC) now works for multiple nozzle sizes. Please ensure that you have the correct nozzle size selected in LCD menu Settings -> HW setup -> Nozzle d. [0.25|0.40|0.60|0.80] with 0.40 as default.

PrusaLink improvements

PrusaLink was improved for this release. To learn how to use PrusaLink on your Prusa i3 MK2.5/S and MK3/S/+ please checkout here. For more information about the project visit its GitHub repository.

Build environment with cmake

With the next release we will switch completely to build the firmware using cmake. The build is already prepared and can be used. It can be used in FW 3.13.0. For more information visit.

The build with Arduino IDE is still possible but no longer supported and it will be removed in a future firmware release.

Known issues

During final testing of the FW 3.13.0 and MMU3 3.0.0 developers discovered a rare issue, which we will address in a future release. In case the MMU print stops with an error and needs user interaction a power panic will cause issues to recover from the power panic.

3.12.2 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

02 Mar 10:51
a6eeb55
Compare
Choose a tag to compare

Summary

  • Thermal model updates
  • Update on E3D Revo
  • Self Test message fixed
  • FLC procedure updated
  • List of pull requests

This is the final release of firmware 3.12.2 focused mainly on thermal model-related improvements.

Thermal model updates (MK3/MK3S/MK3S+)

Autotune/Calibration temperature

Fixed the thermal model autotune/calibration temperature value to allow real print temperatures.
Before the G-code M310 A215 F1 failed.

Check Power and Capacitance values

Power and Capacitance parameters are now checked whether they are greater than zero.

Fixed incorrect sending of ERROR: via serial

In the previous firmware release, OctoPrint would send an M112 emergency G-code and “kill” the print during a thermal model anomaly. This is now fixed. Thanks to our OctoPrint community for reporting this issue.

Consistent TM wording

During the thermal model development, the terminology shifted in meaning. We decided to use this term to have clear and consistent wording for the thermal model.

  • The LCD calibration menu Temp model cal. is now Thermal model cal.
  • Messages related to the thermal model have also changed
    We added a page at prusa.io/tm-cal (also shown during the TM calibration step in the wizard). Please read this Prusa help article for more information.

Update on E3D Revo (MK3/MK3S/MK3S+)

We would like to thank all of the community members who provided their TM calibration logs with the E3D REVO! This really helped to improve the TM development for PTC/REVO hotends.

E3D and Prusa Research have also started a task force to work on the Thermal Model for PTC/Revo hotends.

Self test message fixed

The Self test OK message was incorrectly set as an “alert” message and blocked actual alerts from being shown correctly. This has been solved.

FLC procedure updated

The message Is filament loaded? during the Wizard doesn’t timeout anymore and has to be confirmed to prevent First Layer Calibration (FLC) to continue without filament loaded.

List of pull requests

See here for more information

3.12.1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

25 Jan 08:33
87118c1
Compare
Choose a tag to compare

Summary

  • Thermal model - important info
  • Restore correct RPM for fans
  • Set the calibration state when running M310 A
  • Non-responding MMU2S fixed
  • Max Z-coordinate during Nozzle Change
  • Beeping after Factory reset fixed
  • Message selection fix
  • Known issues

This is the final release of firmware 3.12.1 focused on bug fixes and small improvements.

Thermal model - important info! (MK3/MK3S/MK3S+)

The previous firmware release (3.12.0) introduced an important enhancement to the printer’s overall safety - the Thermal Model which continuously monitors the printer and raises an error if there’s something wrong. While upgrading the firmware, a calibration procedure is enforced to ensure this feature works correctly.

If you have the stock printer and the display shows “thermal anomaly detected” messages during the print, it’s a serious issue - do not take it lightly. Please, inspect the printer and check for any possible issues. Downgrading the firmware will get you rid of the messages, but the underlying HW issue will still remain.

In case you are running 3rd-party parts like the Revo hotend, the thermal model will report errors because it needs to be trained on a large set of samples. We welcome anyone who’s willing to help us with testing. Please provide log files in GitHub issue. For now, you can disable the Thermal Model if you’re running the Revo and you’re certain that your printer is working fine. Connect to your Printer via Pronterface and send G-code M310 S0 followed by M500 - then you can continue using the firmware with third-party parts.

Restore the correct RPM for fans (MK3/MK3S/MK3S+)

In case of a Thermal model error, both fans spin at full speed to cool down the nozzle as fast as possible. In firmware 3.12.0 the fans kept spinning at 100 % RPM even after the TM error was cleared. This has been fixed now and the fan speeds are regulated based on the current temperatures.

Thanks to our community members @gregsaun, @Aldebaran91, @arekm, @matthew-humphrey reporting the issue.

Set the calibration state when running M310 A (MK3/MK3S/MK3S+)

Calibrating the Thermal model using the G-code command M310 A F0 didn’t set the TM calibration state correctly. This is now fixed and calibration is stored as expected.

Kudos to our community members @arekm, @FrHePo and @gregsaun for reporting this issue.

Non responding MMU2S fixed

Firmware 3.12.0 accidentally introduced a bug, where the MMU2S unit might stop responding in case of an error. For more details, see issue #3742. This is now fixed and the unit will work as expected.

We would like to thank our community members @RPospisil, @ursius2020, @E-Extrude, @Hauzman, @Mirarkitty and @3dprintandpaint for reporting this bug and retesting the fix.

Max Z-coordinate during Nozzle Change

If the “Nozzle Change” feature is used, the printer will raise the extruder to its max Z-coordinate value making the nozzle exchange easier.

This change was done based on the request from our community member @laskr1999.

Beeping after Factory reset fixed (MK2.5/MK2.5S)

Some users have reported that MK2.5 and MK2.5S printers keep on beeping after the Factory reset is performed. This release fixes the issue.

Kudos @cjshaker for reporting this issue.

Minor message selection fix

When the user tried to re-run the wizard they got a message if they wanted to delete previous wizard data and run the wizard again. The button meanings in this screen have been accidentally swapped (“No” was actually starting the wizard). That is now fixed, re-running the Wizard now continues correctly selecting “Yes”.

Known issues

  • Accidental reset of the printer during temp calibration will cause Wizard to be run on the next boot.
  • Pausing MMU prints while the MMU is performing the filament change may cause FW crashes.

3.12.1-RC1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

17 Jan 16:56
54a3c83
Compare
Choose a tag to compare

Summary

  • Restore correct RPM for fans
  • Set the calibration state when running M310 A
  • Non responding MMU2S fixed
  • Max Z-coordinate during Nozzle Change
  • MK2.5 beeping after Factory reset

This is the first release candidate of firmware 3.12.1 focused on bug fixes and small improvements.

Restore correct RPM for fans

In case of a Temp model error both fans spin at full speed to cool down the nozzle as fast as possible. In firmware 3.12.0 the fans kept spinning at 100 % RPM even after the TM error was cleared. This has been fixed now and the fan speeds are regulated based on the current temperatures.

Thanks to our community members @gregsaun, @Aldebaran91, @arekm, @matthew-humphrey reporting the issue.

Set the calibration state when running M310 A

Calibrating the Thermal model using the G-code command M310 A F0 didn’t set the TM calibration state correctly. This is now fixed and calibration stored as expected.

Kudos to our community members @arekm, @FrHePo and @gregsaun for reporting this issue.

Non responding MMU2S fixed

Firmware 3.12.0 accidentally introduced a bug, where the MMU2S unit might stop responding in case of an error. For more details, see issue #3742. This is now fixed and the unit will work as expected.

We would like to thank our community members @RPospisil, @ursius2020, @E-Extrude, @Hauzman, @Mirarkitty and @3dprintandpaint for reporting this bug and retesting the fix.

Max Z-coordinate during Nozzle Change

In case the “Nozzle Change” feature is used, the printer will raise the extruder to its max Z-coordinate value making the nozzle exchange easier.

This change was done based on the request from our community member @laskr1999.

MK2.5 beeping after Factory reset

Some users have reported that MK2.5 and MK2.5S printers keep on beeping after the Factory reset is performed. This release fixes the issue.

Kudos @cjshaker for reporting this issue.

3.12.0 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

11 Jan 08:04
fdadc93
Compare
Choose a tag to compare

Summary

  • New thermal model protection
  • Nozzle change menu
  • NylonPA sheet profile added
  • Arc interpolation features G2/G3
  • UI improvements and fixes
  • New build environment
  • New language scripts
  • XYZ calibration updates
  • New language scripts
  • Updated translations
  • Farm mode
  • Bug fixes
  • Known issues

This is the final release of firmware 3.12.0. This changelog is a summary of the previous releases 3.12-beta1, 3.12-RC1 and 3.12-RC2. The main focus is on the new thermal model feature for improved safety.

ATTENTION: Please note the thermal model requires calibration, which takes about 12 minutes to complete. It is recommended to perform the calibration in order for the feature to work properly.

New thermal model protection (MK3/MK3S/MK3S+)

History of development

For the past several months, we’ve been hard at work to bring all thermal-related safety features to a whole new level. The 3.12-BETA firmware was the first public release of the new Thermal model protection.

The firmware is now capable of detecting unexpected heating issues of any sort and stopping heating quickly (in 10-12 seconds) to avoid potential damage to your 3D printer. This encompasses cabling issues, an incorrectly working heater block, thermistor faults and external factors too (draft, blobs forming on the extruder, etc.).

Check our detailed dev diary blog article explaining all the details behind this new feature.

Protection is always active

The thermal model protection increases the overall security of the heating system and starting firmware 3.12.0, will be turned on by default. Since every printer is slightly different it is necessary to calibrate the printer first.

Calibrate the temp model on your printer

In case the printer is updated from any firmware prior to 3.12.0, or a factory reset is performed, the thermal calibration is considered invalid and must be executed again! If this process is skipped by the user, the printer will beep and possibly pause more often.

Temp model calibration is available in the LCD menu Calibration -> Temp model cal. as well in the initial setup Wizard.

  • The calibration takes approximately 12 minutes and for the duration, you can’t give the printer any other commands.
  • During the calibration the LCD status line shows which step it is going through at the moment.
  • As soon as you see ”Original Prusa MK3S” on LCD, it is finished.

Please re-run the temp model calibration to ensure the best performance and minimize the temp model warnings,

  • when you change:
    • the nozzle
    • heater block
    • the heater cartridge
    • the hotend thermistor
    • the print fan
    • fan shroud
    • complete hotend assembly
  • When you add a silicone sock
  • When you move the printer to a different environment (enclosure, etc.).

Printer behaviour

While preheating:
In case the algorithm detects any issue, the printer starts beeping. If the problem persists for about 10 seconds, the heating is stopped and the message “Thermal anomaly” is displayed. The printer continues beeping (calls for user attention).

While printing:
Similar to preheating, a discrepancy between the model and thermistor readings causes the printer to first beep and display “Thermal anomaly” and after about 10 seconds, the print is paused. The nozzle is turned off and the printer continues beeping.

Please note, that once a “Thermal anomaly” is detected the printer “locks” itself to prevent any possible damage and it is necessary to perform certain actions. See more information below.

Added Clear TM error

To “unlock” the printer in case a “Thermal anomaly” is detected, there is a new option in the menu LCD menu -> Clear TM error to temporarily clear/acknowledge the issue. As this is only a “temporary” solution proper calibration is recommended. In case the temp model calibration doesn't solve this, please contact Prusa support or open a GitHub issue.

Modded printers

In case your printer is equipped with third-party components (heating or cooling), the thermal model might not be working properly. The developers are trying to expand support, but a large amount of data is needed to calibrate the model properly. Internally we have tested and analyzed over 150 000 OEM heaters and thermistors.

We are aware that third-party nozzle E3D REVO is not working correctly and we have an active GitHub issue where users reported their values. At this moment we don’t have enough data to analyze these, so please if you are a REVO user share your log files there.

Turning the thermal model protection off is not recommended, however, at your own risk it can be disabled via the serial line by sending G-code M310 S0 followed by M500 to make it permanent.

Feedback report

Please report positive feedback on the thermal model (with an ✔️ at the end of the release notes). In case you run into issues, start a New issue

  • The report should contain at least following informations
    • Reproducible: Yes/No
    • Printer model: MK3/S/+ stock or modified
    • Modifications: Example E3D Revo or Copper block or different Fan shroud (with link)
    • If a specific print causes issues. Please attach the printed model
    • Try to add a serial log of the print failing.

Nozzle change menu

We added the necessary Nozzle change menu option under Settings -> HW Setup which disables the temp model temporarily. Please read Changing or replacing the nozzle (MK2.5S/MK3S/MK3S+) before you start. Please also keep in mind that changing the nozzle will need the first layer adjusted, as you will never be able to tighten the nozzle at exactly the same height as the previous one. We made this change thanks to the feedback from our community testers (see #3719).

NylonPA sheet profile added

The list of sheet profiles is now extended with the “NylonPA” option. Please note that this is just a name of the profile and there is no difference to other stock profiles (Smooth1, Texture1,...).

Since the list of profiles is limited, the “NylonPA” is replacing the current profile “Satin2”. In order to see this change, a Factory reset is required. Before you do so, please write down the “Live Adjust Z” values for all the calibrated sheets.

Once a Factory reset is performed, the default list is:

  • Smooth1
  • Smooth2
  • Texture1
  • Texture2
  • Satin
  • NylonPA
  • Custom1
  • Custom2

Arc interpolation features G2/G3

Until now, whenever the printer was supposed to “draw” the shape of an arc, the internal logic of the firmware interpreted and printed it as a segmented line. In most cases, this will be unnoticed and the line will look rounded, but in some scenarios, this algorithm wasn't working properly.

Community member @FormerLurker proposed a solution, which was tested internally by our testing department and they confirmed it works as expected. The printer is now capable of printing a smooth arc without any noticeable edges. This firmware release incorporates this pull request #2657 and we would like to thank FormerLurker for his amazing work.

In case you want to learn more about this feature, please visit #2657.

Additionally, this release also fixes long-standing issues regarding G2/G3 moves. The following things now work properly when executing G2/G3 commands:

  • Pause/resume from the LCD or G-code
  • Crash detection
  • Filament runout
  • Power Panic
  • Fan errors

UI improvements and fixes

There are multiple fixes and improvements across the user interface aiming to improve the overall experience.

Firmware flashing

While flashing the firmware with PrusaSlicer there are two parts. The first part is, flashing the firmware into the CPU memory, and the second part is flashing languages in the external (xflash) memory. Starting with this firmware the second part is now displaying an extra LCD message Upgrading xflash Do not disconnect!.

Status line (M117)

This firmware release improves behavior when the M117 message was in some scenarios permanently overwritten with system messages (for example when M117 was immediately followed by the M601 / G4).

Please note that your M117 message should be kept within 20 characters, any excess characters will be truncated. We would like to thank @RodKimmell @GWdd @daBernd for reporting the issue.

Firmware version on boot

The firmware version is now displayed on the startup screen

Fixes

  • The “back arrow” sign was added to the Preheat menu.

  • Don't prompt "New firmware version available:" if disabled in Settings. Until now a warning was always displayed when G-code M115 with the latest firmware version (e.g. M115 U3.11.0) was sent and this value was higher than the current firmware versio...
Read more

3.12.0-RC2 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S

04 Jan 10:25
54356f8
Compare
Choose a tag to compare

Summary

  • Thermal model protection updated
  • Nozzle change menu
  • XYZ calibration updates
  • Bug fixes

This is the second release candidate of the upcoming firmware 3.12.0.

Thermal model protection updated

The thermal was first introduced in 3.12-beta1 and updated 3.12-RC1. This release brings further improvements and tweaks.

Protection is always active

The thermal model protection increases the overall security of the heating system and starting firmware 3.12.0, will be turned on by default. Since every printer is slightly different it is necessary to calibrate the printer first.

Modded printers

In case your printer is equipped with third-party components (heating or cooling), the thermal model might not be working properly. The developers are trying to expand support, but a large amount of data is needed to calibrate the model properly. Internally we have tested and analyzed over 150 000 OEM heaters and thermistors.

We are aware that third-party nozzle E3D REVO is not working correctly and we have an active GitHub issue where users reported their values. At this moment we don’t have enough data to analyze these, so please if you are a REVO user share your log files there.

Turning the thermal model protection off is not recommended, however, at your own risk it can be disabled via the serial line by sending G-code M310 S0 followed by M500 to make it permanent.

Calibrate the temp model on your printer

In case the printer is updated from any firmware prior to 3.12.0, or a factory reset is performed, the thermal calibration is considered invalid and must be executed again! If this process is skipped by the user, the printer will beep and possibly pause more often.

Temp model calibration is available in the LCD menu Calibration -> Temp model cal. as well in the initial setup Wizard.

  • The calibration takes approximately 12 minutes and for the duration, you can’t give the printer any other commands.
  • During the calibration the LCD status line shows which step it is going through at the moment.
  • As soon as you see ”Original Prusa MK3S” on LCD, it is finished.

Please re-run the temp model calibration to ensure the best performance and minimize the temp model warnings,

  • when you change:
    • the nozzle
    • heater block
    • the heater cartridge
    • the hotend thermistor
    • the print fan
    • fan shroud
    • complete hotend assembly
  • When you add a silicone sock
  • When you move the printer to a different environment (enclosure, etc.).

Printer behavior

While preheating:
In case the algorithm detects any issue, the printer starts beeping. If the problem persists for about 10 seconds, the heating is stopped and the message “Thermal anomaly” is displayed. The printer continues beeping (calls for user attention).

While printing:
Similar to preheating, a discrepancy between the model and thermistor readings causes the printer to first beep and display “Thermal anomaly” and after about 10 seconds, the print is paused. The nozzle is turned off and the printer continues beeping.

Please note, that once a “Thermal anomaly” is detected the printer “locks” itself to prevent any possible damage and it is necessary to perform certain actions. See more information below.

Added Clear TM error

To “unlock” the printer in case a “Thermal anomaly” is detected, there is a new option in the menu LCD menu -> Clear TM error to temporarily clear/acknowledge the issue. As this is only a “temporary” solution proper calibration is recommended. In case the temp model calibration doesn't solve this, please contact Prusa support or open a GitHub issue.

Feedback reporting

To give positive feedback, please use a ✔️ here below the release notes. In case of issues TM: warning or TM: error start a GitHub issue, which should contain at least the following information:

  • Reproducible: Yes/No
  • Printer: MK3/S/+ stock or modified
  • Modifications: Example E3D Revo or Copper block or different Fan shroud (with a link)
  • Specific print causes issues. Please attach the printed model
  • Try to add a serial log of the print failing.

Nozzle change menu

We added the necessary Nozzle change menu option under Settings -> HW Setup which disables the temp model temporarily. Please read Changing or replacing the nozzle (MK2.5S/MK3S/MK3S+) before you start. Please also keep in mind that changing the nozzle will need the first layer adjusted, as you will never be able to tighten the nozzle at exactly the same height as the previous one. We made this change thanks to the feedback from our community testers (see #3719).

XYZ calibration updates

A message displayed on the screen has been updated from It will take up to 12 mins. to It will take up to 24 mins. as some users reported that their printer needed more time. We added some status information during the XYZ calibration to give visual feedback that the printer is still busy.

Bug fixes

  • Fixed µm being shown incorrectly in languages other than English.