Clear all

3.12.0-BETA1 Firmware for MK3, MK3S, MK3S+  

Same Old Shane
Member Admin
3.12.0-BETA1 Firmware for MK3, MK3S, MK3S+

Greetings all, 
We are happy to announce the release of our new beta 3.12.0 firmware for our MK series of printers. We go into further details on our blog site,

Please keep in mind that there is some calibrations that need to be done in order for these new features to work so please make sure to read the summary from github (below) 



New thermal model protection

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 recent 3.12-BETA firmware is 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.


Since the thermal model was developed on a model of a factory-assembled extruder, it may not work correctly on some modified or after-market extruders (ex. Revo, BMG, etc.). Please let us know if you experience any issues during the calibration process.

How to calibrate your printer

Since this feature is still experimental, it is disabled by default and must be started using a G-code over a serial line. A more user-friendly approach via the LCD menu will be implemented in the upcoming releases.

Calibration workflow:

  1. M503 - reads the current settings (writes them down)
  2. M310 A F1 - starts the autotune calibration process, which takes around 15 minutes
  3. M310 S1 - enables the thermal model after it has been fine-tuned
  4. M500 - saves the settings to the printer
  5. M503 - ensure that the M310 values are stored correctly (compare them with initial M503 readings)

A detailed explanation of the G-codes for the thermal model is available at RepRap wiki.

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


  • 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. The Settings-> 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

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.

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.

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.

Complete changelog

List of all changes in this firmware can be found here.

Shane (AKA FromPrusa)

Posted : 29/09/2022 7:22 pm
Noble Member
RE: 3.12.0-BETA1 Firmware for MK3, MK3S, MK3S+

Wow, you managed to squeeze a lot in a restricted mem space. 

Posted : 30/09/2022 12:21 pm
ssm work
New Member
RE: 3.12.0-BETA1 Firmware for MK3, MK3S, MK3S+


Posted : 19/11/2022 9:44 pm
RE: 3.12.0-BETA1 Firmware for MK3, MK3S, MK3S+

 @same old Shane 

Can you please explain what Farm Mode does?

Posted : 12/01/2023 7:10 am
New Member


I am not sure is it right place to ask about this (let me know if not) but is it any way to stop unrequested serial transmision from USB? I cannot send and read propper answer if it send all the time (unrequested):

NORMAL MODE: Percent done: 0; print time remaining in mins: 45; Change in mins: -1

SILENT MODE: Percent done: 0; print time remaining in mins: 46; Change in mins: -1


echo:busy: processing

echo:busy: processing

echo:busy: processing


and other serial junk



This post was modified 9 months ago by [email protected]
Posted : 02/03/2023 7:43 pm