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 version installed. TheSettings-> HW Setup -> Check -> Firmware [None]
now suppresses the message below even if the M115 is included in the G-code.
- Starting this release the UI ignores the knob long-press action if not allowed. Thanks to @Panayiotis-git for providing the solution.
- In case the user stops the print, the remaining time is cleared. Thanks for reporting this issue @Stego72
New build environment
The build environment for all 8-bit firmware versions was updated from Arduino IDE 1.8.5 to 1.8.19 with GCC 7.3, which saved 1+ KB of resources. This is an important change. Older Arduino IDEs and/or GCC versions may not compile the code anymore from now on.
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.
New language scripts
The new language scripts revealed missing translations hidden in the source code but also an obsolete one. The translation and post-processing process has not only improved for the developers but also for the translators.
Updated translations
We would like to thank the community members for updating translations with new texts. In case you want to join and help translate the firmware to your language, please visit the following article Community translations.
Based on the feedback from our translators:
- The translation “.po” files can and should now contain diacritics which will be automatically replaced.
- This should improve the spell checks in different languages and hopefully make it easier for the translators.
- At this moment we are still limited by the LCD screen only to show [aA-zZ] and [äöüß] characters.
Farm mode
The Farm mode is used internally on the Prusa farm and will be from now available in a separate build and only in English. We have decided to remove it from the multi-language versions to save resources for other features.
Bug fixes
- Parts of the firmware used “Extruder fan”, while the correct name is “Hotend fan”. This is now unified across the entire code base.
- Some SD cards caused issues, the firmware should handle them correctly from now on.
- The long button press wasn’t supposed to be active in some locations, this has been fixed now.
- Minor SD card issue in FARM mode fixed. Sorting and long filenames have not been shown correctly.
- Fixed
µm
being shown incorrectly in languages other than English. M300 S0
pause like Marlin.
Known issues
A feature detecting the filament sensor hardware version is currently not working. Printing process isn't affected, however if the filament sensor is not working properly, the printer is unable to verify it. The devs are aware of this issue and a fix will be provided soon.