Releases: prusa3d/Prusa-Firmware-Buddy
4.7.2 Firmware for Original Prusa MK4 & XL
Summary
- Custom nozzle diameter
- Temperature menu reordered
- Bug fixes
This is a final release of firmware 4.7.2 with changes for the Original Prusa MK4 and Original Prusa XL including multi-tool variants.
Custom nozzle diameter
Until this release, the printer allowed users to set the installed nozzle diameter only with predefined diameters. Starting with firmware 4.7.2, users can set nozzle diameters from 0.25 mm to 1.0 mm with steps of 0.05 mm. To set yours, visit Menu -> Settings -> Hardware -> Nozzle Diameter.
Temperature menu reordered
The menu allowing the user to set the custom temperature for the nozzle and heatbed is now reordered, with the nozzle being at the top as it is a more frequent choice. To set custom temperatures, go to Menu -> Control -> Temperature.
Bug fixes
- MK4: The printer no longer maintains heating the heatbed during Gear calibration as it was unnecessary.
- MK4: The printer no longer gets stuck if the Hotend fan error is not properly resolved (e.g. fan blades remained clogged with filament).
- MK4: Print speed after Power Panic is no longer incorrectly set to 100% or 50% and retains the value set in the Tune -> Print Speed.
5.0.0-alpha4 Firmware for Original Prusa MK4
Summary
- Support for xBuddy revision
Firmware release 5.0.0-alpha4 for the Original Prusa MK4 is focused on adding support for xBuddy revision.
Support for xBuddy revision
This firmware release is extending support for the upcoming xBuddy hardware revision. The system recognizes between the boards automatically and there is no need for user intervention. The same feature was also introduced in the stable firmware release 4.7.1.
The reason for a revision is due to a change in chip suppliers, however, there is no difference in performance between existing and upcoming hardware revisions.
5.0.0-alpha3 Firmware for Original Prusa MK4
Summary
- Power Panic fixed
- Networking fixed
- Layer skipping resolved
- Improvements to prevent layer shifts
- Bootloop fixed
- Minor fixes
Firmware release 5.0.0-alpha3 for the Original Prusa MK4 is focused on bug fixes and improvements.
Power Panic fixed
As noted in the previous releases, the Power Panic feature wasn't working correctly in all scenarios. For this release, most of the issues of implementing this feature alongside Input Shaper have been eliminated. However, further testing and debugging of edge cases are planned to ensure high reliability.
Networking fixed
Similar to Power Panic, the networking features also needed to be fixed. Both Prusa Link and Prusa Connect can be now safely used even with Input Shaper active. Developers are working on further improving the overall performance.
Layer skipping resolved
In the previous releases, the testers have observed an occasional layer skipping. Based on the internal investigation this issue was caused by Pressure Advance (PA). This release, therefore, introduces adjustments to the PA, which also fixes all remaining issues of PA during filament manipulations.
Improvements to prevent layer shifts
Recent adjustments to the stepper queue helped us to bring down the number of layer shifts significantly.
Boot loop fixed
Some users experienced boot loops, which were identified as bus-related. This release includes a fix.
Minor fixes
- Flickering of the footer during the Selftest is fixed.
- Red screens are now signaled with a distinct sound alarm.
- The movement of the axes if triggered from the printer's menu is now smoother.
4.7.1 Firmware for Original Prusa XL & MK4
Summary
- Single-tool G-code on a multi-tool printer (XL)
- Selftest extension (MK4)
- Support for xBuddy revision (MK4)
- Known Bugs
This is a final release of firmware 4.7.1 with changes for both the Original Prusa MK4 and Original Prusa XL.
Disclaimer: This firmware does not include an input shaper. To learn more about and download the latest version, visit prusa.io/input-shaper.
Single tool G-Code on a multi-tool printer (XL)
Until now, multi-tool printers have always picked the first tool when given a single-tool-specific G-Code. Starting this release, the printer uses a preselected tool for printing single tool G-Code. Users can preselect the tool from the Menu -> Control -> Pick/Park Tool.
Selftest extension (MK4)
Nextruder allows for user-friendly nozzle changes, however, some nozzles have different thermal properties, which might affect the behavior during heating and lead to failures in Selftest.
Starting 4.7.1, the user can make the system aware of the hardware setup in Menu -> Settings -> Hardware -> Nozzle Type [Normal/High Flow] This setting can be also adjusted immediately after a failed Selftest with an option to repeat the test.
Support for xBuddy revision (MK4)
This firmware release is extending support for the upcoming xBuddy hardware revision. The system recognizes between the boards automatically and there is no need for user intervention.
The reason for a revision is due to a change in chip suppliers, however, there is no difference in performance between existing and upcoming hardware revisions.
Known Bugs
- In case of a hotend fan error (e.g., filament stuck in fan blades) is not properly resolved (e.g. filament removed from the fan) and the user selects to continue with the print anyway, the printer might get stuck and the only option is to stop the print.
- A hotend fan error followed immediately by a Print fan error can lead to a system loop in the error screens.
5.0.0-alpha2 Firmware for Original Prusa MK4
Summary
- Optimization and code refactoring
- Fixing filament change procedure
- Known bugs
Firmware release 5.0.0-alpha2 for the Original Prusa MK4 is focused on bug fixes, code refactoring and optimization.
Optimization and code refactoring
Polishing the code base was our priority for this release. We have been able to eliminate system crashes (BSODs) in all known edge cases. Moreover, we have been able to restructure and streamline the code and even cut some unnecessary or redundant computations. These improvements are necessary for further development.
Fixing filament change procedure
Our most recent implementation of Pressure Advance caused issues during the filament change procedure. This has been solved by disabling PA during the unloading of the filament.
Known bugs
There are several bugs in the current alpha we are still working on.
- False filament runout is sometimes triggered without an obvious physical cause.
- Skipped layers can occur randomly.
- Random layer shift on X and Y axes.
- A boot loop can occur. Restarting the printer solves it (use the main switch, not the reset button).
- Power panic and networking functions can cause errors.
4.7.0 Firmware for Original Prusa XL & MK4
Summary
- Multi-tool support
- Other improvements
- Bug fixes
This firmware release 4.7.0 is focused primarily on the multi-tool XL printer. However, there are also improvements or bug fixes for single-tool XL and MK4. This release is considered stable and recommended to all users.
Multi-tool support (XL)
Support for multiple tools is part of the firmware from the beginning. However, this release significantly extends the capabilities and brings configuration Wizard for the multi-tool XL printer. Therefore, 4.7.0 is considered an initial release for dual-head XL and will be installed on the first shipped units.
Other improvements (XL, MK4)
This release includes many optimizations and changes to improve the user experience, see the list below.
Improvements valid for both XL and MK4:
- The loading time of the G-code Preview screen has been significantly improved.
- Temperature settings were unified to make them more consistent across all Prusa printers.
- Updates to Connect & PrusaLink including a complete overhaul of internal API.
- Temperature stability is now evaluated continuously, reducing the time needed to wait on the M109 G-code.
- The loadcell test has a new beep sound to signal the end of the loadcell calibration countdown.
- When a print fan fails while printing, and the user clicks "Continue," the firmware checks the status and warns once again if the print fan still doesn't work.
- The Extruder motor is now automatically disabled when the printer is probing the heatbed.
Improvements valid only for XL:
- Optimization of CPU usage (cutting up to 25% in idle state).
- The MK3 compatibility settings are now hidden.
- The M105 G-code now reports temperatures of all the heatbed segments (tiles)
- Unfinished Tests & Calibration warning is presented as other pre-print warnings.
- Tool Light can be disabled in Settings -> User Interface -> Tool Light.
- Tool Offset adjustment of the first tool has been removed from the menu, as there is no need for it.
- Better, more reliable filament checks & load/unload operations on all tools.
Bug fixes (XL, MK4)
Several reported bugs were fixed.
Fixes valid for both XL and MK4:
- Random triggers of the error “ESP not responding.”
- Opening a large G-code occasionally triggered a watchdog error.
- RPMs of all fans are measured only after startup because measurements after startup are more reliable.
Fixes valid only for XL:
- Errors during failed homing recovery.
- Fault in reheating of tools after a pause.
- Correction of footer item values when no tool is picked.
- Correction of axis limits factors in tool offsets.
- Accidental tool unlock is now prevented by moving the extruder a little to the left before homing.
4.6.4 Firmware for Original Prusa MK4
Summary
- Gearbox gears calibration
- Improved fan self-test
- Improved hotend self-test
- Z-axis homing coordinates adjusted
- Known bugs
This firmware release 4.6.4 primarily focuses on adding features to make assembly of the MK4 kit easier. It extends the self-test by implementing new routines useful for detecting and avoiding issues with the MK4 kit. However, these routines are useful for regular printer service as well.
Firmware 4.6.4 is a direct successor of firmware 4.6.2. The firmware 4.6.3 is almost identical to 4.6.4, therefore it doesn't have its own release notes and won't be available for download.
Gearbox gears calibration
A new or serviced gearbox requires a procedure to “settle in” the gearbox housing. Starting this release there is a new step-by-step guide built-in to the firmware, which will help the user to follow the steps and successfully complete the calibration process.
For factory-assembled printers, this procedure is already performed in-house. It is required only for the newly assembled kits or after servicing the gearbox. The gearbox calibration is part of the Wizard. To start it manually go to the LCD menu -> Control -> Gears calibration.
Improved fan self-test
The fan testing procedure has been improved for this release. Previously, only RPMs (Revolutions Per Minute) were checked, but it was possible to plug the fans incorrectly (switch their connectors). The algorithm has been improved to verify whether the fan connected to a specific connector is performing as expected.
- Success - Fan RPMs fall within the correct ranges
- One or both fans are outside expected RPM ranges: In this case, the test could not be conducted, indicating a possible hardware issue. Manual inspection is required.
- Fans are switched: The print fan RPM fall within the Hotend fan RPM range and vice versa. This suggests that fan connectors on the board need to be switched by the user.
Improved hotend self-test
The Nextruder heater block can be equipped with a Prusa silicone sock. This, however, changes thermal behavior during the heat-up procedure and as a result, the self-test can fail as it expects different values.
This firmware release allows the user to change the hardware setup and inform the system that the sock is now installed. This can be done either in Settings -> Hardware by toggling the option ON/OFF using a slider or immediately after a failed self-test with an option to repeat this test.
Z-axis homing coordinates adjusted
Until now the homing of the Z-axis was done inside the printing area based on the current size of a printed object. Starting this release the homing position is shifted outside the printing area.
Known bugs
- Boot loops can occur in some cases. In such a case a quick fix is turning the printer OFF and ON again. Developers are currently working on a fix.
- Red screen with I2C error - occurs rarely while the printer is booting up. Restarting the printer solves it. (use the main switch, not the reset button).
- If the print is paused for a long period, the nozzle cools down close to room temperature. Once the print is resumed the system incorrectly pauses the print again and it must be resumed by the user once more.
5.0.0-alpha1 Firmware for Original Prusa MK4
Summary
- Input Shaper functionality
- Pressure Advance functionality
- Printing your own models
- Known Bugs
This is the first public release of the 5.0.0-alpha1 firmware for the Original Prusa MK4. Since this is an alpha release, it is meant only for experienced users. Features in this firmware are still being developed and may not perform as expected. There are a few known bugs (see the end of the release notes), should you encounter any other bugs or issues with the printer’s performance, please report them via GitHub or in our forums.
Please note that all parameters included in the firmware and the print profiles are work in progress and subject to change! The print speed, travel speeds and accelerations are all work-in-progress and we’re working on further improvements.
You will need at least PrusaSlicer 2.6.0-beta2 (or newer) and the special MK4 IS profiles to slice your own objects with support for Input Shaper and Pressure Advance. 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 printer with correct profiles.
PrusaSlicer link
Input Shaper and Pressure Advance
The 5.0.0-alpha1 firmware 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 ghosting) by cancelling resonance vibrations. It works by analyzing the printer’s movements and applying a filter to the input signals. 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. It works by extruding extra filament during accelerations and retracting the filament during deceleration to maintain a consistent pressure inside the nozzle. Pressure Advance together with Input Shaper enables 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.
Dedicated forum section and testing G-codes
We have created a new subsection in the MK4 forum, where we can together discuss all the things related to Input Shaper. Our support team will be there, collecting feedback, 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 G-codes for you to test the increased speeds. We suggest starting with these objects, because we tested them internally and confirmed they can be printed without issues. For these objects, please use standard PLA (e.g. Prusament PLA Galaxy Black) instead of various blends, silks, -fills and other “non-standard” PLA variants which require different print settings. Read the instructions thoroughly before you start printing.
Forum link
List of G-codes
- BonkersBenchy (12 mins)
- Benchy (27 mins)
- Spatula (25 mins)
- Labyrinth (3h 19 mins)
All the G-codes can be downloaded in the Assets below.
G-code changes
You can use custom G-codes to fine-tune various Input Shaper parameters - see below.
Input Shaper - M593
Setting and activation of Input Shaper
- D - Set the input shaper damping ratio. If axes (X, Y, etc.) are not specified, set it for all axes. Default value is 0.1.
- F - Set the input shaper frequency. If axes (X, Y, etc.) are not specified, set it for all axes. Default value is 0Hz - It means that the input shaper is disabled.
- T[map] - Set the input shaper type, 0:ZV, 1:ZVD, 2:MZV, 3:EI, 4:2HUMP_EI, and 5:3HUMP_EI. Default value is 0:ZV.
- R - Set the input shaper vibration reduction. This parameter is used just for 3:EI, 4:2HUMP_EI, and 5:3HUMP_EI. Default value is 20.
- X<1> - Set the input shaper parameters only for the X axis.
- Y<1> - Set the input shaper parameters only for the Y axis.
Pressure Advance - M572
Set pressure advance parameters.
So far option S is supported, option W for adjusting smoothing time and D for selecting specific extruder (XL) will be added later.
- S - Set the pressure advance value. If zero the pressure advance is disabled. In range (0-1)
Safety checks
We have added a safety check for firmware compatibility - it can detect whether the G-code includes Input Shaper-related code. In case you’re running an older firmware (4.6.2) and attempt to print an Input Shaper-enabled G-code, the printer will raise an error.
M862.6 is used to check the G-code’s level and available firmware features
- P - Check available features during pre-print routine
- Q - List available features on serial console
How did we do it?
We have implemented Input Shaper that suppresses the printers’ vibrations. It can increase print precision, reduce ghosting and allows printers to accelerate their print speed. The profiles and frequencies are built-in the code, no user calibration is needed.
We have based our input shaper on the implementation in Klipper github.com/Klipper3d/klipper:
- Copyright (C) Dmitry Butyugin [email protected]
- Copyright (C) Kevin O'Connor [email protected]
Our implementation takes inspiration from the work of Dmitry Butyugin and Kevin O'Connor for Klipper in used data structures, input shaper filters, and some computations.
We chose a different approach for implementing the input shaper that is less computationally demanding and can be fully run on a single 32-bit MCU with identical results as the implementation in Klipper.
Preparation and Troubleshooting
The fastest 3DBenchy G-code will be printed several times faster compared to the previous MK4 firmware and stock profiles. To achieve the best possible print performance, we strongly suggest performing basic maintenance on the MK4 before you start. Make sure the belts on the X and Y axes are not loose, the nozzle is in a 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 guide: Adjusting belt tension
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 and hold the knob to force a firmware installation screen. Flash the stable firmware and perform a full factory reset.
Crash detection
Please note that due to high accelerations and print speed, the crash detection feature is not compatible.
Implementation limitations:
- When the parameters for the input shaper or the pressure advance change during printing, the printer must decelerate to zero velocity.
- The W parameter (smoothing time) of M572 is ignored, and it always has a value of 0.2.
- When the speed limits for travel moves and printing moves are exceeded, layer shift may occur.
- Travel move limit 400 mm/s.
- Print moves limit 400 mm/s.
- Temporarily disabled uploads and deleting files via Prusa Connect and PrusaLink when the printer is printing.
Printing your own models
Make sure you’re running at least PrusaSlicer 2.6.0-beta2 and you have downloaded the latest print profiles (in PrusaSlicer select Configuration -> Check for Configuration Updates menu).
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 / MK4 firmware will automatically adjust settings 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
Known Bugs
There are several bugs in the current alpha we are still working on.
- False runout is sometimes triggered without an obvious physical cause
- Layer skip can occur randomly due to e-motor premature damping
- Random layer shift on X and Y axes
- Boot loop can occur, restart of printer solves it (use the main switch, not the reset button)
- Power panic and networking infrastructures are not yet debugged with IS and can lead to number of errors
- BSODs might still occur in rare error states
- In case the unload filament procedure is cancelled, system will crash (BSOD)
4.6.2 Firmware for Original Prusa MK4
Summary
- Adjustments to the Selftest
Note: this release is focused on the MK4 and has no effect on the XL.
Adjustments to the Selftest
The Selftest procedure was adjusted for this release, specifically the speed of movements on the X/Y-axes and the sensitivity of the stallguard.
There is no need to re-run the selftest, if your printer is already successfully calibrated.
4.6.1 Firmware for Original Prusa MK4 & XL
Summary
- MK3 G-code compatibility
- New Home screen
- Homing improvements
- Changes to Live Adjust Z
- Footer Items settings improved
- Prusa Connect and PrusaLink improvements
- Improvements to the Factory Reset feature
- Calibrations and Tests on improvements
- Tool changer usage statistics
- Bugfixes
This is the final release of firmware 4.6.1 focused on fixes and optimizations. Kudos to the community for reporting the issues!
Please note this bug fix release does not include the Input shaper. It will be part of the upcoming firmware release.
Unless specified in the title, the changes described below are valid both for MK4 and XL.
MK3/MK3S/MK3S+ G-code compatibility (MK4)
Starting this release you can print your old MK3/S/+ G-codes on the MK4 without issues. Once the user starts the print, firmware scans through the G-code and replaces MK3-specific commands for MK4.
New Home Screen and Print preview screen
Due to upcoming improvements, the logo was removed from the home screen, and the space was used to increase the size of icons. Similar adjustments were made to the print preview screen.
Homing improvements
Homing algorithm has been improved in several ways.
- The precision of homing in the X&Y axes was improved compared to the previous release.
- Homing in the Z-axis is now more sensitive, fixing occasional firmer nozzle touches.
- Failed homing does not result in a red screen
- The Stallguard is now used when homing in Z for extra safety
- The printer bumps the right edge on the XL to align the tool changer pins.
Changes to Live Adjust Z
The Nextruder is equipped with loadcell technology and the vast majority of the first layers will be handled automatically by the internal algorithm. However, in some edge cases, you might have a reason to adjust the offset between the nozzle and sheet surface manually.
While the first layer is printed, press and hold the knob for a few seconds. The screen will change to Live Adjust Z. The value will remain saved until the end of print, then it will be reset back to zero.
Footer Items settings
The footer can be adjusted by the user and default values can be changed with multiple others (fan speeds, temperatures, filament sensor status, …). This release brings a small improvement and the user can now scroll through the list using the knob, previously it was necessary to press the knob to go through the list.
Prusa Connect and PrusaLink improvements
Developers have optimized file transfers between Prusa Connect and the printer resulting in higher transfer speed. PrusaLink and Prusa Connect are now also informing the user about the installed nozzle. Note that the nozzle diameter has to be set correctly by the user in the settings menu of the printer.
Improvements to the Factory Reset feature
This release splits the traditional “Factory reset” into two options:
- Reset Settings & Calibrations - this option deletes all changes done by the user and reverts the system to its original state. For most of the cases, this is a sufficient method. Technically speaking only the EEPROM with user stored data is deleted. Once, the reset is done, the printer will boot to language selection, followed by the calibration wizard.
- Hard reset (USB with FW needed) - due to the complex partition layout, the firmware is storing its settings not only in the EEPROM but also on the XFLASH. In some edge cases, it might be necessary to delete both of these. Once this reset is done, the user has to insert a USB drive with firmware as some parts of the XFLASH have to be created again from scratch. Please note that in this version, you need to reflash it with the same firmware version - 4.6.1.
Calibrations and Tests on improvements (XL multitool)
The firmware team is currently polishing the features for the tool changer version of the XL based on the feedback from the ongoing testing.
- The “Kennel” was renamed to “Dock”
- Time estimates are now shown for longer calibrations.
- The calibration now works even when started without any tool.
- There are new images for the Dock Calibration.
- Z-Align now hits the top of the Z axis.
Tool changer usage statistics (XL multitool)
The Statistics screen now tracks additional information on XL’s tool changer usage.
Bug fixes
Filament sensor fixes (XL multitool)
The developers have fixed reported issues with filament sensors on the XL with multiple tool heads. Their calibration is now improved and simplified. The autoload is triggered by the correct filament sensor and runout is triggered by both of the sensors.
Bed position improved (MK4)
In the previous release 4.5.4, the heatbed remained parked all the way in the front, if the x-axis test failed and as a result partly covered access to the LCD screen. This is now fixed.
Power Panic fixes
In some cases, the Power Panic procedure could end in a red screen while returning to print. This code is now optimized to prevent such behavior.