Firmware 5.0.0-alpha1
Hi guys,
I happy to announce our firmware with input shaper for 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 are attached at the end of the Github release.
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)
Full release log: https://github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.0.0-alpha1
/ Knowledge Base
The guy behind Prusa assembly manuals...
RE: Firmware 5.0.0-alpha1
Once you download the latest profiles to your PrusaSlicer (2.6.0-beta2 or newer), you should see the following:
/ Knowledge Base
The guy behind Prusa assembly manuals...
RE: Firmware 5.0.0-alpha1
as soon as my current print finishes I will update and give this a shot. Thank you Prusa team!!
RE: Firmware 5.0.0-alpha1
Is there a option to use input shaper profile withe a 0.6 nozzle?
RE: Firmware 5.0.0-alpha1
Question,
Linear Advance and Pressure Advance are the same, why both ?
Will there be an easier way to change these values ( Linear Advance and Pressure Advance ) than via G-Code.
For example in the Filament tab with an extra Window where you only enter the Number.
RE: Firmware 5.0.0-alpha1
just change the nozzle and the settings - I did it and it is fine
/Serge
RE: Firmware 5.0.0-alpha1
Is there a option to use input shaper profile withe a 0.6 nozzle?
Very interested in this!
RE: Firmware 5.0.0-alpha1
Simply change the nozzle and change the printer settings to 0.6, on the slicer do the same.
/Serge
RE: Firmware 5.0.0-alpha1
I read on the github page that the input shaping value for the Y axis changes incrementally with big models. I am very curious as to how this is implemented, is it after a set amount of grams? Would it be possible to recalculate the Y axis value every layer based on how much material was printed in the last one?
RE: Firmware 5.0.0-alpha1
For me, the updated presets for the Alpha IS were not available until I pulled down 2.6.0 beta 3 and was then prompted. Manually clicking the config update said no additional configurations were available. Just throwing that out there for others who may run into it as well.
RE: Firmware 5.0.0-alpha1
But I think pressure advance should be differ by nozzle size
RE: Firmware 5.0.0-alpha1
Is this firmware suppose to help with the "regular" non-IS printing as well? Thinking of "Precise stepping" and if it will help with the terrible vibrations/resonance I experience at first layer and at slower speeds? According to support there would come a firmware fix for these issues, but I'm unsure if this is also that fix?
RE: Firmware 5.0.0-alpha1
Is this firmware suppose to help with the "regular" non-IS printing as well? Thinking of "Precise stepping" and if it will help with the terrible vibrations/resonance I experience at first layer and at slower speeds? According to support there would come a firmware fix for these issues, but I'm unsure if this is also that fix?
try it out! Mine has been quiet from the get-go but it did seem to get even quieter with the IS firmware
RE: Firmware 5.0.0-alpha1
I also have the 2.06 A3 but no input shaper.A configuration update is also not available.Could someone upload their config?Or is there another method?
For me, the updated presets for the Alpha IS were not available until I pulled down 2.6.0 beta 3 and was then prompted. Manually clicking the config update said no additional configurations were available. Just throwing that out there for others who may run into it as well.
RE: Firmware 5.0.0-alpha1
You mention the version A3, meaning "alpha3"? You need "beta3" and then the config update will be offered at the first start. If not you select Configuration > Check for configuration updates. Then you need to add a new printer "MK4IS" as a new printer in the Configuration Wizard.
RE: Firmware 5.0.0-alpha1
Sorry, my mistake I have the Beta3.I even deleted my beta configuration folder for a fresh install. But in the assistant I can only select the normal MK4. The MK4 with input shaper, as I could see it here in the pictures, does not exist for me.
RE: Firmware 5.0.0-alpha1
OK done. After I've looked for an update several times now, it was now available at once. For whatever reason.
RE: Firmware 5.0.0-alpha1
I had just started a print that was going to take 24 hours to run when I got the announcement. I loaded the new printer profile and re-sliced the print, and when I saw the new estimate of 7.5 hours, I stopped the job, upgraded the firmware, and let it rip. 7.5 hours later, voila, job complete, no loss of quality.
Excellent job, Prusa!
RE: Firmware 5.0.0-alpha1
I'm having very good success printing with the IS profile.
One request: can we get rid of the disclaimer screen on boot up that requires a button press on the printer? I do everything remote including powering the printer up/down and my lazy butt doesn't want to go printer to accept a disclaimer that I've accepted 1000 times already. Thanks!