Notifications
Clear all

5.1.0 Firmware for Original Prusa MK4 is out!  

  RSS
Same Old Shane
(@same-old-shane)
Member Admin
5.1.0 Firmware for Original Prusa MK4 is out!

Hello all;
We are pleased to announce our release of the final release version of our 5.1.0 firmware. The following updates, changes and features can be found below. Please make sure to download the correct version of the firmware for your machine on our github page or from the main launch page of your printer located on our site. 

Summary

Here’s a quick overview:

  • Firmware update instructions, preparation for OTA updates
  • Printing speed boost with Input Shaper and Pressure Advance (XL and MINI)
  • Major updates to network code; Instant Printing feature
  • Major updates to Prusa Connect and network communication
  • Introducing new efficient open-source Binary G-code format
  • New useful pre-print screen for XL Multi-Tool printers
  • Cancel object directly from printer’s menu
  • Octoprint support information
  • Additional improvements and tweaks
  • QOI image thumbnails instead of PNG to save space
  • Fixes and changes

This is the stable release of firmware 5.1.0 with Input Shaper for the Original Prusa XL and MINI, featuring major changes and improvements to the code and user interface. This release is recommended to all users.

If you are not using alpha/beta releases, upgrading from previous versions will give you plenty of new options and features to dig into. We’re covering everything important in these release notes, including changes introduced in alpha/beta releases.

Firmware update instructions + new bootloader (XL, MK4/MK3.9, MINI)

In the case of MK4 and XL, download the firmware file below, copy it onto a USB drive, and insert it into the printer. During the boot, the printer will check for the firmware file and ask you to confirm the update.

In the case of the MINI/MINI+ printer make sure you are running either the previous 5.1.0-alpha2 or at least firmware 4.4.1. Once the 4.4.1 update is installed, proceed to flashing the 5.1.0 firmware. The upgrade might take longer than usual.

While flashing this firmware release, the printer’s bootloader will be updated as well. The new bootloader improves support for OTA (over-the-air) updates from Prusa Connect. Also, the graphics of the bootloader now matches the rest of the UI.

Input Shaper and Pressure Advance for faster printing comes to XL and MINI

After the MK4/MK3.9 models, we’re now adding Input Shaper and Pressure Advance to the Original Prusa XL (all versions) and MINI! This is a major upgrade that noticeably boosts printing speeds and we strongly recommend updating the firmware. The Input Shaper functionality for XL and MINI was available in previous firmware releases but this is the first stable release with this feature.

Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It analyzes the printer’s movements and applies a filter to the input signals. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables much faster printing.

Pressure Advance is another important addition to the firmware’s set of features. This function aims to improve the quality of printed parts by compensating for the pressure changes in the nozzle during printing. Pressure Advance together with Input Shaper enables the printing of better-looking models, reducing ringing, overshoots and issues with inconsistent filament extrusion. They also enable faster printing.

Precise stepping is a new implementation of the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance.

Please keep in mind that you need to slice your models with the newest PrusaSlicer IS-enabled profiles. We also recommend updating to the latest version of PrusaSlicer. Older G-codes are compatible but won’t be printed faster!!

Original Prusa XL - Current Input Shaper limitations

In this firmware release, the Crash Detection feature is temporarily disabled on the Original Prusa XL because overly tight belts may trigger a false crash detection. We’re currently working on improvements in belt tension tuning. It will likely be accompanied by a new belt tuning app profile.

Major update of the network code and Instant Printing feature

We have made major improvements to the network code to increase the speed of network printing. No longer do you need to copy files onto a USB drive and walk to the printer. You can keep the USB in the printer and send files via Prusa Connect.

With G-code streaming support, you can start the print without downloading the entire file to the printer beforehand. Instead, only a small portion of the file is downloaded, allowing the print job to start almost immediately. The remaining G-code is automatically downloaded while the print is in progress. In most cases, the print starts within seconds.

You can also add a physical printer in PrusaSlicer and use it to send the sliced file via Prusa Connect (G-code streaming enabled) and start the print job from there with just two mouse clicks. However, If you add you printer via PrusaLink the G-code streaming / Instant Printing features is not supported.

We are also introducing a new G-code format, a binary G-code, which is more space-efficient (more on that later).

276947967-1be7ea23-a36a-4eee-b0d2-c0d101676cc7

Last, but not least, we have further optimized the USB writing speeds.

Major updates for Prusa Connect and network communications

The Prusa Connect wizard has been updated and now shows the number of attempts to establish a connection. In case it fails, it displays an error message and a link to relevant troubleshooting articles.

We’re also introducing a new, easier way to connect your printer to your wireless network through PrusaSlicer. Initiate the Wi-Fi setup wizard on the printer and let the system create and empty configuration file on the USB drive. Then, take the USB drive, plug it into your PC and start PrusaSlicer. The software will show a message offering you an automatic population of the configuration file values. This will transfer your current Wi-Fi login from your PC to the configuration file on the USB.

Prusa Connect now correctly synchronizes the contents of the USB drive, so you can view the files remotely via your web browser. Prusa Connect transfers have been vastly improved with the introduction of the G-code streaming and smaller binary G-code file format. The system can also alert you in case there’s an issue preventing you from printing - e.g., if the filament in the G-code does not match the currently loaded filament (this is called “attention state” in Prusa Connect). As was mentioned earlier, network transfers can recover from power and/or network failures, except for some rare cases.

In case of a fatal network failure, the print is paused once it detects that the G-code is no longer being streamed. When the connection is not about to be restored anytime soon, you can manually resume the print. Take the USB drive from the printer, plug it into your PC and replace the partially downloaded .gcode file (shown as a folder) with the regular complete .gcode file. When you plug the USB drive back into the printer, the system will recognize the file and find exactly the part of the code where the print stopped and the print job will be resumed.

Last, but not least, Prusa Connect now allows you to flash your printer firmware remotely. You need to have your 3D printer added to Connect and then you can download and transfer the firmware file to your printer. Connect will then invoke the firmware flashing procedure.

New Binary G-code

G-code files are easy to read and interpret, but their downside is that the data is not saved efficiently and the file size is often very large. Compression of the file is problematic because the printers usually run on limited hardware and they may not have enough memory and/or CPU power to decompress it. Several solutions to the problem were proposed by members of the community, such as MeatPack encoding (utilizing the fact that the character set of a typical G-code is very limited) or the heatshrink compression algorithm (designed to have very small memory requirements).

We are proposing a new standard for a binary G-code format for encoding and compressing ASCII G-code files (see the specification). The format is flexible and the encoding and compression of individual blocks is variable. We also provide a libbgcode library which contains the routines to convert ASCII G-codes to binary and vice versa. The library is written in C++ and the repository includes bindings for Python.

Regarding the comparison of ASCII vs binary G-code sizes, the result depends on the contents of the G-code. Our testing shows that using binary G-code reduces the size by about 70 % on average. Using arc fitting (described above) at the same time can reduce the size even further. The following chart shows the comparison for 10 randomly selected 3MF projects:

276947148-4342e1cd-69d3-4a91-b325-3f7b57a5e902

The support for the new .bgcode file format was implemented in PrusaSlicer, including its export, loading configs, and previewing G-code or file associations. Exporting binary G-code can be enabled in Print Settings->Output options->Export as binary G-code. An option to convert ASCII G-code to binary (or the opposite) has been added to the File menu.

To print a binary G-code, it has to be supported by the firmware of the printer. For Original Prusa MINI, MK4 and XL printers, the first stable firmware release that supports this feature is 5.1.0, older stable firmware versions will not see the .bgcode files.

We would like to thank Scott Vokes (@atomicobject) for his work on heatshrink and
Scott Mudge (@scottmudge) for developing and maintaining MeatPack.

QOI instead of PNG (XL, MK4, MINI)

Until this release, the thumbnails for G-code were in PNG format, which was rather resource-heavy. We have decided to switch to another format called QOI, which is way less demanding, and we can utilize the freed-up resources to bring more features in future releases.

The only downside of removing the support for PNG is that all the G-codes sliced until now, won't have a visible thumbnail on firmware 5.1.0 or newer. For now, the only solution is to reslice the G-code in PrusaSlicer 2.7.0 or newer.

Pre-print screen (XL with 2-5 toolheads)

This is a huge update for all XL Multi-Tool owners that greatly improves the printing experience!

When you slice a multi-material object, the resulting G-code carries information about how individual materials/extruders are assigned to various parts of the object. Usually, you need to take note of this setup and make sure that PrusaSlicer settings and the actual materials loaded in the XL are in sync.

Now, we’re introducing a new screen that makes this so much easier. Plus, it allows you to set up the Spool Join function (for depleting leftover filaments) in a few clicks.

This new screen allows you to remap the extruders/materials to different slots. For example, you can switch extruders one and three if you find out that the loaded colors do not match the layout in the G-code. This also makes, e.g., sharing G-codes much easier, because you’re not limited by the “hardwired” material configuration inside the G-code, but you can modify the assigned materials in this screen.

Spool Join is also a function worth mentioning. By using the pre-print screen, you can assign multiple filaments to a single print job so you can easily consume all the remaining filament on multiple spools.

The printer has built-in safety checks to process the G-code before the print and compare the information contained in it with the printer’s configuration to prevent it from printing incompatible print files. The printer will display a notification in case there’s a conflict (e.g., different nozzle diameter, etc.).

UI tweaks and updates

Various print-related screens have been updated to show more information. The print progress screen features a new layout, the print end screen now displays more statistics - total print time, material consumption, and the prime tower material consumption. The printing screen now displays more information - next to the percentual progress info.

Cancel Object

We’re introducing a new option to cancel the printing of an object directly from the printer’s menu - only the selected object will be skipped while the other objects on the print bed will continue to be printed. This is extremely handy in case something goes wrong and, e.g., an object detaches from the heatbed. Thanks to this functionality, you don’t need to cancel the entire print, but you can simply choose to skip the object and continue with the rest.

During a running print, select the Cancel Object menu item, then select from the list of objects the one that should be skipped. You can, of course, use this function multiple times if necessary.

Since in many cases, the objects are instances and their names might be confusing (e.g., Instance 1, Instance 2, Instance 3), it could become difficult to recognize which name belongs to which object. This is why we also added the “Cancel Current Object” action. Wait for the nozzle to get to the object you want to skip and select Cancel Current Object. The system will automatically recognize the correct part of the G-code and disable it. Using Cancel Current Object is the recommended method.

In case you selected an incorrect object, you can always use the menu actions to continue printing it.

Improved Octoprint support

With the 5.1.0 firmware release, we’re introducing improved Octoprint support.

To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section):

  • After print job is cancelled: M604
  • After print job is paused: M601
  • Before print job is resumed: M602

Please keep in mind that support for Octoprint has several limitations at the present:

  • Crash detection and Power Panic are not supported
  • The heat absorption screen on the XL is not displayed and it’s not possible to skip it
  • Multi-Tool XL is not supported at the moment
  • Binary G-Codes are not supported

Further improvements and tweaks:

  • Selftest has been unified across MK4, MK3.9 and XL platforms
  • Selftest now skips the nozzle heater test in case the fan test failed
  • The fan test in Selftest has been improved - now it starts at max RPM and gradually decreases the speed
  • Selftest no longer creates log files
  • New robust RNG for Prusa Connect
  • New robust code for Mesh Bed Leveling and Loadcell sensor readings
  • Added the option to set the printer’s status as "ready" for Prusa Connect directly from the printer menu

Fixes

  • “Negative step time” BSOD has been fixed
  • Adjusted texts on the MINI to fit the screen
  • Power panic no longer triggers a watchdog reset
  • Fixed footer settings migration between 4.7.0 and 4.7.2

Download link;
         github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.1.0

          How to flash the firmware;
          help.prusa3d.com/article/flashing-firmware-mk4_453086

          Please report any bug here:
          github.com/prusa3d/Prusa-Firmware/issues

Shane (AKA FromPrusa)

Posted : 25/11/2023 1:37 pm
Zappes
(@zappes)
Reputable Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

 

Current observ ation: Lots of bluescreens with 5.1 on my MK4. When I use "upload and print" from PrusaSlicer 2.7, I reproducibly get some weird watchdog bluescreen. Only uploading and then printing from the printer's menu works, but only with normal gcode. If I try it with bgcode, I get some kind of strange crash as soon as the first layer is complete.

Some or all of my problems may be related to my specific setup, even though it's quite vanilla with an unmodded MK4 and nothing more crazy than gyroid infill in the models. Still, I am quite shocked to get that kind of problem in a "stable release".

My models on Printables
Posted : 25/11/2023 1:43 pm
kgme liked
Sembazuru
(@sembazuru)
Prominent Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section):

  • After print job is cancelled: M604
  • After print job is paused: M601
  • Before print job is resumed: M602

I'm setting up my OctoPi for this FW version and find that the "After print job is cancelled" gcode in OctoPrint is already populated with code. The default is:

; disable motors
M84

;disable all heaters
{% snippet 'disable_hotends' %}
{% snippet 'disable_bed' %}

;disable fan
M106 S0

Should I replace all of that gcode with M604, or simply add M604 to the end of the existing gcode? I'm guessing the latter after looking up these M-codes on the Prusa help system. (I'm also adding M604 to the "After Print Job Completes" as indicated in the help system. Is this valid and should be added to the above list?)

Is there anything I can add to the "Before Print Job Starts" to put the MK4 display into some sort of print monitoring mode (and/or allow M117 messages to show during a print), or will that be coming in a future firmware release?

Also, if anyone from Prusa is listening, please put on the documentation checklist to update the RepRap Wiki? Currently all the entries list the Buddy compatibility as "???", so it will probably be a big project to update to current status...

See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs

Posted : 25/11/2023 9:56 pm
Sembazuru
(@sembazuru)
Prominent Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Nevermind about:

Is there anything I can add to the "Before Print Job Starts" to put the MK4 display into some sort of print monitoring mode (and/or allow M117 messages to show during a print), or will that be coming in a future firmware release?

I just started my first print on FW5.1.0 and was greeted with this screen:

Not sure if the printer assumes OctoPrint to show OctoPrint's logo, or if other devices were being used for serial-port printing they would get other logos (like, for example, a Beagle Cam)... 

See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs

Posted : 26/11/2023 12:25 am
Sembazuru
(@sembazuru)
Prominent Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Replying because the edit window timed out...

I think I need to create a flap or something under the display. Because my display overhangs my table I can't see the status LEDs easily. Time to pull out the calipers and do a bit of brainstorming... (After a quick check on printables... Maybe someone else has already solved my minor issue.)

See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs

Posted : 26/11/2023 2:35 am
Sembazuru
(@sembazuru)
Prominent Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Erg... Editing window closed while writing my edit...

(After a quick check on printables... Maybe someone else has already solved my minor issue.)

Yes, already solved. One by BigDutch, and a remix of his by foorschtbar. Now, I have to decide which to use. It'll probably be the original one by BigDutch so I can easily see it from across the basement with the LEDs at about waist height.

See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs

Posted : 26/11/2023 2:45 am
Zappes liked
MysticGringo
(@mysticgringo)
Trusted Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

I just tested filament running out using Octoprint, and it was in fact detected as it should, and allowed me to put new new filament in. Thank you Prusa.

Posted : 29/11/2023 3:34 pm
Zappes
(@zappes)
Reputable Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Please excuse the dumb question, but I've never used Octoprint, so I am entitled to a lack of knowledge. 🙂 Does one need a RPI with its own LCD for using Octoprint, or would that work in "headless" mode and use the Prusa LCD for displaying information?

My models on Printables
Posted : 29/11/2023 3:36 pm
Sembazuru
(@sembazuru)
Prominent Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

You don't need a display for OctoPrint, though there are some display options available. It should work fine headless and can be accessed over your home network with a browser. OctoPrint won't directly show anything on the display on the printer, but latest firmware (5.1.0 on MK4, not sure about XL since I don't have one) will noticed that you are printing by pushing gcodes over the USB C connector (this is the connector on the back of the Buddy board enclosure, not the USB on the side of the display) and will show the OctoPrint logo. My suspicion (without testing) is the M604 will (possibly among other things) clear the OctoPrint logo.

FWIW, you don't have to use a RaspberryPi to run OctoPrint. It can be run on almost any computer-like device if you can figure out how to install it. There should be instructions for several popular computing options on the OctoPrint site, I haven't had to use them so I don't know where off the top of my head. I would expect that odd-ball computing solutions aren't officially documented, and would be up to you to figure out. For example, I doubt anyone has tried to run OctoPrint off of an Amiga computer, but an old Android phone might be a possibility... All that said, the easiest way is to use a Raspberri Pi because there is a distro specifically developed to run OctoPrint called OctoPi. And I think it is available on the standard RaspberryPi imager program that you use on your computer to put the RaspberryPi operating system initially on a SD card.

See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs

Posted : 29/11/2023 8:24 pm
Zappes liked
crueby
(@crueby)
Active Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Just upgraded my Mk4 printer to the new 5.1.0 firmware, and am printing a binary gcode just sliced with the 2.7.0 PrusaSlicer. One thing I noticed was that during printing it is no longer showing the progress with the picture of the object in the background like it did previously. I checked in the slicer, and it has the defaults for the image formats and its enabled to include the preview. Is showing the preview still supported? Will it work with the binary gcode at present?  I have not made any changes in my configuration in the slicer, using all the defaults.

Posted : 30/11/2023 12:52 am
crueby
(@crueby)
Active Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Okay, that is odd - when it hit 25% (of a 2 hour 6 minute print) the preview image appeared. Does it wait for a certain height above the platen to show it? This is a shallow height print that covers most of the platen.

Posted : 30/11/2023 1:01 am
Chris_KA
(@chris_ka)
Active Member
RE:

Kudos to Prusa for the 5.1 stable Version. I used my MK4 with a 0.6 nozzle and hat problems with under - extrusion and bed adhesion with the textured and smooth sheets especially with PETG. My first test resulted in perfect prints with the textured print sheet using my nozzleX 0.6 and PETG. 

With this firmware things are getting much more reliable like with my MK3+. Keep up the good work.

This post was modified 1 year ago by Chris_KA
Posted : 30/11/2023 10:16 am
Tomáš Karásek
(@tomas-karasek)
Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Hi all,

I updated my MK4 to fw 5.1.0 and I am not able to see preview before printing.  

Any changes in new version?

Thanks.

Posted : 02/12/2023 8:36 pm
miroslav.h4
(@miroslav-h4)
Honorable Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

You must be using Prusa Slicer 2.7.0 at the same time. This is because FW 5.1.0 uses a new image format (QOI). It is written about above in the description of FW changes.

Posted : 03/12/2023 4:16 pm
Tomáš Karásek
(@tomas-karasek)
Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

I have it. What should be setting of QOI?

I use this:

16x16/QOI, 313x173/QOI, 440x240/QOI, 480x240/QOI, 640x480/PNG

I see just during the printing but I would like see it before print.

Posted : 03/12/2023 5:25 pm
Patriot50
(@patriot50)
Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

bring back the png... QOI not working for me with the sliver 2.7.0.  Seems as stable as before.  Had to reset once as it got lost and started printing 10cm above plate.

Posted : 11/12/2023 10:48 pm
Paco
 Paco
(@paco-3)
Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Hola

Soy nuevo en la impresión 3D y quizás mis dudas se deban a mi ignorancia.

Compré hace unas semanas la impresora MK4 e imprimí algunas piezas con los valores por defecto. Al actualizar a la versión de firmware 5.1 ya no me aparece el tiempo restante de impresión, tampoco me hace el calibrado de la cama, por lo que la primera capa queda imperfecta, además, chorrea PLA quedando unos hilos que resulta difícil eliminar con la pieza terminada.

Seguro que estoy haciendo algo mal, pero no sé que puede ser.

Gracias

Posted : 13/12/2023 8:36 am
Brew
 Brew
(@brew)
Active Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

¿También actualizaste tu PrusaSlicer a 2.7.0?

Posted : 13/12/2023 6:18 pm
Paco
 Paco
(@paco-3)
Member
RE: 5.1.0 Firmware for Original Prusa MK4 is out!

Sí. Versión 2.7.0+win64

Posted : 13/12/2023 6:48 pm
Share: