Releases: prusa3d/Prusa-Firmware-Buddy
5.2.1 Firmware for Original Prusa MK3.5
Summary
- MMU3 support for the MK3.5
- Using the MMU3
- Bug fixes
This is a stable release of the firmware MK3.5 recommended to all users. Starting firmware 5.2.1, we are rolling out official support for the MMU3 for this printer model. You need to update your MMU3 unit and calibrate the entire setup, so please read the instructions below carefully.
MMU3 support for the MK3.5
The latest generation of our Multi-Material Upgrade (MMU3) is now officially compatible with the Original Prusa MK3.5. This is the first release of the MMU3 working together with the 32-bit Buddy hardware. Some features are similar to the 8-bit MK3S+, some were improved fully utilizing the larger LCD of the MK3.5. Here is a quick overview of the hardware and software prerequisites with the following calibration setup:
Single material MK3.5 calibration
As usual, before you install the MMU3 on your printer, make sure the MK3.5 was successfully calibrated and at least one single material print was done. The Multi-Material Upgrade adds more complexity to the entire setup and in case of issues, this move significantly improves the troubleshooting experience.
Upgrade your MK3.5
To use your MK3.5 with the MMU3, you need to upgrade the upper part of the extruder with new printed parts, which we familiarly call “the chimney”. All the parts are included in the MMU3 package and will soon be available on the Prusa e-shop.
Tip: MK3S+ MMU3 owners, who are upgrading to the MK3.5 can keep their extruder intact as both MK3S+ and MK3.5 are using the exact same extruder parts.
Connect your MK3.5 with MMU3
Before you fire up the printer, you need to use the MMU3 xBuddy cable, which is either part of the MMU3 MK3.5 package or can be purchased separately on the Prusa e-shop.
Tip: MK3S+ MMU3 owners, who are upgrading to the MK3.5 need to purchase just this cable, the rest of the setup remains the same as on the MK3S+. For more information visit our MMU3 compatibility article.
Enable MMU3 & MK3.5 setup
The multi-material setup is by default disabled and has to be enabled in two places:
- First, head to Menu -> Settings -> Hardware -> Extruder and set the value to “MMU”. This informs the printer that the Extruder was rebuilt with the MMU parts and the position of the filament sensor was changed.
- Second, go back to Settings -> and set the row “MMU unit” to “Enabled” (switch icon)
Tip: If you want to run single material prints without the MMU unit, the autoload trigger won't work as the position of the filament sensor is changed. For this reason, the feature is hidden from the menu, however, it is still present in the firmware and you can trigger the autoload by pressing on the upper part of the idler door lightly. While using the full MMU setup this is not needed at all and the filament will be loaded all the way to the nozzle.
Shortly after enabling the MMU setup, the unit performs a self-test and rehomes both selector and idler. On the main screen, menu Filament will change its icon from single to multiple spools. Please note, that it takes approximately 10 seconds for the MMU3 unit to fully start up, during this period the Filament menu is disabled.
Update your MMU3
You need to update your firmware inside the MMU3 unit. Use the MicroUSB cable included in the MMU3 package. Download the firmware 3.0.2 linked under these release notes and flash it using PrusaSlicer like any other firmware.
Please note, that unit's firmware 3.0.2 must be paired with the printer's firmware 5.2.1. No other version combination is possible at the moment.
Calibrate your FINDA and “Chimney”
Similar to the MK3S+ you need to manually adjust the position of the FINDA sensor in the MMU3 unit and the Filament sensor in the “Chimney”. Please follow the official assembly instructions.
Update your PrusaSlicer profiles
We have prepared several multi-material test prints, which are available on Printables. However, if you want to print your own, make sure you are running the PrusaSlicer 2.7.1 and check for the profile update. Once you install the latest package, check the “Configuration Assistant” for new MK3.5 MMU3 profiles.
Using the MMU3
General information
MMU3 for the MK3.5 brings some improvements and new features (e.g. inherited tool mapping from the XL). However, we wanted to ensure that the current MK3S+ users, who upgraded recently to MK3.5 will be able to use the MMU3 as they are used to.
To learn more about the features (Preload to MMU, SpoolJoin, Tools mapping screen, etc.) we recommend reading the 3D printing Handbook, which is part of the MMU3 package.
Single-material prints
Starting single-material prints is easy as never before - just select the right printer tool and assign it to your G-code. The printer will start the print, load the selected filament, cool down a bit, perform the mesh bed leveling (MBL), and then draw the purge line.
Please note, that the tools mapping screen is displayed only when the print is started with no filament in the nozzle. Otherwise, the print is started directly without showing the tool mapping screen.
Bug fixes
MK3.5: Sensor info - board temperature missing
This issue was reported on GitHub as #3745 and later a pull request was suggested by Bjoern #PR3749. We would like to thank the community again for engaging in the development!
6.0.0-alpha Firmware for Original Prusa XL
Summary
- Phase Stepping
- Phase Stepping Calibration
- RGB Side Strip Dimming
- Known Issues
This is a public release of the 6.0.0-alpha firmware for the Original Prusa XL. This is an alpha release intended for experienced users. The features in this firmware are still under development and may not perform as expected. Should you encounter any bugs or issues with the printer’s performance, please report them via GitHub or in our forums.
Phase Stepping
Overview
In the early stages of development, we selected the Trinamic 2130 drivers to have the options to further improve the stepping of motors in the XL. As a result of this development, we see improvements in print quality and a reduction in printer noise. Due to the natural variance in stepper motor manufacturing, each motor responds uniquely to driver signals, causing visible fine artifacts (VFAs) and noise. Phase Stepping customizes the drive signal for each motor, addressing these discrepancies by reducing VFAs and audible noise, thereby enhancing the printing experience.
Our developers are currently working on a stealth mode, which reduces printer noise. You may be familiar with our stealth mode implementation on our MK3 printers.
Phase Stepping Calibration
How it works
The printer will move the print head (in the case of the Multi-Tool it will select the first print head) to the middle of the bed and start to move the tool diagonally for the X and Y axes at different speeds - while collecting data from the accelerometer located on the Dwarf. The goal is to measure the characteristics of the motors and store these settings
How to Perform the Calibration
After updating the Firmware navigate to Menu - Control - Calibrations & Tests - Phase Stepping Calibration. The calibration shouldn't run on multiple printers side by side simultaneously. The neighboring printer performing similar motions may affect the measurement.
Phase Stepping and crash detection
Currently, if Phase Stepping is enabled, crash detection is disabled. This is due to technical reasons. Developers are investigating whether these two features can work together.
RGB Side Strip Dimming
Starting this release you can enable or disable dimming for the LED side strip.
Go to Menu - Settings - User Interface - RGB Side Strip Dimming
Known Issues
if you run the X-axis test independently from the menu and have phase stepping enabled, the motor might make a whirring sound and the axis test often fails. The overall self-test works after the printer is flashed.
5.2.0 Firmware for Original Prusa MK3.5
Summary
- MK3.5 introduction
- Firmware flashing
- Upcoming features
- Deprecated features
This is the first public GitHub release of the firmware for the Original Prusa MK3.5 3D printer. Make sure to read all the information provided below before you upgrade your printer to MK3.5.
MK3.5 introduction
The MK3.5 kit enables you to upgrade your MK3S and MK3S+ with plenty of new and useful features. You will get 32-bit electronics along with a new LCD, as well as Wi-Fi and LAN connectivity with support for remote print management via Prusa Connect. Last, but not least, the printing speed will be significantly faster thanks to Input Shaper and Pressure Advance support.
To learn more about MK3.5, please follow this link
Firmware flashing
Although the MK4 and MK3.5 share the same xBuddy motherboard, their firmware is distributed separately. Once you boot the printer up, the system will check for the hardware configuration and in the case it detects the MK3.5, it will ask you to insert the bundled USB flash drive with the MK3.5 firmware on it, reboot the printer, hit the knob once and install it.
The same firmware can be downloaded from under these release notes.
Attention: Don't try to run the MK3.5 with MK4 firmware and vice versa. Both printers utilize different sensors (e.g. Loadcell vs SuperPINDA) and this might lead to damage to your printer.
Upcoming features
The Original Prusa MK3.5 firmware 5.2.0 is perfectly capable of printing, running wireless connection and utilizing remote control via Prusa Connect. However, there are some features, mostly for advanced users, which will be added later on.
Here is a list of the upcoming features:
Adjustable mesh bed leveling
The mesh bed leveling (MBL) is already part of the firmware and is performed before each print to ensure a good, consistent first layer. However, the MK3S/MK3S+ allowed you to change the MBL parameters like:
- the size of the Mesh (3x3, 7x7, 9x9)
- the number of Z-probe (1x, 3x, 5x)
- compensate for the heatbed magnets (ON/OFF)
These extra parameters will be added in future firmware releases.
Thermal model calibration
Last year we introduced another safety feature to further improve the security of the MK3 family of printers. You can learn more about it in this article. This feature is currently under development for the 32-bit firmware which runs on the MK3.5.
You can, however, run the MK3.5 without any worries. There are already multiple sensors and firmware watchdogs ensuring the printer's safety.
Bed level correction
Before the printers are shipped from our factory, each part is inspected for quality. Namely, the Y-carriage, heatbed, and frame are inspected for tolerances to ensure the print surface is perfectly flat. As a result, the majority of the printers should be fine without any need for adjustment by the user.
However, in some cases, there might be a need to compensate for even the slightest imperfections in the first layer. The bed level correction allows you to adjust the heatbed corners in software - i.e., raise or lower the heatbed on the Left, Right, Front and Back sides. This feature is also under development and will be added in the upcoming firmware release.
PID calibration
PID calibration (tuning) is a calibration procedure for advanced users that ensures the printer holds a stable target temperature at all times. Most of the Prusa printers with stock hotend should be working without any need for calibration.
However, we are aware that this feature might be needed in case of third-party hotends, therefore the developers are already working on finalizing the PID implementation.
E3D REVO hotend
As of now, there might be issues with running the REVO hotend produced by the company E3D on the MK3.5. While testing this configuration, we discovered that due to the strict checks built into the firmware, the initial self-test will fail.
It is possible to start the print, however, we recommend waiting for the upcoming release, which will extend the support for 3rd party hotends.
OctoPrint
Transferring the code responsible for supporting OctoPrint from the MK3S/MK3S+ to the MK3.5 firmware isn't possible due to the different system-on-chip (SoC) architecture. Therefore the developers had to start from scratch and the MK3.5 is now capable of printing using OctoPrint same as XL and MK4.
However, there are still some features that we are looking into, for example, while connected to Octoprint, only the logo is displayed on the printer's screen and all actions (e.g. start/pause/cancel print) have to be done in the web interface.
As an alternative we recommend trying Prusa Connect, which allows remote printing and together with Prusa Slicer enables seamless G-code streaming into the printer.
Print sheet profiles
With the MK3.5, you can save profiles for multiple print sheets. Just like the MK3S/MK3S+, once you've saved two or more sheet profiles, a new toggle will appear in the printer's menu, allowing the user to switch quickly between the sheet profiles. The only existing limitation is the inability to rename the sheets, this will be addressed in the future release.
Deprecated features
Belt test
The belt test originated a few years ago in the 8bit firmware allowing you to verify whether the belt tension is set in the optimal range for your MK3S/MK3S+. In the case of the MK3.5, this feature will be replaced with an online belt tuner available at prusa.io/belt-tuner, which can be accessed from your laptop, tablet or phone.
Linear advance
The MK3S/MK3S+ utilizes Linear Advance (LA) which predicts the pressure build-up in the extruder when printing at higher speeds. The firmware of the printer uses that prediction to decrease the amount of filament extruded just before stopping and decelerating, which prevents blobs or artifacts at the sharp corners.
With the MK3.5, this feature is no longer needed as it is replaced with Input Shaper & Pressure Advance achieving even better print results.
XYZ calibration
This feature dates back to the old days of the MK2 platform, where the printer's frame was susceptible to a certain degree of skew and XYZ calibration helped you to align it back.
Starting with the MK3, the frame became more rigid and perpendicular by design and with further improvements in the 32-bit firmware there is no need to keep this feature anymore.
5.1.3 Firmware for Original Prusa MK4 & MK3.9
Summary
- Printer type check on startup
This is a stable release of the firmware 5.1.3 for MK4/MK3.9 with improved troubleshooting. This release is meant as a base for future releases. If your printer is already calibrated and printing, you can skip this update.
Printer type check on startup
During startup, the printer checks available hardware and if the installed firmware doesn't match the hardware, the user will be asked to flash the correct firmware using the USB flash drive. The correct firmware can be always downloaded from help.prusa3d.com
This system check also includes support for the upcoming Original Prusa MK3.5.
5.1.2 Firmware for Original Prusa MINI, MK4, MK3.9 & XL
Summary
- Cancel Object (MINI)
- Nozzle diameter in Selftest (XL)
- Wipe tower info added (XL)
- Sending crash dumps to Tech support
- New bootloader 2.3.4
- Firmware flashing updated
- Bug fixes
This is a stable release of the firmware 5.1.2 for MK4/MK3.9, XL and MINI/MINI+ with several improvements. It is a direct successor to 5.1.0 and is recommended for all users.
IMPORTANT FOR XL users: After this update, you need to confirm your nozzle diameter as part of the self-test. This applies to both new and already calibrated printers. For calibrated printers, navigate to Control -> Calibration & Tests -> Nozzle Diameter Confirmation.
Cancel Object (MINI/MINI+)
The previous release brought a highly requested cancel object function to the MK4 and XL. This release adds support for MINI/MINI+. During a running print, you can open the “Tune menu -> Cancel Object” and select an object that you wish to stop printing (but you can also resume it, in case you select an incorrect one). The print will continue running and any G-code commands related to the canceled object will be ignored. This is perfect for cases where you’re printing many objects at once and one of them gets loose on the build plate.
Nozzle diameter in Selftest (XL)
During the initial calibration of your XL, you can now select your nozzle diameter. The available options are 0.4 mm or 0.6 mm, and the selected diameter will be applied to all available print tools. If necessary, you can always modify the nozzle diameter later in the printer's menu.
Wipe tower info added (XL)
We've added new details about the material usage on the wipe tower into the print statistics, which are displayed on the screen as a final summary at the end of each print. Please ensure that you slice your model using PrusaSlicer 2.7.1 or a later version.
Sending crash dumps to Tech support
In the event of a system crash, a memory dump is created. You can download this crash dump on a USB drive and send it to Prusa Research tech support for further investigation. The file may contain sensitive unencrypted information, therefore we strongly recommend sending the file directly to reports@prusa3d.com and avoiding uploading the file to any public cloud storage or sharing it on social networks.
New bootloader 2.3.4
This release updates the bootloader to version 2.3.4 for all printers (XL, MK4/MK3.9, MINI/MINI+), addressing manufacturing requirements, particularly in the initial firmware flashing stage.
Firmware flashing updated
In line with the bootloader update, the firmware has also been updated to improve the flashing procedure. The communication between the board and the flashing station is now done through UART.
Bug fixes
PrusaLink fix for Safari
A big thanks to user @pyrho, who reported an issue with logging into PrusaLink on Safari browser (issue #3287) and also managed to find the culprit. The initial valid period for the HTTP Digest Auth nonce was too short for Safari (5 seconds). Starting this release logging in on Apple devices should work without issues
Error 13604 fixed
A bug found in the firmware release 5.1.0 affects MINI, MK4/MK3.9, and XL printers. If a USB drive is connected during startup, the printer may keep asking for a firmware file (.bbf) and display error message #13604. This issue has been identified and fixed in the current release.
5.1.0 Firmware for Original Prusa MINI, MK4, MK3.9 & XL
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).
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:
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 ...
5.1.0-beta Firmware for Original Prusa MINI, MK4, MK3.9 & XL
Summary
- Unified self-test (XL/MK4/MK3.9)
- Alpha support of Octoprint
- Changes & Improvements
- Bug fixes
This is a public release of the 5.1.0-beta firmware for the Original Prusa XL, MK4 (MK3.9) and MINI. This is a beta release intended for experienced users. The features in this firmware are still under development and may not perform as expected. Should you encounter any bugs or issues with the printer’s performance, please report them via GitHub or in our forums.
This firmware incorporates new features (Binary G-code, Cancel object, G-code streaming, Input Shaper for XL) that were initially introduced in the previous releases 5.1.0-alpha1 and 5.1.0-alpha2.
Please note that this is a testing firmware developed primarily on stock unmodified printers. In case you are running any 3rd party upgrade, exercise caution and let us know in case of any issues.
Unified self-test (XL/MK4/MK3.9)
With this firmware release, we've standardized the self-test procedure for XL, MK4, and MK3.9 printers. While the steps remain largely unchanged, there are updates to the UI. If your printer is already calibrated, your results will be seamlessly transferred.
The firmware also no longer creates log files on the USB drive when running the Selftest.
Alpha support of Octoprint
This release includes improvements for users utilizing OctoPrint for remote printing. It's important to note that this implementation is still a work in progress, some features will be added (fixed) in future releases.
Current OctoPrint limitations
- Pause/Resume commands from OctoPrint are not functional (Pause/Resume the print using the screen for now).
- The Stop print command from OctoPrint is not operational (Stop the print using the screen for now).
- Multitool XL - If the tool crashes, the print cannot be recovered.
Changes & Improvements
New unified dialogue for unfinished self-test
The MK4/MK3.9 now displays a redesigned screen that notifies users when not all self-test steps are completed. This screen also replaces another UI dialog informing about a disabled filament sensor if the user has chosen to skip sensor calibration.
Updated Wi-Fi credentials system
Now, the system offers to update Wi-Fi credentials from a file on the USB drive only if the credentials are in the expected format.
Prusa Connect and PrusaLink improvements
This firmware brings better file synchronization handling and improved retry conditions. G-code downloads have been optimized for better server performance. Cleanup and recovery of Connect transfers have been also improved. PrusaLink has been updated - the download button is disabled when the file is still being downloaded from Connect.
Another improvement brings better transfer progress reporting and communication between the printer and Connect.
Smaller UI tweaks
- The Filament button has replaced the “Change” button in the pre-print screen
- Purge Filament option is always available, independent of the current filament sensor state
Bugfixes
- Network transfer is now recovered when USB is unplugged and plugged back in during file transfer
- Fixes for printer freezing when the USB stops responding
- “USB file error” when streaming a G-code has been fixed
- The printer used to show a BSOD screen instead of a red screen when a thermal issue was detected, this is now fixed
- A rare bug that could cause an issue with selecting prints in the file browser (item selection was not available) has been fixed
- A rare condition of a reentrant crash recovery has been fixed
- MINI only: fixes for common homing issues
- XL and MINI: fixed migration of footer settings
- XL only: The Reprint option has been fixed - once you reprint a finished project, you will correctly see the filament mapping screen before the print starts
- Occasional artifacts in the side scrollbar have been fixed
- When scanning for G-code metadata, the printer could encounter a memory corruption bug. This is now fixed.
- The printer could freeze while waiting for Loadcell samples (G-code G28/29 or in Tool Offset Calibration). This is now fixed.
- The cause of the “configASSERT” BSOD has been fixed
- Occasional unavailability of some items in the Footer Settings (e.g., not able to pick the “Sheets” footer item on the MINI) has been fixed
- XL only: heater test in Selftest has been fixed
- The cause of the stack overflow BSOD in media prefetch tasks has been fixed
- The bug causing the printer to get stuck at the Downloading screen has been fixed
- The Input Shaper menu now properly shows the current values
- Fixes related to USB drive and file access
- MK4 only: a bug that could prevent the Wi-Fi from working correctly has been fixed
- Issues with Tool Crash Recovery (within M600 and pauses) have been fixed
- The “Negative step time” BSOD has been fixed
- A rare case of a blob being created at the seam location has been fixed
- Improved the robustness of the internal random number generator, improves Connect safety features
- Issues with the USB CDC (serial port) connection to PC have been fixed
4.7.5 Firmware for Original Prusa XL
Summary
- Updated bootloader
Firmware release 4.7.5 features a new bootloader which was required in the internal manufacturing process. If your XL is already running the 4.7.2 firmware, you can skip this update. Firmware releases 4.7.3 and 4.7.4 were used solely for internal purposes and were not made public.
Updated bootloader
As part of this firmware release, we are introducing a new bootloader v2.1.3. This update includes support for the latest hardware revision of the xLCD. While this revision of xLCD offers the same features as the current version, it incorporates components from new vendors. Therefore, updating the bootloader is necessary to ensure proper recognition of this xLCD revision.
5.0.1 Firmware for Original Prusa MK4 & MK3.9
Summary
- Changes to self-test
- Extended Connect Wizard
- Timeout for G-code M115
- Updated bootloader
- Fixed bugs
This firmware release 5.0.1 is addressing self-test issues that may occur after assembling the printer. If your printer is already calibrated and printing without problems, you can skip this update.
We have recently released several firmware versions for MK4. Here's a quick recap:
- The latest stable firmware release is 5.0.0, which is recommended for all users.
- Today's release, 5.0.1, is a direct successor to 5.0.0 and is also recommended for all users.
- Additionally, we've introduced a development version, 5.1.0-alpha2, which we recommend only for experienced users.
Changes to self-test
While the majority of the MK4 printers assembled at our factory or at home (kit, upgrades) are passing the self-test for all axes, a small portion of the printers was failing. This issue was mostly connected with the X-axis. Based on the feedback and testing, the self-test parameters were adjusted to accommodate these printers.
As part of the self-test changes, we have also implemented an improved algorithm for calibrating homing sensitivity.
Extended Connect Wizard
Once the Wizard for Prusa Connect is initiated, the printer tries to establish a connection with the server. For better clarity the screen is now showing the amount of remaining attempts. If the connection fails, you will be informed citing a specific error. The message on the screen will also provide a link to our knowledge base site, with further troubleshooting instructions.
Timeout for G-code M115
When starting a print, the system checks for new firmware. If an update is available, a message is displayed on the screen, and until now, it prevented the print from continuing. This release addresses this issue by introducing a 30-second timeout, after which the print will resume.
Updated bootloader
As part of this firmware release, we are introducing a new bootloader v2.1.3. This update includes support for the latest hardware revision of the xLCD. While this revision of xLCD offers the same features as the current version, it incorporates components from new vendors. Therefore, updating the bootloader is necessary to ensure proper recognition of this xLCD revision.
Fixed bugs
- Red screen with “Heap Malloc Error” is now fixed.
5.1.0-alpha2 Firmware for Original Prusa MINI, MK4, MK3.9 & XL
Summary
- Input Shaper and Pressure Advance (XL)
- Firmware update instructions (XL, MK4, MINI)
- New Binary G-code (XL, MK4, MINI)
- Cancel object directly on the printer (XL, MK4)
- G-code streaming (XL, MK4, MINI)
- Pre-print screen (XL Multi-Tool)
- Wi-Fi setup with PrusaSlicer (XL, MK4, MINI)
- Faster file transfers (XL, MK4, MINI)
- Set ready (XL, MK4, MINI)
- Updated bootloader (XL, MK4, MINI)
- Bug fixes
- Known issues
This is a public release of the 5.1.0-alpha2 firmware for the Original Prusa XL, MK4 (MK3.9) and MINI. This is an alpha release intended for experienced users. The features in this firmware are still under development and may not perform as expected. Should you encounter any bugs or issues with the printer’s performance, please report them via GitHub or in our forums.
Please note that this is a testing firmware developed primarily on stock unmodified printers. In case you are running any 3rd party upgrade, exercise caution and let us know in case of any issues.
If you want to print on your XL with Input Shaper, you will need to flash this firmware release and install at least PrusaSlicer 2.6.1 with the XL Input Shaper profiles. In case you want to try the newest features (e.g. Binary G-code or Cancel Object), please download the PrusaSlicer 2.7.0-alpha1. If you don’t see an automatic pop-up window informing you about updated configuration files when you launch PrusaSlicer, check for updates manually. Use Configuration -> Check for Configuration Updates menu to download the new profiles. Then go to Configuration -> Configuration Wizard to add the printer with the correct profiles (please keep in mind that non-Input Shaper and Input Shaper profiles are separate and clearly named).
PrusaSlicer link
Input Shaper and Pressure Advance (XL)
This firmware release brings Input Shaper to both Single and Multi-Tool XL.
Input Shaper is a feature designed to reduce ringing (also known as echoing or ghosting) and overshoots during printing by smoothing out the accelerations and decelerations of the printer’s movements. It works by analyzing the printer’s movements and applying a filter to the input signals to reduce the ringing effect. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables 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 stepper, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance.
We have also prepared pre-sliced Benchy G-Codes for you to test the increased speeds:
- BonkersBenchy for Single-Tool XL takes only 12 minutes to print
- BonkersBenchy for Multi-Tool XL (dual-head) takes 36 minutes to print
Firmware update instructions (XL, MK4, 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-alpha1 or at least firmware 4.4.1, see the release notes for firmware files and instructions. Once the 4.4.1 is installed proceed to flashing the 5.1.0-alpha2 firmware. Note that the upgrade might take longer than usual.
New Binary G-code (XL, MK4, MINI)
G-code files are easy to read and interpret, but their downside is that the data is not saved efficiently and because of that the file size is often very large. Compressing the files is not the best solution because 3D printers usually run on specialized hardware and they may not have enough memory and/or CPU power to decompress such files.
Therefore, we are proposing a new standard for an open-source binary G-code format designed to encode and compress ASCII G-codes. Our testing shows that using binary G-code reduces the filesize by about 70 % on average.
To learn more about binary G-code, please visit our release notes of PrusaSlicer 2.7.0-alpha1.
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, however, we are investigating other options.
Cancel object directly on the printer (XL, MK4)
This firmware release brings the highly-requested cancel object function. During a running print, you can open the “Tune menu -> Cancel Object” and select an object that you wish to stop printing (but you can also resume it, in case you select an incorrect one). The print will continue running and any G-code commands related to the canceled object will be ignored. This is perfect for cases where you’re printing many objects at once and one of them gets loose on the build plate.
The easiest way to stop printing an object is to use the “Cancel Current” function - simply wait for the nozzle to reach the object you want to cancel and then select this option.
G-code streaming (XL, MK4, MINI)
This feature was designed to enable instant network printing. With G-code streaming support, you can start the print without the need to download 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.
As you can see from the graph above, the largest G-code (the V6 engine) originally took about 36 minutes to download before the printer could start printing. With the new G-Code streaming option, the print starts in 25 seconds.
The system is ready for unexpected scenarios, e.g., if there is a temporary problem with the network or there is a short power outage, the printing and streaming will resume automatically. Only in case of a longer network interruption, the printer will wait for the user to confirm to resume the print. In case of a major network outage when the connection cannot be re-established, please copy the G-code onto the USB drive manually.
This feature is currently available for both Connect and PrusaSlicer 2.7.0 or newer.
Pre-print screen (XL Multi-Tool)
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. 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.
Wi-Fi setup with PrusaSlicer (XL, MK4, MINI)
Setting the Wi-Fi on your printer requires creating a config file with Wi-Fi credentials (SSID and password). Until now, this file was generated by the printer during the network setup and the user was supposed to edit this file in the computer and then return back to the printer.
PrusaSlicer 2.7.0 or newer allows you to create the same config file in advance. In PrusaSlicer go to Configuration -> Wi-Fi Configuration File. Select a wireless network, fill in your Wi-Fi password, and choose the USB drive where you want to upload the file.
After you insert the USB drive into the printer, the system will recognize the config file and offer you to start the network setup. Once the Wi-Fi connection is established, the printer will ask you, if you want to delete the config file. Deleting the file is recommended as it includes the Wi-Fi password.
Faster file transfers (XL, MK4, MINI)
For those, who prefer using a USB flash drive or copying the entire file at once, this release brings several optimizations, which should result in faster transfer speeds. However, we highly recommend trying the G-code streaming option first.
Set ready
Another highly-requested feature was to have the ability to set the printer into a ready state for a scheduled re...