Notifications
Clear all

3.14.0 Firmware for MK3, MK3S and MK3S+  

  RSS
Jan Kratochvíl
(@jan-kratochvil)
Member Admin
3.14.0 Firmware for MK3, MK3S and MK3S+

Summary

  • PrusaLink and Prusa Connect updates
  • PowerPanic improvements
  • Mesh Bed Leveling (MBL) improvements
  • New / Improved G-codes
  • User Interface updates
  • Community features
  • Firmware development changes

This is the stable release of firmware version 3.14.0, with a primary focus on PrusaLink and Prusa Connect. This firmware version only works with MMU2S/MMU3 firmware version 3.0.2! It is necessary to update the firmware in the MMU2S/MMU3!

PrusaLink and Prusa Connect improvements

The main focus of the firmware release was to improve the usability of the MK2.5/S and MK3/S/+ printers with PrusaLink and Prusa Connect. Please update Prusa Link to version 0.8.1 or newer to benefit from the firmware updates. See here PrusaLink 0.8.1 or PrusaLink latest release

The community member @sarusani already implemented an OctoPrint plugin Active Prusa HostTimer 🎉

Add Set Ready and Set not Ready to the LCD main menu

This feature makes it possible to set the printer in the Ready state from the LCD directly, not only from Prusa Connect. As a result, the print queue can be advanced without having to open Prusa Connect in a web browser.

Add Reprint to LCD main menu

This feature allows the user to repeat the last finished print. The Reprint menu is only shown:

  • When the SD card print finished successfully
  • When a PrusaLink/Prusa Connect print finished, and the host is connected

PowerPanic improvements

This update brings improvements to both SD-based power panic and initial support for "USB" (or RPi port) power panic when using PrusaLink/Prusa Connect on the MK3/S/+.

All of the necessary information for recovering a print is stored in the EEPROM during a power panic event so that the printer can recover on its own in the case of SD prints or the host can attempt to resume the print in the case of PrusaLink prints. In the case of PrusaLink prints, the printer will restore temperatures and pause the print, waiting for the host to start up again and reconnect. The host then sends the M79 G-code and the printer will inform the host with //action:commands about the state of the saved print:

  • In case of a short power outage with the bed less than 5 °C colder than the target temperature, it will send //action:uvlo_auto_recovery_ready to the host.
  • If the bed temperature dropped by more than 5 °C, the printer will send //action:uvlo_recovery_ready, which is similar to the SD print “Blackout occurred. Recover print?” where the user has to decide if the print still sticks to the bed and the printer should try to recover.
  • The host software needs special support for this new feature, as such for now only PrusaLink officially supports this feature.

Mesh Bed Leveling (MBL) improvements

This release also greatly improved the mesh bed leveling feature for all printers supported by this firmware. It both fixes bugs and adds new features. More details are described below.

Print area MBL

A few years ago, the community added support in the firmware for 7x7 mesh bed leveling. The advantage of the 7x7 mesh measurement was that it provided the printer with a detailed surface map, eliminating the need to interpolate (calculate) the space between points, as was necessary with the 3x3 mesh measurement. However, using the 7x7 mesh resulted in a longer measuring process, taking up to one minute (probe all 49 points).

This feature was originally a part of the Buddy firmware for the MK4/XL, but with this release, it is also available for older printers, implemented by @leptun.

It works similarly to the Buddy firmware, where PrusaSlicer informs the printer via G-codes which area of the bed contains the printed objects, but the implementation is a bit different. Whereas in the Buddy firmware, the M555 G-code is used, with the 8-bit firmware we directly tell G80 (the MBL command) the positions of the objects to save resources.

This feature requires support from PrusaSlicer, so updated startup G-codes are needed. The official Prusa profiles support this feature since PrusaSlicer 2.7.4.

Since only a reduced portion of the bed is measured, the overall mesh bed leveling process will be quicker than before, while maintaining all the advantages of 7x7 mesh bed leveling.

The feature is now linked to 7x7 MBL. So when the user enables 7x7 MBL, this feature also gets enabled automatically (if the G-code is resliced with compatible profiles). If the G-code doesn't support this feature, it will probe the entire bed just like before.

To get the best results with this feature, it is recommended to run a Z calibration to update the default mesh information in the EEPROM. The default mesh is used outside of the probed print area and also for determining bad points that need to be rechecked.

MBL bug fixes and improvements

This release also addresses some issues that were discovered during the development of the Print area MBL. As a result, the amount of points that need to be rechecked is reduced. This was especially problematic for beds where the Z origin was lower than measured bed points.

Another improvement to the G80 G-code is the new M parameter which allows the user to enable or disable MBL magnet compensation from the G-code startup script. Thanks @sarusani!

New / Improved G-codes

  • Improve Sheet G-code M850 to report and set the active steel sheet. Thanks @vintagepc!
  • M913 active by default to report TMC driver current settings
  • M914 and M915 with the parameter Q will report Mode [Normal | Silent]
  • M709 MMU enable, disable, soft reset, hard reset and erase MMU eeprom
  • M125 to set pause custom positions
  • M420 same as G81 to print out Mesh data for external analysis.
  • M79 is a new G-code to “ping” the printer from the host. This G-code enables few features and menus as the printer “knows” that the host is ready to receive instructions.
  • The range of M75 to M78 was added for host software to be able to start, pause, resume and stop the print statistics timers.
  • Add custom printer name to EEPROM. At this moment the printer name can only be set by direct EEPROM manipulation using D3 commands and is limited to 17 characters. In the future, it could be improved by implementing M531 or M550 G-codes.

User Interface updates

This release adds new features to the UI and fixes bugs found in previous releases.

LCD diacritics support

With this release, it is now possible to display diacritics on the old hd44780-based display. This feature was implemented by @leptun.
This was quite challenging from a technical standpoint due to many limitations imposed by the LCD. This is due to the fact that characters can only be 5x8 pixels (making it harder to draw diacritics that can be discernible), there can only be 8 distinct custom characters at once on the screen (each diacritic is a custom character) and is also not possible to modify the default font to better align it with the diacritics.

In any case, For most messages, these limitations do not cause any issues. Should there ever be more than 8 different custom characters on the screen at once, only the first 8 will be displayed properly, the others using "alternate" forms that look similar enough.
Please note that this does not mean that diacritics in filenames on the SD card are supported at the moment and will most likely never be supported due to limitations across the entire firmware. Only messages in the UI support diacritics, including the sheet names.

Thanks to the community members below for offering their time to review, update and approve the community and stock translations:
🇵🇱 @arekm
🇫🇷 @Ilovemyhous @ErwanAliasr1
🇭🇷 @Prime1910
🇭🇺 @AttilaSVK
🇳🇴 @trondkla
🇷🇴 @leptun and @Hauzman
🇸🇰 @ingbrzy and @shatter136
🇸🇪 @Painkiller56

image
image
For more examples, see the end of the release notes.

UX improvements

There have been some updates done to the UI such that menus are only shown when it makes sense:

  • During the PowerPanic recovery we need to ensure that the printer recovers correctly, so most LCD menus are blocked, except:
    • Stop print in case the recovery isn’t possible and the user decides to cancel the PP recovery
    • Statistics
    • Fail Stats
    • Support
  • Reprint is only shown when: (Kudos to @jfestrada for the idea and initial Pull Request)
    • SD card print finished correctly
    • PrusaLink/Connect print finished correctly and the host is connected
      • The host needs to send M79 to ensure that it can receive instructions from the printer.
  • Resume
    • Is hidden while resuming
    • With host prints only shown when the host is available, see comment above.
  • Autoload filament / Load filament / Unload filament are shown
    • Depending on the state of FSensor de- /active
    • Depending on whether filament is detected or not
  • Add Unload filament option during color change from LCD or M600 G-code
  • Add Auto home to the Tune menu while the printer is paused.
    • If a user needs to intervene with the extruder or bed during a pause, the X and Y axes may lose the pause/restore position. The Auto home will home X and Y, this should only be used when the extruder or bed has been moved. As each homing may result in slightly different positions it's not ensured that the new layers will “perfectly” resume / align with the pre-paused layers.
  • Statistics
    • Host prints are now added to the statistics.
    • During the print, the Statistics show the ongoing values.

Community features

  • E3D REVO:
    • Nozzle diameter is shown on the Info screen and the Nozzle diam. menu is directly under Settings
    • Nozzle change for REVO without heating up the nozzle
  • Shutdown host (needs custom build) option can be used to shut down a host correctly.

Firmware development changes

All translated messages are now in messages.cpp/.h this should make it easier to find and reuse existing messages. Pull Requests with new messages will only be accepted when the messages are in these two files!

Appendix

Release notes: https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.14.0

Posted : 02/07/2024 7:02 am
Andrew
(@andrew-24)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

This update seems to cause a z levelling error on my MK3s (resolved by going back to the previous version.) Just putting it out there in case anyone else has the same issue.

Posted : 27/07/2024 8:33 am
Stian Trana
(@stian-trana)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Just to let you know you are not alone.

I have a stock MK3 (no S or +) with no mods and the 3.14.0 firmware gives me z-level error during the first adjustment run for a new print.

It is consistent and always fails in the top left corner checkpoint.

 

X  *  *

O  O  O

O  O  O

 

O = z level check ok

X = z level check fail

* = untested due to error

Reverting to v 3.13.3 "fixes" the issue.

Posted by: @andre-11

This update seems to cause a z levelling error on my MK3s (resolved by going back to the previous version.) Just putting it out there in case anyone else has the same issue.

 

Posted : 03/08/2024 6:20 pm
TFI Services
(@tfi-services)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Since the update I cannot find load filament command after the unload filament process. Its not on the menu

Posted : 09/08/2024 10:02 am
KohMa.props
(@kohma-props)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Hi,

 

had the same issue.

By the way, the time remaining till colorswap is also gone.

I mean it was like 3:14C and 3:30 R...........so you had the colorchange at 3:14.

How do i get back on 3.13?

 

Thanks

Paddy

Posted : 19/08/2024 12:57 pm
RD Kidd liked
AdamDavenport
(@adamdavenport)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

I just created a github issue documenting the z-leveling enforced error. If you arrive here and it's happening to you, be sure to follow this link and like/comment so it gets attention: https://github.com/prusa3d/Prusa-Firmware/issues/4762

Posted : 28/08/2024 5:51 pm
3d-gussner
(@3d-gussner)
Reputable Member Prusa-Translations
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

 

Posted by: @adamdavenport

I just created a github issue documenting the z-leveling enforced error. If you arrive here and it's happening to you, be sure to follow this link and like/comment so it gets attention: https://github.com/prusa3d/Prusa-Firmware/issues/4762

 

Here a copy of the github comment https://github.com/prusa3d/Prusa-Firmware/issues/4762#issuecomment-2317169971

The printer might have old Z calibration data in the eeprom. Starting with firmware 3.14.0, we have tightened the tolerance for correctly measured points since it would be a pretty bad idea to use region MBL with old eeprom data, as there would be a misalignment between the "inside" and "outside" areas of the region MBL. We may consider relaxing the thresholds to the old values when 3x3 MBL is used as there is no "outside" area in that case, so an aligned Z gantry and valid eeprom data is less important.

Do note that starting with fw 3.14.0, the printer also informs you that you need to run Z calibration after 2 successive failed alignments of the Z gantry during MBL, which would indicate that the MBL data in eeprom needs to be updated. Instructions are provided on screen and the print is aborted in that case.

Please let us know if running Z calibration doesn't fix your issue as that would mean the thresholds are too tight even with valid eeprom data (even though during testing we haven't identified this as being a problem).

To avoid confusion regarding terms, running "Z calibration" means going to the calibration menu and clicking on "Calibrate Z". This is different to the Z gantry alignment that happens during a failed MBL probe. Z calibration also aligns the gantry, but in addition to that it also does a slow 3x3 MBL which gets saved to eeprom.

Posted : 29/08/2024 12:46 pm
Andrew
(@andrew-24)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Thanks. That fixed it.

Posted : 31/08/2024 2:10 pm
Bad Raven
(@bad-raven-2)
Eminent Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Just like to say a quick THANK YOU for the 3.14.0 update. I have a Mk4 and a vanilla unmodded Mk3 (so std its not even got the fan shroud change!)

Mesh levelling on the much used Mk3 is MUCH improved and for example a piece which had been troublesome to print without partial loss of adhesion and warping now prints 100% with all other settings the same as before.

Well done guys, appreciate you.

 

 

Posted : 22/09/2024 7:52 am
KohMa.props
(@kohma-props)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Hi,

cool but this doesn’t fix the problem of the „rest time until colorswap“ is missing in the dispaly

 

thanks

paddy

Posted : 22/09/2024 8:36 am
RD Kidd liked
screensaver
(@screensaver)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

updated my MK3S from 3.13 to 3.14 and the Unload Filament option is gone. Reverted back to 3.13

Posted : 23/09/2024 1:08 pm
martijnh
(@martijnh)
Active Member
RE:

Hello Prusa,

I'm not using the sensor to load my filament, not working ok, i don't care why not, not important, please if you wanna put the load filament option back back we stop complaining.

Don't ask why, some people liking it very mutch to load it by button.

greetz martijn from the netherlands

Posted : 13/10/2024 12:28 pm
martijnh
(@martijnh)
Active Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

i put back the 13 version.

Posted : 13/10/2024 12:29 pm
Ray
 Ray
(@ray-3)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Don’t forget to tell everyone you can’t use this firmware if you have an mmu. 

Posted : 20/10/2024 10:25 pm
Yetti
(@yetti)
Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

You can use the Firmware for MK3 without S, make the xyz-kalibration and z-kalibration, then use the Firmware for MK3S will fix the Bug.

But xyz-kalibration will not work.

Posted : 21/10/2024 3:58 pm
Lexmeister
(@lexmeister)
New Member
RE: 3.14.0 Firmware for MK3, MK3S and MK3S+

Hi,

Some feedback.

Using an MK3S+

The 3.14.0 firmware was giving me ghost Y crashes when printing with PETG. Went back to 3.13.3 and problem is solved, printing with the same G-Code.

Posted : 14/11/2024 3:54 pm
Share: