Releases: prusa3d/Prusa-Firmware-Buddy
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 [email protected] 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...
5.1.0-alpha1 Firmware for Original Prusa MINI
Summary
- One codebase to rule them all
- Input Shaper functionality added
- Prusa Connect support
- Known bugs
This is the first public release of the 5.1.0-alpha1 firmware for the Original Prusa MINI+ & MINI. Since both printers share the same motherboard (Buddy), the release notes will describe the changes for MINI only. This is an alpha release dedicated only to experienced users. Features in this firmware are still being developed 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 MINI printer. In case you are running any 3rd party upgrade, be careful and let us know in case of any issues.
The Original Prusa XL (single and multi-tool) Input Shaper internal tests are underway, and a public testing release is expected soon. The multi-board architecture of the XL is more complex and requires additional work.
One codebase to rule them all
Starting with this release, the MINI will be using the same firmware codebase as the Prusa MK4. The MINI team was working on implementing the new features from the MK4 branch for several months - the biggest challenge was to adapt the code for a different CPU and lower RAM size. It couldn’t have been done without heavy optimizations.
As a result, your MINI will get several major improvements. To name a few features:
- Faster printing thanks to:
- Input shaper
- Pressure Advance
- Precise Stepping
- User Interface refresh
- Prusa Connect support
- Latest PrusaLink
We like to support our machines for many years after launch with regular updates and improvements. We're pretty sure that with this firmware release, your MINI will feel like a brand new printer.
Please note, that this alpha firmware for MINI utilizes a different QOI image format (previously PNG). G-codes with the new thumbnails can be prepared in the upcoming PrusaSlicer 2.6.2.
Input Shaper and Pressure Advance
Similarly to the MK4, the 5.1.0-alpha1 firmware for the MINI comes with three new major additions - Input Shaper, Pressure Advance and Precise Stepping.
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 accelerations, 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.
Firmware update instructions
Make sure you are running 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-alpha1 firmware. Note that the upgrade might take longer than usual.
You will need PrusaSlicer 2.6.1 (or newer) and the special MINI Input Shaper profiles to slice your own objects with Input Shaper and Pressure Advance support. If you don’t see an automatic pop-up window with updated configuration files when you launch PrusaSlicer, use Configuration -> Check for Configuration Updates menu to download the new profiles. Then go to Configuration -> Configuration Wizard to add the “Original Prusa MINI & MINI+ Input Shaper (Alpha)”.
To download the latest version of PrusaSlicer, please visit prusaslicer.org.
Dedicated forum section and testing G-Code
We have created a new subsection in the MINI+ forum, where we can together discuss all the things related to Input Shaper. Our support team will be there, collecting feedback, and answering questions. Share your successful prints, ask questions, and report bugs - please check the list of known issues at the end of the release notes before you post.
We have also prepared pre-sliced Benchy G-Codes for you to test the increased speeds:
- BonkersBenchy - takes only 16 minutes to print, see the YouTube video
- SpeedBoatRace - follows the official #SpeedBoatRace challenge rules
For both G-codes, please use standard PLA (e.g. Prusament PLA Galaxy Black) instead of various blends, silks, -fills and other “non-standard” PLA variants that require different print settings. Read the instructions thoroughly before you start printing. The G-codes are attached below the release notes.
Forum link: prusa.io/mini-input-shaper
G-Code changes
You can use custom G-Codes to fine-tune various Input Shaper and Pressure Advance parameters - please see the MK4 5.0.0-alpha1 firmware release notes for more information.
Preparation and Troubleshooting
The fastest 3DBenchy G-Code will be printed several times faster compared to the previous MINI+ firmware and stock profiles. To achieve the best possible print performance, we strongly suggest performing basic maintenance on the MINI+ before you start. Make sure the belts on the X and Y axes are not loose, the nozzle is in good shape, and there’s no debris on the smooth rods.
If you encounter layer shifts, the usual cause are loose belts. Adjust the belt tension according to our MINI guide.
If you want to revert back to stable firmware, please follow the instructions in the handbook. In short: place the stable firmware version on a USB drive, insert it into the printer and during the startup (when the logo is shown), press the knob once to force a firmware installation screen. Flash the stable firmware and perform a full factory reset.
Note: If you decide to downgrade the firmware, you might get occasionally stuck in a boot loop. You have to perform full factory reset including EEPROM wipe. Insert the USB drive with firmware, reset the printer, press the knob once, select the "Flash" button and press&hold the knob until a red screen appears. Then select "Erase" and wait until the printer finishes the entire procedure.
Printing your own models
Make sure you’re running PrusaSlicer 2.6.1 (or newer) and you’re using the MINI Input Shaper print profile
When printing your own objects, please consider the following:
- This is an alpha release and we continue to fine-tune the profiles. Some materials might be missing at the moment. Feel free to experiment and add them, if you want
- When printing large and heavy objects, PrusaSlicer / MINI firmware will automatically adjust the speeds as the height/weight of the object increases during printing
- You may consider increasing the nozzle temperature slightly if the results with stock speeds are not optimal
Prusa Connect support
Thanks to the new firmware, the MINI can fully utilize the Prusa Connect, therefore you are now able to send G-codes and control the printer remotely. To learn more about Prusa Connect, please visit this article.
Known bugs
- Using Prusa Connect can occasionally lead to BSOD.
- If the ESP Wi-Fi is outdated, the “update” message can become unresponsive. The workaround is to insert a USB drive with any G-code and then update the ESP from the “Network” menu.
- Due to the major changes to the code, the Octoprint is currently not working, however, we are already working on the fix.
- In rare cases the printer might have issues with homing, a temporary fix is to hold the print head for a while while homing.
5.0.0 Firmware for Original Prusa MK4 & MK3.9
Summary
- Input Shaper and Pressure Advance
- PrusaSlicer 2.6.0 and print profiles
- G-code compatibility
- Support for MK3.9
- Language translations
- Bug fixes
This is the stable release of firmware 5.0.0 with Input Shaper for the Original Prusa MK4 and MK3.9, featuring major changes and improvements to the code and user interface. This release is recommended to all users.
The Original Prusa XL (single and multi-tool) Input Shaper internal tests are underway, and a public testing release is expected soon. The multi-board architecture of the XL is more complex and requires additional work.
There were several testing stages preceding this release. Full release notes are listed below, while this text is an overall summary.
Input Shaper and Pressure Advance
Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It works by analyzing the printer’s movements and applying a filter to the input signals. 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 the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance.
PrusaSlicer 2.6.0 and print profiles
Input Shaper is just one part of the equation. You also need to supply “input-shaped” G-codes to the printer with all the necessary information included. First, make sure you have downloaded PrusaSlicer (PS) release 2.6.0 or newer.
Second, from the PrusaSlicer’s menu select Configuration -> Configuration Wizard. Proceed to select the Prusa FFF printers. There are two printers to choose from:
- Original Prusa MK4 - older set of profiles for firmware before 5.0.0. You can deselect it, so that it disappears from your selection while slicing.
- Original Prusa MK4 Input Shaper - select this printer to get full compatibility with the release 5.0.0 and newer.
Starting with the Input Shaper, there will be two profiles for the most common layer heights:
- Structural - settings are focused on quality, precision and structural integrity while retaining reasonably high printing speed (still much faster than pre-input-shaper era). Looking for high-quality and durable prints delivered quickly? This is your go-to option.
- Speed - short printing times are the top priority here. This profile pushes the printer closer to its limits while keeping good quality and accuracy.
To read some more information about PS profiles, please visit the 5.0.0-RC release.
G-code compatibility
G-codes sliced for MK4 before the Input Shaper era are compatible with release 5.0.0, however, they aren't using the new firmware to its full potential. Therefore, if you are printing older G-codes frequently, it is highly recommended to reslice them. You will get all the benefits listed above.
Support for MK3.9
The MK3.9 is a new addition to the Prusa family of printers. Most of the components are shared with the MK4, however, the motors for the X, Y and Z-axis are different. This brought some challenges to the firmware team and resulted in an automated check, which will decide whether your printer is MK4 or MK3.9.
This check happens during the initial calibration Wizard. However, you can also change it later on from the printer's menu by going to Settings -> Hardware -> Printer Type [MK4/MK3.9].
It is not recommended to experiment with the printer by selecting the opposite type of the printer you currently have. The firmware will expect different motors and send incorrect commands.
Also, please note that due to this change, there is a new motor sensitivity calibration procedure happening during the Selftest or homing, which might be a little noisy (mostly when the printer is checking for the end of each Axis), however, this is normal and expected.
Language translations
A brand new feature, which wasn't included in any of the previous releases is support for additional languages. Starting this release you can switch from English to Czech, Polish, German, Spanish, Italian and French.
The translations were checked multiple times by our translators and native speakers within the company, however, if you find any issues or confusing expressions, please let us know using Github Issues.
Bug fixes
- Flickering of the footer during the Selftest is fixed.
- Red screens are now accompanied by a distinct sound alarm.
- Selftest is now able to identify invalid measurements of the Y-axis on all xBuddy board revisions.
- We also eliminated a rare race condition that could result in the printer selecting an incorrect file for recovery after Power Panic.
5.0.0-RC Firmware for Original Prusa MK4
Summary
- PrusaSlicer profiles
- 4.7.2 firmware branch included
- Bugfixes
The firmware polishing of Input Shaper for Original Prusa MK4 is in its final stage, therefore it is time for a release candidate 5.0.0-RC. In case no major bugs are found, the next release will be a stable version of the Input Shaper for MK4.
Please note that the Input Shaper for Original Prusa XL (single and multi-tool) is part of a different development branch. However, internal tests are running and a public testing release is expected soon.
PrusaSlicer profiles
Input shaper is not only about the improvements to the firmware, but also about updates to the PrusaSlicer profiles (print speeds, accelerations, etc.). We would like to use this opportunity to rename the profiles in order to better reflect their use.
Before the Input Shaper, the PrusaSlicer had usually two profiles for each layer height:
- Quality - settings were primarily focused on the overall look and precision, with a compromise to the speed, thus taking longer to print
- Speed - settings were primarily focused on time savings, with a certain compromise to the look and precision
Starting with the Input Shaper, there will be two profiles for the most common layers heights:
- Structural - settings are focused on quality, precision and structural integrity while retaining reasonably high printing speed (still much faster than pre-input-shaper era). Looking for high-quality and durable prints delivered quickly? This is your go-to option.
- Speed - short printing times are the top priority here. This profile pushes the printer closer to its limits while keeping good quality and accuracy.
However, the situation with the new profiles deserves a bit of an explanation: increasing the printing (or travel) speed and accelerations isn't the only determining factor and it's not just about the hardware limits of the printer or the firmware either. There is another limitation - the printing material. Every filament requires to be properly melted in the nozzle, extruded at the correct temperature and cooled once deposited on the layer below. Too low or too high print temperatures, too little or too much cooling, and it will inevitably lead to various problems with the print - mostly poor interlayer connection and compromised structural integrity in general. The "Speed" profiles for our printers are optimized, so a printed object can be finished fast, but with only a small impact on its structural integrity.
Before these profiles get their final seal of approval, we would like to know your opinion on this matter. Join our discussion at: prusa.io/input-shaper
4.7.2 firmware branch included
Between the current release 5.0.0-RC and the previous 5.0.0-alpha4 firmware, we released a stable version 4.7.2. All the changes and bugfixes are now also incorporated into 5.0.0-RC.
Specifically:
- Custom nozzle diameter
- Temperature menu reordered
- Bug fixes
To read more about these changes, please refer to 4.7.2 firmware release notes.
Bugfixes
- Input shaper filter frequency adjustment for model weight does not reset after Power Panic anymore.
- Selftest is now able to identify invalid measurements of Y-axis on all xBuddy board revisions.
- We also eliminated a rare race condition that could result in the printer selecting an incorrect file for recovery after Power Panic.