English
  • English
  • Čeština
  • Deutsch
  • Español
  • Français
  • Italiano
  • Polski
Login
  • English forum
    • České fórum
    • Polskie forum
    • Forum Français
    • Forum Italiano
    • Foro Español
    • Deutsches Forum
  • Recent Posts
  • Announcements
Forums
Search
 
Notifications
Clear all

Search result for:  hi- our printer

 Search Phrase:
 Search Type:
Advanced search options
 Search in Forums:
 Search in date period:

 Sort Search Results by:


Page 2 / 5 Prev Next
# Post Title Result Info Date User Forum
3.12.0 Firmware for MK3, MK3S, MK3S+   26 Relevance 3 years ago Same Old Shane General discussion, announcements and releases
  Greetings one and all; We are happy to announce the release of our 3.12 final release for our MK3 series of printers (MK3, MK3S, and MK3S+). Please read the updates and you will find the download links at the bottom of the post. Summary New thermal model protection Nozzle change menu NylonPA sheet profile added Arc interpolation features G2/G3 UI improvements and fixes New build environment New language scripts XYZ calibration updates New language scripts Updated translations Farm mode Bug fixes Known issues This is the final release of firmware 3.12.0. This changelog is a summary of the previous releases 3.12-beta1, 3.12-RC1 and 3.12-RC2. The main focus is on the new thermal model feature for improved safety. ATTENTION: Please note the thermal model requires calibration, which takes about 12 minutes to complete. It is recommended to perform the calibration in order for the feature to work properly. New thermal model protection (MK3/MK3S/MK3S+) History of development For the past several months, we’ve been hard at work to bring all thermal-related safety features to a whole new level. The 3.12-BETA firmware was the first public release of the new Thermal model protection. The firmware is now capable of detecting unexpected heating issues of any sort and stopping heating quickly (in 10-12 seconds) to avoid potential damage to your 3D printer. This encompasses cabling issues, an incorrectly working heater block, thermistor faults and external factors too (draft, blobs forming on the extruder, etc.). Check our detailed dev diary blog article explaining all the details behind this new feature. Protection is always active The thermal model protection increases the overall security of the heating system and starting firmware 3.12.0, will be turned on by default. Since every printer is slightly different it is necessary to calibrate the printer first. Calibrate the temp model on your printer In case the printer is updated from any firmware prior to 3.12.0, or a factory reset is performed, the thermal calibration is considered invalid and must be executed again! If this process is skipped by the user, the printer will beep and possibly pause more often. Temp model calibration is available in the LCD menu Calibration -> Temp model cal. as well in the initial setup Wizard. The calibration takes approximately 12 minutes and for the duration, you can’t give the printer any other commands. During the calibration the LCD status line shows which step it is going through at the moment. As soon as you see ”Original Prusa MK3S” on LCD, it is finished. Please re-run the temp model calibration to ensure the best performance and minimize the temp model warnings, when you change: the nozzle heater block the heater cartridge the hotend thermistor the print fan fan shroud complete hotend assembly When you add a silicone sock When you move the printer to a different environment (enclosure, etc.). printer behaviour While preheating:In case the algorithm detects any issue, the printer starts beeping. If the problem persists for about 10 seconds, the heating is stopped and the message “Thermal anomaly” is displayed. The printer continues beeping (calls for user attention). While printing:Similar to preheating, a discrepancy between the model and thermistor readings causes the printer to first beep and display “Thermal anomaly” and after about 10 seconds, the print is paused. The nozzle is turned off and the printer continues beeping. Please note, that once a “Thermal anomaly” is detected the printer “locks” itself to prevent any possible damage and it is necessary to perform certain actions. See more information below. Added Clear TM error To “unlock” the printer in case a “Thermal anomaly” is detected, there is a new option in the menu LCD menu -> Clear TM error to temporarily clear/acknowledge the issue. As this is only a “temporary” solution proper calibration is recommended. In case the temp model calibration doesn't solve this, please contact Prusa support or open a GitHub issue. Modded printers In case your printer is equipped with third-party components (heating or cooling), the thermal model might not be working properly. The developers are trying to expand support, but a large amount of data is needed to calibrate the model properly. Internally we have tested and analyzed over 150 000 OEM heaters and thermistors. We are aware that third-party nozzle E3D REVO is not working correctly and we have an active GitHub issue where users reported their values. At this moment we don’t have enough data to analyze these, so please if you are a REVO user share your log files there. Turning the thermal model protection off is not recommended, however, at your own risk it can be disabled via the serial line by sending G-code M310 S0 followed by M500 to make it permanent. Feedback report Please report positive feedback on the thermal model (with an ✔️ at the end of the release notes). In case you run into issues, start a New issue The report should contain at least following informations Reproducible: Yes/No printer model: MK3/S/+ stock or modified Modifications: Example E3D Revo or Copper block or different Fan shroud (with link) If a specific print causes issues. Please attach the printed model Try to add a serial log of the print failing. Nozzle change menu We added the necessary Nozzle change menu option under Settings -> HW Setup which disables the temp model temporarily. Please read Changing or replacing the nozzle (MK2.5S/MK3S/MK3S+) before you start. Please also keep in mind that changing the nozzle will need the first layer adjusted, as you will never be able to tighten the nozzle at exactly the same height as the previous one. We made this change thanks to the feedback from our community testers (see #3719). NylonPA sheet profile added The list of sheet profiles is now extended with the “NylonPA” option. Please note that this is just a name of the profile and there is no difference to other stock profiles (Smooth1, Texture1,...). Since the list of profiles is limited, the “NylonPA” is replacing the current profile “Satin2”. In order to see this change, a Factory reset is required. Before you do so, please write down the “Live Adjust Z” values for all the calibrated sheets. Once a Factory reset is performed, the default list is: Smooth1 Smooth2 Texture1 Texture2 Satin NylonPA Custom1 Custom2 Arc interpolation features G2/G3 Until now, whenever the printer was supposed to “draw” the shape of an arc, the internal logic of the firmware interpreted and printed it as a segmented line. In most cases, this will be unnoticed and the line will look rounded, but in some scenarios, this algorithm wasn't working properly. Community member @FormerLurker proposed a solution, which was tested internally by our testing department and they confirmed it works as expected. The printer is now capable of printing a smooth arc without any noticeable edges. This firmware release incorporates this pull request #2657 and we would like to thank FormerLurker for his amazing work. In case you want to learn more about this feature, please visit #2657. Additionally, this release also fixes long-standing issues regarding G2/G3 moves. The following things now work properly when executing G2/G3 commands: Pause/resume from the LCD or G-code Crash detection Filament runout Power Panic Fan errors UI improvements and fixes There are multiple fixes and improvements across the user interface aiming to improve the overall experience. Firmware flashing While flashing the firmware with PrusaSlicer there are two parts. The first part is, flashing the firmware into the CPU memory, and the second part is flashing languages in the external (xflash) memory. Starting with this firmware the second part is now displaying an extra LCD message Upgrading xflash Do not disconnect!. Status line (M117) This firmware release improves behavior when the M117 message was in some scenarios permanently overwritten with system messages (for example when M117 was immediately followed by the M601 / G4). Please note that your M117 message should be kept within 20 characters, any excess characters will be truncated. We would like to thank @RodKimmell @GWdd @daBernd for reporting the issue. Firmware version on boot The firmware version is now displayed on the startup screen Fixes The “back arrow” sign was added to the Preheat menu. Don't prompt "New firmware version available:" if disabled in Settings. Until now a warning was always displayed when G-code M115 with the latest firmware version (e.g. M115 U3.11.0) was sent and this value was higher than the current firmware version installed. The Settings-> HW Setup -> Check -> Firmware [None] now suppresses the message below even if the M115 is included in the G-code. Starting this release the UI ignores the knob long-press action if not allowed. Thanks to @Panayiotis-git for providing the solution. In case the user stops the print, the remaining time is cleared. Thanks for reporting this issue @Stego72 New build environment The build environment for all 8-bit firmware versions was updated from Arduino IDE 1.8.5 to 1.8.19 with GCC 7.3, which saved 1+ KB of resources. This is an important change. Older Arduino IDEs and/or GCC versions may not compile the code anymore from now on. XYZ calibration updates A message displayed on the screen has been updated from It will take up to 12 mins. to It will take up to 24 mins. as some users reported that their printer needed more time. We added some status information during the XYZ calibration to give visual feedback that the printer is still busy. New language scripts The new language scripts revealed missing translations hidden in the source code but also an obsolete one. The translation and post-processing process has not only improved for the developers but also for the translators. Updated translations We would like to thank the community members for updating translations with new texts. In case you want to join and help translate the firmware to your language, please visit the following article Community translations. Based on the feedback from our translators: The translation “.po” files can and should now contain diacritics which will be automatically replaced. This should improve the spell checks in different languages and hopefully make it easier for the translators. At this moment we are still limited by the LCD screen only to show [aA-zZ] and [äöüß] characters. Farm mode The Farm mode is used internally on the Prusa farm and will be from now available in a separate build and only in English. We have decided to remove it from the multi-language versions to save resources for other features. Bug fixes Parts of the firmware used “Extruder fan”, while the correct name is “Hotend fan”. This is now unified across the entire code base. Some SD cards caused issues, the firmware should handle them correctly from now on. The long button press wasn’t supposed to be active in some locations, this has been fixed now. Minor SD card issue in FARM mode fixed. Sorting and long filenames have not been shown correctly. Fixed µm being shown incorrectly in languages other than English. M300 S0 pause like Marlin. Known issues A feature detecting the filament sensor hardware version is currently not working. Printing process isn't affected, however if the filament sensor is not working properly, the printer is unable to verify it. The devs are aware of this issue and a fix will be provided soon. Please report any bug here: Download Link: How to flash the firmware:
1.7.0 Firmware for SL1 and SL1S SPEED   25 Relevance 4 years ago Same Old Shane General discussion, announcements and releases
  Hello all; We are happy to announce the final release of our latest firmware for our SL1 and SL1S printers. Please see the updates below and the download links. Summary Resin tank cleaning feature Improved resin calibration Print profile for high viscosity resins Improved behavior of the resin sensor Added option to cancel preprint checks OS version updated PrusaLink updated Bug fixes Known issues This is the final release of firmware 1.7.0 introducing two new important features. Release note include changes introduced in the first public release 1.7.0-beta.4. Compared to the previous major release 1.6.4, there are 24 bug fixes and 105 pull requests. Resin tank cleaning feature Once a print is finished, there might be enough resin in the tank to start another print immediately. However, there might be small parts laying at the bottom, invisible to the naked eye. Upon starting the next print, the print platform can push these parts against the FEP film and punch holes in it. For this reason, we recommend pouring the resin back into an empty bottle through a sieve and only then reusing the resin. We are fully aware that this approach takes more time and this is why we are now testing a feature called “Resin tank cleaning”. When the print is finished, you can select this feature from the “finished” screen. Insert a special 3D printable adapter on the platform, wait while the printer lowers the platform and cures the first layer at the bottom of the tank (adjustable for 30-120 s). Once the curing is done, the platform rises up along with a thin layer of exposed resin attached to it. IMPORTANT: Though this feature was heavily tested, it is not fully finished yet. While cleaning the tank, please always pay close attention to the printer to avoid possible issues. To learn more about this new feature, please see article Resin Tank cleaning. Improved resin calibration Even though we are constantly testing new resins and creating tailored print profiles, we are unable to cover all resins available to the market. With this release, we are bringing an option to run a calibration print, which will print multiple objects at different exposure times to help you decide, which value is the best for your resin. During internal testing, we have discovered that the feature requires a major overhaul and this is why we have significantly updated the code and further extended its capabilities. Now, the printer is properly utilizing the HW acceleration to achieve improved precision and reliability. The calibration object is now provided in three variants with different layer heights (0.025, 0.05 and 0.1 mm). To learn more about resin calibration please visit article Resin Calibration. Print profile for high viscosity resins The main aim of SL1S was to push the boundaries and increase the speed of SLA prints, in some cases the overall time is only 25 % of the previous generation SL1. However, in some cases, this speed is too high. One example is professional resins with high viscosity. The SL1S in its default setting moves too fast and the resin is unable to flow and spread evenly under the print platform. Since this is a physical property of the material and can't be changed, we are adding another option “High Viscosity” to already existing profiles “Faster” and “Slower”. Resin sensor improved behavior Previously, when the resin sensor failed, the system halted with an error. Now the printer repeats the action two more times before reporting an error. We would like to thank the users who suggested this change. Canceling preprint checks Until now, when the pre-print checks were running, the user wasn't able to cancel them. From our experience, you might realize you haven't prepared the printer properly and the checks will inevitably fail. For this reason, we are now adding an option to cancel the checks at any time and return back to the menu. PrusaLink updated The overall look of the web interface PrusaLink is now unified across our printers (FDM/SLA). Sidebar parameters include the status of the printer. Also, starting this release, users can also download the project from a remote URL directly into the printer. OS version updated The SL1 and SL1S are based on a forked version of Debian Linux and as a part of regular maintenance, the developers have updated this part of the system. Yocto version 3.1 Dunfell was replaced by 3.4 Honister. This means Linux kernel 5.15 is used instead of 5.11. The new version brings improved performance and security. Bug fixes The web user interface PrusaLink could freeze when attempting to print on an uncalibrated printer. Now, the printer recognizes the uncalibrated state and asks the user to perform it first. In certain situations, the logic of automated fan speed control was not disabled during fan tests. This could have resulted in an incorrectly failed test. The algorithm was adjusted to work correctly. Incorrect (less than a minute) print time was sometimes reported by the printer after the auto switch-off was switched on again. After changing the language of the user interface, the printer had to be restarted for month names to reflect the change. This was fixed, the language change propagated instantly. The LED test was not carried out before printer calibration. Devs have corrected the order of tests for this release. In the “Printer calibration tilt adjust” screen, the OK button was incorrectly shifted and cropped for Spanish, French and Italian. Now, it is displayed correctly. Project previews of the files uploaded by Prusa Link were sometimes not displayed. The issue was detected and corrected. The QR codes in the “About us” screen were pointing to the English web page even when the printer was set to another language. Now, the URL link in the QR code is changed correctly based on the selected system language. After a certain rare sequence of upgrades, slot swaps and failed calibrations it was possible to start printing on an uncalibrated printer. Security and network tokens are remembered after firmware upgrades. Prior to this fix, they had to be re-entered after each upgrade. PrusaLink now handles files with respect to filename extensions correctly before it was possible to initiate the upload of files that were incompatible with the printer model. The printer's “Hostname” is now being checked for correct format while entered by the user. A factory reset is now no longer deleting the Ethernet default configuration. The date encoded in the log file name now includes the day of the month. Error reporting was inconsistent while measuring resin. Resin sensor error was incorrectly reported in some cases, instead of tower failure. This behavior is now fixed. Some UI elements were improperly cropped. Developers checked and fixed all known occurrences. The network interface was not properly showing the Wi-Fi or Ethernet set-up screen. The interface has been reworked. The network settings menu screen shows IP addresses directly. The network search protocol did not work properly. Now the PrusaSlicer should be able to find the printer on your local network without any issues. Some UI elements were overflowing horizontally if translations were much longer than the English original. This is now fixed. Sounds (beeps) during the Resin Tank Cleaning setup were inconsistent with the rest of the user interface. This issue first appeared in the beta.4 release and was corrected. With some error messages, the printer did not beep. Starting this firmware the behavior should be as expected. Until now, the printer did not display an error when printing on an uncalibrated printer was attempted from PrusaLink. The error message is now correctly displayed. Due to incorrect rounding, the remaining and consumed resin amounts were incorrect. The algorithm behind these calculations was revised for this release In certain scenarios, the PrusaLink did not show the content of a USB flash drive. Should this repeat, please let us know. The high viscosity profile, introduced in 1.7.0-beta.4 occasionally failed due to a too high tower sensitivity setting. This feature was fine-tuned for this final release. Hardware configuration errors at boot time were not reported correctly and it was necessary to reboot the printer in certain situations. The order of checks in the Wizard was changing between runs and was not consistent. Known issues In a cold environment (18 °C and below), the printer may report a fan error incorrectly during the preprint checks and allow the user to print. However, it is recommended to keep the printer in a room with an ambient temperature of 18-32 °C Some settings are applied only after the printer is restarted. These include fan speed and tower sensitivity. Download location; Firmware update instructions; Please report any bug here:
5.1.0 Firmware for Original Prusa MINI, is out!   24 Relevance 2 years ago Same Old Shane General discussion, announcements and releases
  Hello all;We are pleased to announce our release of the final release version of our 5.1.0 firmware. The following updates, changes and features can be found below. Please make sure to download the correct version of the firmware for your machine on our github page or from the main launch page of your printer located on our site. Summary Here’s a quick overview: Firmware update instructions, preparation for OTA updates Printing speed boost with Input Shaper and Pressure Advance (XL and MINI) Major updates to network code; Instant Printing feature Major updates to Prusa Connect and network communication Introducing new efficient open-source Binary G-code format New useful pre-print screen for XL Multi-Tool printers Cancel object directly from printer’s menu Octoprint support information Additional improvements and tweaks QOI image thumbnails instead of PNG to save space Fixes and changes This is the stable release of firmware 5.1.0 with Input Shaper for the Original Prusa XL and MINI, featuring major changes and improvements to the code and user interface. This release is recommended to all users. If you are not using alpha/beta releases, upgrading from previous versions will give you plenty of new options and features to dig into. We’re covering everything important in these release notes, including changes introduced in alpha/beta releases. Firmware update instructions + new bootloader (XL, MK4/MK3.9, MINI) In the case of MK4 and XL, download the firmware file below, copy it onto a USB drive, and insert it into the printer. During the boot, the printer will check for the firmware file and ask you to confirm the update. In the case of the MINI/MINI+ printer make sure you are running either the previous 5.1.0-alpha2 or at least firmware 4.4.1. Once the 4.4.1 update is installed, proceed to flashing the 5.1.0 firmware. The upgrade might take longer than usual. While flashing this firmware release, the printer’s bootloader will be updated as well. The new bootloader improves support for OTA (over-the-air) updates from Prusa Connect. Also, the graphics of the bootloader now matches the rest of the UI. Input Shaper and Pressure Advance for faster printing comes to XL and MINI After the MK4/MK3.9 models, we’re now adding Input Shaper and Pressure Advance to the Original Prusa XL (all versions) and MINI! This is a major upgrade that noticeably boosts printing speeds and we strongly recommend updating the firmware. The Input Shaper functionality for XL and MINI was available in previous firmware releases but this is the first stable release with this feature. Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It analyzes the printer’s movements and applies a filter to the input signals. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables much faster printing. Pressure Advance is another important addition to the firmware’s set of features. This function aims to improve the quality of printed parts by compensating for the pressure changes in the nozzle during printing. Pressure Advance together with Input Shaper enables the printing of better-looking models, reducing ringing, overshoots and issues with inconsistent filament extrusion. They also enable faster printing. Precise stepping is a new implementation of the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance. Please keep in mind that you need to slice your models with the newest PrusaSlicer IS-enabled profiles. We also recommend updating to the latest version of PrusaSlicer. Older G-codes are compatible but won’t be printed faster!! Original Prusa XL - Current Input Shaper limitations In this firmware release, the Crash Detection feature is temporarily disabled on the Original Prusa XL because overly tight belts may trigger a false crash detection. We’re currently working on improvements in belt tension tuning. It will likely be accompanied by a new belt tuning app profile. Major update of the network code and Instant Printing feature We have made major improvements to the network code to increase the speed of network printing. No longer do you need to copy files onto a USB drive and walk to the printer. You can keep the USB in the printer and send files via Prusa Connect. With G-code streaming support, you can start the print without downloading the entire file to the printer beforehand. Instead, only a small portion of the file is downloaded, allowing the print job to start almost immediately. The remaining G-code is automatically downloaded while the print is in progress. In most cases, the print starts within seconds. You can also add a physical printer in PrusaSlicer and use it to send the sliced file via Prusa Connect (G-code streaming enabled) and start the print job from there with just two mouse clicks. However, If you add you printer via PrusaLink the G-code streaming / Instant Printing features is not supported. We are also introducing a new G-code format, a binary G-code, which is more space-efficient (more on that later). 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 andScott Mudge (@scottmudge) for developing and maintaining MeatPack. QOI instead of PNG (XL, MK4, MINI) Until this release, the thumbnails for G-code were in PNG format, which was rather resource-heavy. We have decided to switch to another format called QOI, which is way less demanding, and we can utilize the freed-up resources to bring more features in future releases. The only downside of removing the support for PNG is that all the G-codes sliced until now, won't have a visible thumbnail on firmware 5.1.0 or newer. For now, the only solution is to reslice the G-code in PrusaSlicer 2.7.0 or newer. Pre-print screen (XL with 2-5 toolheads) This is a huge update for all XL Multi-Tool owners that greatly improves the printing experience! When you slice a multi-material object, the resulting G-code carries information about how individual materials/extruders are assigned to various parts of the object. Usually, you need to take note of this setup and make sure that PrusaSlicer settings and the actual materials loaded in the XL are in sync. Now, we’re introducing a new screen that makes this so much easier. Plus, it allows you to set up the Spool Join function (for depleting leftover filaments) in a few clicks. This new screen allows you to remap the extruders/materials to different slots. For example, you can switch extruders one and three if you find out that the loaded colors do not match the layout in the G-code. This also makes, e.g., sharing G-codes much easier, because you’re not limited by the “hardwired” material configuration inside the G-code, but you can modify the assigned materials in this screen. Spool Join is also a function worth mentioning. By using the pre-print screen, you can assign multiple filaments to a single print job so you can easily consume all the remaining filament on multiple spools. The printer has built-in safety checks to process the G-code before the print and compare the information contained in it with the printer’s configuration to prevent it from printing incompatible print files. The printer will display a notification in case there’s a conflict (e.g., different nozzle diameter, etc.). UI tweaks and updates Various print-related screens have been updated to show more information. The print progress screen features a new layout, the print end screen now displays more statistics - total print time, material consumption, and the prime tower material consumption. The printing screen now displays more information - next to the percentual progress info. Cancel Object We’re introducing a new option to cancel the printing of an object directly from the printer’s menu - only the selected object will be skipped while the other objects on the print bed will continue to be printed. This is extremely handy in case something goes wrong and, e.g., an object detaches from the heatbed. Thanks to this functionality, you don’t need to cancel the entire print, but you can simply choose to skip the object and continue with the rest. During a running print, select the Cancel Object menu item, then select from the list of objects the one that should be skipped. You can, of course, use this function multiple times if necessary. Since in many cases, the objects are instances and their names might be confusing (e.g., Instance 1, Instance 2, Instance 3), it could become difficult to recognize which name belongs to which object. This is why we also added the “Cancel Current Object” action. Wait for the nozzle to get to the object you want to skip and select Cancel Current Object. The system will automatically recognize the correct part of the G-code and disable it. Using Cancel Current Object is the recommended method. In case you selected an incorrect object, you can always use the menu actions to continue printing it. Improved Octoprint support With the 5.1.0 firmware release, we’re introducing improved Octoprint support. To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section): After print job is cancelled: M604 After print job is paused: M601 Before print job is resumed: M602 Please keep in mind that support for Octoprint has several limitations at the present: Crash detection and Power Panic are not supported The heat absorption screen on the XL is not displayed and it’s not possible to skip it Multi-Tool XL is not supported at the moment Binary G-Codes are not supported Further improvements and tweaks: Selftest has been unified across MK4, MK3.9 and XL platforms Selftest now skips the nozzle heater test in case the fan test failed The fan test in Selftest has been improved - now it starts at max RPM and gradually decreases the speed Selftest no longer creates log files New robust RNG for Prusa Connect New robust code for Mesh Bed Leveling and Loadcell sensor readings Added the option to set the printer’s status as "ready" for Prusa Connect directly from the printer menu Fixes “Negative step time” BSOD has been fixed Adjusted texts on the MINI to fit the screen Power panic no longer triggers a watchdog reset Fixed footer settings migration between 4.7.0 and 4.7.2 Download link; github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.1.0 How to flash the firmware; Copy the firmware file (.bbf) onto the USB drive with FAT32 formatting. Insert the flash drive in the MINI's USB port Turn the printer ON (or reboot it) A new screen will appear. Confirm you want to flash the firmware Please report any bug here: github.com/prusa3d/Prusa-Firmware/issues
Massive MMU3 speed boost!   24 Relevance 4 weeks ago Same Old Shane General discussion, announcements and releases
  Massive MMU3 speed boost: New FW slashes filament change times + CORE One L MMU3 news Jan Olejnik March 23. 2026 Estimated reading time: 6 minutes The MMU3 has been our workhorse for single-nozzle multi-material printing, and before it hands the baton to the upcoming INDX system, we wanted to give it one last significant upgrade. We usually design our hardware with some headroom, so it can be pushed further even with software updates. And the latest firmware update for MMU3 delivers a 20% speed improvement to filament changes, dropping from 52 seconds down to ~42 seconds per swap, saving up to 9 seconds. That might sound modest until you realize what it means across an entire print: total print times are slashed by 2-6 hours (or even more) depending on the model complexity! And by the way, we can consider these numbers still rather conservative – we want to prioritize reliability across the entire user base. In case you would like to experiment, and your setup is flawless, it is theoretically possible, e.g., to push the loading speed up to 200mm/s and save even more time. Why 9 seconds is huge Multi-material prints rack up filament changes fast. In fact, on a complex 5-color model, like the Deadpool bust in the picture below, up to 60% of the total print time is spent entirely on non-printing tasks like load/unload sequences and wipe towers – and this is just the MMU3, which is already among the most efficient solutions on the market. The example model uses a 0.2mm layer height, and it’s the well-known Deadpool bust remix by MacDonald Print Works. A moderately complex five-color print might perform 400 (or more) filament swaps. By shaving 9 seconds off every single one of those, you are saving an hour on a single print. Scale up to a detailed model with 2,200 changes, and you’re looking at five and a half hours saved. Nemo by Cipis The math gets even better on production runs. If you’re printing a batch of 25 small items with 150 changes each, you save a significant amount of time. For anyone running a small business or cranking out prototypes, this is a huge timesaver. With this optimization, the MMU3 combined with the CORE One (using a 0.2mm SPEED profile and a standard 0.4mm nozzle) quickly climbs the speed charts: Print Speed: The MMU3 is approximately 40-50% faster on average with PLA compared to similar competitor designs (single nozzle multi-material) using default configurations. PETG Performance: It is also roughly 18% faster on average with PETG compared to the competition’s default configurations. Filament Waste: Thanks to our current implementation of ramming and stamping, the wipe tower remains contained and compact. As a result, the MMU3 wastes an average of 73% less material (in default config) than its competitors when printing PLA and PETG. Printing the Benchbin is faster by 2 hours! Dropping from 23:41 to 21:48. Note: We decided not to publish a table with a speed overview/improvements. This is mainly due to the fact that various setups might affect the overall time, e.g., when the MMU3 repeats a filament load, it adds to the total print time. We’ll be more than happy if you decide to share your experience and observations – even compare it to other printers! Ready to jump in and test the new speeds? Let’s go through a quick checklist: You will need the updated printer firmware (6.5.3 or newer) …and the updated MMU3 firmware (see here for flashing instructions) In PrusaSlicer, go to Configuration -> Configuration Wizard and let PrusaSlicer check for and download the latest profiles. Before you start your first high-speed print, please ensure that the correct PTFE length for your setup is set in the printer’s menu via Settings -> Hardware -> MMU -> Front PTFE Length. When in doubt, see the MMU3 Handbook. Please keep in mind that proper maintenance and correct setup have a large impact on the overall performance. The filament swap time is “faster by up to 9 seconds” because it also depends on the length of the PTFE tube – some printers have a longer PTFE tube, which adds some hundreds of milliseconds to the loading process. Derpy Tiger Painted by Tommy_Prusa3D (Remixed from Derpy Tiger by Heidi Makes) The Lighthouse contains 3777 filament changes, which means saving 33,993 seconds or 9,5 hours! And finally, a quick note on nozzles before you print: While it might be tempting to use a High Flow (HF/CHT) nozzle to speed things up further, we strongly advise sticking with the Standard (STD) nozzle for MMU prints. A high flow nozzle only offers a theoretical 2% speed improvement for multi-color prints, but standard nozzles are much better at ensuring a clean filament unload, less waste, and generally very fast prints in real scenarios. You can learn more here. Technical Details: How We Did It If we look closely at a filament change, the unload/load movements and the cooling moves on the wipe tower represent a massive 60% of the swap time for PLA and 70% for PETG. It was a bit like building a streamlined version of a sports car for track use – you need to shed as much weight as possible. So it’s a couple of grams here, a couple of grams there. The speed gains come from optimizing these mechanical motion sequences. Here are a couple of areas we focused on: Parallel Idler DisengageDuring filament loading, once the extruder takes over from the MMU, it no longer waits for the MMU to fully disengage the idler — a step that previously took about 2 seconds of dead time. Now the extruder pushes filament into the nozzle immediately while the MMU disengages in the background. Predictive Idler StagingDuring unloading, while the printer retracts filament from the nozzle, the MMU simultaneously moves the idler from its parked position to a ready stance — just short of engagement. Engaging from the “park” position normally takes over a second, but pre-staging virtually eliminates that wait. Smoother Unload Ramp-UpA refined pressure-relief step right before the unload sequence prevents extruder motor stalls, allowing us to safely increase retraction speed. These are just some of the examples – we had to optimize more areas to reach the aforementioned 9 seconds, basically shaving hundreds of milliseconds wherever we could. Every supported printer benefits immediately: MK4S, MK3.9, MK3.5, and CORE One/One+ users just need to flash new firmware(s) – one for the MMU3, and one for the printer itself. The correct firmware versions are 6.5.3 (printer) and 3.0.4 (MMU3). Quality of Life and Reliability Tweaks Speed isn’t everything; we also wanted to make the MMU3 less of a hassle to manage. By popular demand from our beta testers, we’ve added a “Preload All” feature. You can now preload all filaments of the same type (like all your PLA spools) at once, saving you from clicking through the menu for each individual slot. Ripper Mask by Borderlands We’ve also squashed a few bugs to improve overall stability and you can find all the details in full release notes. CORE One L and MMU3: The Path Forward We also had to make a decision regarding the CORE One L – it wasn’t an easy decision, but in the end, it makes the most sense. While we initially planned official MMU3 support, the imminent arrival of INDX shifted our priorities. Instead of developing a dedicated MMU3 kit for the CORE One L, we’re providing adaptation guidelines for users who want to modify the CORE One+ MMU3 to work with the larger machine. To make it work, you will need the MMU3 for the CORE One+ available here. Then, print a couple of conversion parts – you can get them free at Printables.com And finally, follow the instructions in our guide. One caveat is that you will also need larger buffer plates – they need to be sourced separately from your local hardware store, etc., as they cannot be easily printed, and we provide STEP/DXF files to enable alternative manufacturing methods. Please check Printables and the article linked above for more info. A goodbye gift (except it isn’t goodbye) The MMU3 remains an exceptional single-nozzle multi-material system. Its minimal waste output, reliable tip forming, and now significantly faster operation continue to make it a solid choice for anyone looking for five-color printing. Model 7 Buggy by 3D Sets This firmware update is our thank-you to the community that’s pushed the MMU3 to its limits. Whether you’re printing beautiful visual models, functional prototypes with dissolvable supports, or production models, you’ll immediately notice the extra speed in every print.​ The INDX will bring even better speeds and up to 8 toolheads, but the MMU3 still remains a great choice, and we’ll keep offering it as long as there is interest in it. Your MMU3 just got faster – go make something colorful with all that extra time! 😉
5.1.0 Firmware for Original Prusa XL is out!   24 Relevance 2 years ago Same Old Shane General discussion, announcements and releases
  Hello all;We are pleased to announce our release of the final release version of our 5.1.0 firmware. The following updates, changes and features can be found below. Please make sure to download the correct version of the firmware for your machine on our github page or from the main launch page of your printer located on our site. Summary Here’s a quick overview: Firmware update instructions, preparation for OTA updates Printing speed boost with Input Shaper and Pressure Advance (XL and MINI) Major updates to network code; Instant Printing feature Major updates to Prusa Connect and network communication Introducing new efficient open-source Binary G-code format New useful pre-print screen for XL Multi-Tool printers Cancel object directly from printer’s menu Octoprint support information Additional improvements and tweaks QOI image thumbnails instead of PNG to save space Fixes and changes This is the stable release of firmware 5.1.0 with Input Shaper for the Original Prusa XL and MINI, featuring major changes and improvements to the code and user interface. This release is recommended to all users. If you are not using alpha/beta releases, upgrading from previous versions will give you plenty of new options and features to dig into. We’re covering everything important in these release notes, including changes introduced in alpha/beta releases. Firmware update instructions + new bootloader (XL, MK4/MK3.9, MINI) In the case of MK4 and XL, download the firmware file below, copy it onto a USB drive, and insert it into the printer. During the boot, the printer will check for the firmware file and ask you to confirm the update. In the case of the MINI/MINI+ printer make sure you are running either the previous 5.1.0-alpha2 or at least firmware 4.4.1. Once the 4.4.1 update is installed, proceed to flashing the 5.1.0 firmware. The upgrade might take longer than usual. While flashing this firmware release, the printer’s bootloader will be updated as well. The new bootloader improves support for OTA (over-the-air) updates from Prusa Connect. Also, the graphics of the bootloader now matches the rest of the UI. Input Shaper and Pressure Advance for faster printing comes to XL and MINI After the MK4/MK3.9 models, we’re now adding Input Shaper and Pressure Advance to the Original Prusa XL (all versions) and MINI! This is a major upgrade that noticeably boosts printing speeds and we strongly recommend updating the firmware. The Input Shaper functionality for XL and MINI was available in previous firmware releases but this is the first stable release with this feature. Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It analyzes the printer’s movements and applies a filter to the input signals. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables much faster printing. Pressure Advance is another important addition to the firmware’s set of features. This function aims to improve the quality of printed parts by compensating for the pressure changes in the nozzle during printing. Pressure Advance together with Input Shaper enables the printing of better-looking models, reducing ringing, overshoots and issues with inconsistent filament extrusion. They also enable faster printing. Precise stepping is a new implementation of the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance. Please keep in mind that you need to slice your models with the newest PrusaSlicer IS-enabled profiles. We also recommend updating to the latest version of PrusaSlicer. Older G-codes are compatible but won’t be printed faster!! Original Prusa XL - Current Input Shaper limitations In this firmware release, the Crash Detection feature is temporarily disabled on the Original Prusa XL because overly tight belts may trigger a false crash detection. We’re currently working on improvements in belt tension tuning. It will likely be accompanied by a new belt tuning app profile. Major update of the network code and Instant Printing feature We have made major improvements to the network code to increase the speed of network printing. No longer do you need to copy files onto a USB drive and walk to the printer. You can keep the USB in the printer and send files via Prusa Connect. With G-code streaming support, you can start the print without downloading the entire file to the printer beforehand. Instead, only a small portion of the file is downloaded, allowing the print job to start almost immediately. The remaining G-code is automatically downloaded while the print is in progress. In most cases, the print starts within seconds. You can also add a physical printer in PrusaSlicer and use it to send the sliced file via Prusa Connect (G-code streaming enabled) and start the print job from there with just two mouse clicks. However, If you add you printer via PrusaLink the G-code streaming / Instant Printing features is not supported. We are also introducing a new G-code format, a binary G-code, which is more space-efficient (more on that later). 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 andScott Mudge (@scottmudge) for developing and maintaining MeatPack. QOI instead of PNG (XL, MK4, MINI) Until this release, the thumbnails for G-code were in PNG format, which was rather resource-heavy. We have decided to switch to another format called QOI, which is way less demanding, and we can utilize the freed-up resources to bring more features in future releases. The only downside of removing the support for PNG is that all the G-codes sliced until now, won't have a visible thumbnail on firmware 5.1.0 or newer. For now, the only solution is to reslice the G-code in PrusaSlicer 2.7.0 or newer. Pre-print screen (XL with 2-5 toolheads) This is a huge update for all XL Multi-Tool owners that greatly improves the printing experience! When you slice a multi-material object, the resulting G-code carries information about how individual materials/extruders are assigned to various parts of the object. Usually, you need to take note of this setup and make sure that PrusaSlicer settings and the actual materials loaded in the XL are in sync. Now, we’re introducing a new screen that makes this so much easier. Plus, it allows you to set up the Spool Join function (for depleting leftover filaments) in a few clicks. This new screen allows you to remap the extruders/materials to different slots. For example, you can switch extruders one and three if you find out that the loaded colors do not match the layout in the G-code. This also makes, e.g., sharing G-codes much easier, because you’re not limited by the “hardwired” material configuration inside the G-code, but you can modify the assigned materials in this screen. Spool Join is also a function worth mentioning. By using the pre-print screen, you can assign multiple filaments to a single print job so you can easily consume all the remaining filament on multiple spools. The printer has built-in safety checks to process the G-code before the print and compare the information contained in it with the printer’s configuration to prevent it from printing incompatible print files. The printer will display a notification in case there’s a conflict (e.g., different nozzle diameter, etc.). UI tweaks and updates Various print-related screens have been updated to show more information. The print progress screen features a new layout, the print end screen now displays more statistics - total print time, material consumption, and the prime tower material consumption. The printing screen now displays more information - next to the percentual progress info. Cancel Object We’re introducing a new option to cancel the printing of an object directly from the printer’s menu - only the selected object will be skipped while the other objects on the print bed will continue to be printed. This is extremely handy in case something goes wrong and, e.g., an object detaches from the heatbed. Thanks to this functionality, you don’t need to cancel the entire print, but you can simply choose to skip the object and continue with the rest. During a running print, select the Cancel Object menu item, then select from the list of objects the one that should be skipped. You can, of course, use this function multiple times if necessary. Since in many cases, the objects are instances and their names might be confusing (e.g., Instance 1, Instance 2, Instance 3), it could become difficult to recognize which name belongs to which object. This is why we also added the “Cancel Current Object” action. Wait for the nozzle to get to the object you want to skip and select Cancel Current Object. The system will automatically recognize the correct part of the G-code and disable it. Using Cancel Current Object is the recommended method. In case you selected an incorrect object, you can always use the menu actions to continue printing it. Improved Octoprint support With the 5.1.0 firmware release, we’re introducing improved Octoprint support. To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section): After print job is cancelled: M604 After print job is paused: M601 Before print job is resumed: M602 Please keep in mind that support for Octoprint has several limitations at the present: Crash detection and Power Panic are not supported The heat absorption screen on the XL is not displayed and it’s not possible to skip it Multi-Tool XL is not supported at the moment Binary G-Codes are not supported Further improvements and tweaks: Selftest has been unified across MK4, MK3.9 and XL platforms Selftest now skips the nozzle heater test in case the fan test failed The fan test in Selftest has been improved - now it starts at max RPM and gradually decreases the speed Selftest no longer creates log files New robust RNG for Prusa Connect New robust code for Mesh Bed Leveling and Loadcell sensor readings Added the option to set the printer’s status as "ready" for Prusa Connect directly from the printer menu Fixes “Negative step time” BSOD has been fixed Adjusted texts on the MINI to fit the screen Power panic no longer triggers a watchdog reset Fixed footer settings migration between 4.7.0 and 4.7.2 Download link; github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.1.0 How to flash the firmware; help.prusa3d.com/article/flashing-firmware-mk4_453086 Please report any bug here: github.com/prusa3d/Prusa-Firmware/issues
5.1.0 Firmware for Original Prusa XL Multi Tool so out!   24 Relevance 2 years ago Same Old Shane General discussion, announcements and releases
  Hello all;We are pleased to announce our release of the final release version of our 5.1.0 firmware. The following updates, changes and features can be found below. Please make sure to download the correct version of the firmware for your machine on our github page or from the main launch page of your printer located on our site. Summary Here’s a quick overview: Firmware update instructions, preparation for OTA updates Printing speed boost with Input Shaper and Pressure Advance (XL and MINI) Major updates to network code; Instant Printing feature Major updates to Prusa Connect and network communication Introducing new efficient open-source Binary G-code format New useful pre-print screen for XL Multi-Tool printers Cancel object directly from printer’s menu Octoprint support information Additional improvements and tweaks QOI image thumbnails instead of PNG to save space Fixes and changes This is the stable release of firmware 5.1.0 with Input Shaper for the Original Prusa XL and MINI, featuring major changes and improvements to the code and user interface. This release is recommended to all users. If you are not using alpha/beta releases, upgrading from previous versions will give you plenty of new options and features to dig into. We’re covering everything important in these release notes, including changes introduced in alpha/beta releases. Firmware update instructions + new bootloader (XL, MK4/MK3.9, MINI) In the case of MK4 and XL, download the firmware file below, copy it onto a USB drive, and insert it into the printer. During the boot, the printer will check for the firmware file and ask you to confirm the update. In the case of the MINI/MINI+ printer make sure you are running either the previous 5.1.0-alpha2 or at least firmware 4.4.1. Once the 4.4.1 update is installed, proceed to flashing the 5.1.0 firmware. The upgrade might take longer than usual. While flashing this firmware release, the printer’s bootloader will be updated as well. The new bootloader improves support for OTA (over-the-air) updates from Prusa Connect. Also, the graphics of the bootloader now matches the rest of the UI. Input Shaper and Pressure Advance for faster printing comes to XL and MINI After the MK4/MK3.9 models, we’re now adding Input Shaper and Pressure Advance to the Original Prusa XL (all versions) and MINI! This is a major upgrade that noticeably boosts printing speeds and we strongly recommend updating the firmware. The Input Shaper functionality for XL and MINI was available in previous firmware releases but this is the first stable release with this feature. Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It analyzes the printer’s movements and applies a filter to the input signals. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables much faster printing. Pressure Advance is another important addition to the firmware’s set of features. This function aims to improve the quality of printed parts by compensating for the pressure changes in the nozzle during printing. Pressure Advance together with Input Shaper enables the printing of better-looking models, reducing ringing, overshoots and issues with inconsistent filament extrusion. They also enable faster printing. Precise stepping is a new implementation of the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance. Please keep in mind that you need to slice your models with the newest PrusaSlicer IS-enabled profiles. We also recommend updating to the latest version of PrusaSlicer. Older G-codes are compatible but won’t be printed faster!! Original Prusa XL - Current Input Shaper limitations In this firmware release, the Crash Detection feature is temporarily disabled on the Original Prusa XL because overly tight belts may trigger a false crash detection. We’re currently working on improvements in belt tension tuning. It will likely be accompanied by a new belt tuning app profile. Major update of the network code and Instant Printing feature We have made major improvements to the network code to increase the speed of network printing. No longer do you need to copy files onto a USB drive and walk to the printer. You can keep the USB in the printer and send files via Prusa Connect. With G-code streaming support, you can start the print without downloading the entire file to the printer beforehand. Instead, only a small portion of the file is downloaded, allowing the print job to start almost immediately. The remaining G-code is automatically downloaded while the print is in progress. In most cases, the print starts within seconds. You can also add a physical printer in PrusaSlicer and use it to send the sliced file via Prusa Connect (G-code streaming enabled) and start the print job from there with just two mouse clicks. However, If you add you printer via PrusaLink the G-code streaming / Instant Printing features is not supported. We are also introducing a new G-code format, a binary G-code, which is more space-efficient (more on that later). 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 andScott Mudge (@scottmudge) for developing and maintaining MeatPack. QOI instead of PNG (XL, MK4, MINI) Until this release, the thumbnails for G-code were in PNG format, which was rather resource-heavy. We have decided to switch to another format called QOI, which is way less demanding, and we can utilize the freed-up resources to bring more features in future releases. The only downside of removing the support for PNG is that all the G-codes sliced until now, won't have a visible thumbnail on firmware 5.1.0 or newer. For now, the only solution is to reslice the G-code in PrusaSlicer 2.7.0 or newer. Pre-print screen (XL with 2-5 toolheads) This is a huge update for all XL Multi-Tool owners that greatly improves the printing experience! When you slice a multi-material object, the resulting G-code carries information about how individual materials/extruders are assigned to various parts of the object. Usually, you need to take note of this setup and make sure that PrusaSlicer settings and the actual materials loaded in the XL are in sync. Now, we’re introducing a new screen that makes this so much easier. Plus, it allows you to set up the Spool Join function (for depleting leftover filaments) in a few clicks. This new screen allows you to remap the extruders/materials to different slots. For example, you can switch extruders one and three if you find out that the loaded colors do not match the layout in the G-code. This also makes, e.g., sharing G-codes much easier, because you’re not limited by the “hardwired” material configuration inside the G-code, but you can modify the assigned materials in this screen. Spool Join is also a function worth mentioning. By using the pre-print screen, you can assign multiple filaments to a single print job so you can easily consume all the remaining filament on multiple spools. The printer has built-in safety checks to process the G-code before the print and compare the information contained in it with the printer’s configuration to prevent it from printing incompatible print files. The printer will display a notification in case there’s a conflict (e.g., different nozzle diameter, etc.). UI tweaks and updates Various print-related screens have been updated to show more information. The print progress screen features a new layout, the print end screen now displays more statistics - total print time, material consumption, and the prime tower material consumption. The printing screen now displays more information - next to the percentual progress info. Cancel Object We’re introducing a new option to cancel the printing of an object directly from the printer’s menu - only the selected object will be skipped while the other objects on the print bed will continue to be printed. This is extremely handy in case something goes wrong and, e.g., an object detaches from the heatbed. Thanks to this functionality, you don’t need to cancel the entire print, but you can simply choose to skip the object and continue with the rest. During a running print, select the Cancel Object menu item, then select from the list of objects the one that should be skipped. You can, of course, use this function multiple times if necessary. Since in many cases, the objects are instances and their names might be confusing (e.g., Instance 1, Instance 2, Instance 3), it could become difficult to recognize which name belongs to which object. This is why we also added the “Cancel Current Object” action. Wait for the nozzle to get to the object you want to skip and select Cancel Current Object. The system will automatically recognize the correct part of the G-code and disable it. Using Cancel Current Object is the recommended method. In case you selected an incorrect object, you can always use the menu actions to continue printing it. Improved Octoprint support With the 5.1.0 firmware release, we’re introducing improved Octoprint support. To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section): After print job is cancelled: M604 After print job is paused: M601 Before print job is resumed: M602 Please keep in mind that support for Octoprint has several limitations at the present: Crash detection and Power Panic are not supported The heat absorption screen on the XL is not displayed and it’s not possible to skip it Multi-Tool XL is not supported at the moment Binary G-Codes are not supported Further improvements and tweaks: Selftest has been unified across MK4, MK3.9 and XL platforms Selftest now skips the nozzle heater test in case the fan test failed The fan test in Selftest has been improved - now it starts at max RPM and gradually decreases the speed Selftest no longer creates log files New robust RNG for Prusa Connect New robust code for Mesh Bed Leveling and Loadcell sensor readings Added the option to set the printer’s status as "ready" for Prusa Connect directly from the printer menu Fixes “Negative step time” BSOD has been fixed Adjusted texts on the MINI to fit the screen Power panic no longer triggers a watchdog reset Fixed footer settings migration between 4.7.0 and 4.7.2 Download link; github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.1.0 How to flash the firmware; help.prusa3d.com/article/flashing-firmware-mk4_453086 Please report any bug here: github.com/prusa3d/Prusa-Firmware/issues
5.1.0 Firmware for Original Prusa MK4 is out!   24 Relevance 2 years ago Same Old Shane General discussion, announcements and releases
  Hello all;We are pleased to announce our release of the final release version of our 5.1.0 firmware. The following updates, changes and features can be found below. Please make sure to download the correct version of the firmware for your machine on our github page or from the main launch page of your printer located on our site. Summary Here’s a quick overview: Firmware update instructions, preparation for OTA updates Printing speed boost with Input Shaper and Pressure Advance (XL and MINI) Major updates to network code; Instant Printing feature Major updates to Prusa Connect and network communication Introducing new efficient open-source Binary G-code format New useful pre-print screen for XL Multi-Tool printers Cancel object directly from printer’s menu Octoprint support information Additional improvements and tweaks QOI image thumbnails instead of PNG to save space Fixes and changes This is the stable release of firmware 5.1.0 with Input Shaper for the Original Prusa XL and MINI, featuring major changes and improvements to the code and user interface. This release is recommended to all users. If you are not using alpha/beta releases, upgrading from previous versions will give you plenty of new options and features to dig into. We’re covering everything important in these release notes, including changes introduced in alpha/beta releases. Firmware update instructions + new bootloader (XL, MK4/MK3.9, MINI) In the case of MK4 and XL, download the firmware file below, copy it onto a USB drive, and insert it into the printer. During the boot, the printer will check for the firmware file and ask you to confirm the update. In the case of the MINI/MINI+ printer make sure you are running either the previous 5.1.0-alpha2 or at least firmware 4.4.1. Once the 4.4.1 update is installed, proceed to flashing the 5.1.0 firmware. The upgrade might take longer than usual. While flashing this firmware release, the printer’s bootloader will be updated as well. The new bootloader improves support for OTA (over-the-air) updates from Prusa Connect. Also, the graphics of the bootloader now matches the rest of the UI. Input Shaper and Pressure Advance for faster printing comes to XL and MINI After the MK4/MK3.9 models, we’re now adding Input Shaper and Pressure Advance to the Original Prusa XL (all versions) and MINI! This is a major upgrade that noticeably boosts printing speeds and we strongly recommend updating the firmware. The Input Shaper functionality for XL and MINI was available in previous firmware releases but this is the first stable release with this feature. Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It analyzes the printer’s movements and applies a filter to the input signals. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables much faster printing. Pressure Advance is another important addition to the firmware’s set of features. This function aims to improve the quality of printed parts by compensating for the pressure changes in the nozzle during printing. Pressure Advance together with Input Shaper enables the printing of better-looking models, reducing ringing, overshoots and issues with inconsistent filament extrusion. They also enable faster printing. Precise stepping is a new implementation of the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance. Please keep in mind that you need to slice your models with the newest PrusaSlicer IS-enabled profiles. We also recommend updating to the latest version of PrusaSlicer. Older G-codes are compatible but won’t be printed faster!! Original Prusa XL - Current Input Shaper limitations In this firmware release, the Crash Detection feature is temporarily disabled on the Original Prusa XL because overly tight belts may trigger a false crash detection. We’re currently working on improvements in belt tension tuning. It will likely be accompanied by a new belt tuning app profile. Major update of the network code and Instant Printing feature We have made major improvements to the network code to increase the speed of network printing. No longer do you need to copy files onto a USB drive and walk to the printer. You can keep the USB in the printer and send files via Prusa Connect. With G-code streaming support, you can start the print without downloading the entire file to the printer beforehand. Instead, only a small portion of the file is downloaded, allowing the print job to start almost immediately. The remaining G-code is automatically downloaded while the print is in progress. In most cases, the print starts within seconds. You can also add a physical printer in PrusaSlicer and use it to send the sliced file via Prusa Connect (G-code streaming enabled) and start the print job from there with just two mouse clicks. However, If you add you printer via PrusaLink the G-code streaming / Instant Printing features is not supported. We are also introducing a new G-code format, a binary G-code, which is more space-efficient (more on that later). 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 andScott Mudge (@scottmudge) for developing and maintaining MeatPack. QOI instead of PNG (XL, MK4, MINI) Until this release, the thumbnails for G-code were in PNG format, which was rather resource-heavy. We have decided to switch to another format called QOI, which is way less demanding, and we can utilize the freed-up resources to bring more features in future releases. The only downside of removing the support for PNG is that all the G-codes sliced until now, won't have a visible thumbnail on firmware 5.1.0 or newer. For now, the only solution is to reslice the G-code in PrusaSlicer 2.7.0 or newer. Pre-print screen (XL with 2-5 toolheads) This is a huge update for all XL Multi-Tool owners that greatly improves the printing experience! When you slice a multi-material object, the resulting G-code carries information about how individual materials/extruders are assigned to various parts of the object. Usually, you need to take note of this setup and make sure that PrusaSlicer settings and the actual materials loaded in the XL are in sync. Now, we’re introducing a new screen that makes this so much easier. Plus, it allows you to set up the Spool Join function (for depleting leftover filaments) in a few clicks. This new screen allows you to remap the extruders/materials to different slots. For example, you can switch extruders one and three if you find out that the loaded colors do not match the layout in the G-code. This also makes, e.g., sharing G-codes much easier, because you’re not limited by the “hardwired” material configuration inside the G-code, but you can modify the assigned materials in this screen. Spool Join is also a function worth mentioning. By using the pre-print screen, you can assign multiple filaments to a single print job so you can easily consume all the remaining filament on multiple spools. The printer has built-in safety checks to process the G-code before the print and compare the information contained in it with the printer’s configuration to prevent it from printing incompatible print files. The printer will display a notification in case there’s a conflict (e.g., different nozzle diameter, etc.). UI tweaks and updates Various print-related screens have been updated to show more information. The print progress screen features a new layout, the print end screen now displays more statistics - total print time, material consumption, and the prime tower material consumption. The printing screen now displays more information - next to the percentual progress info. Cancel Object We’re introducing a new option to cancel the printing of an object directly from the printer’s menu - only the selected object will be skipped while the other objects on the print bed will continue to be printed. This is extremely handy in case something goes wrong and, e.g., an object detaches from the heatbed. Thanks to this functionality, you don’t need to cancel the entire print, but you can simply choose to skip the object and continue with the rest. During a running print, select the Cancel Object menu item, then select from the list of objects the one that should be skipped. You can, of course, use this function multiple times if necessary. Since in many cases, the objects are instances and their names might be confusing (e.g., Instance 1, Instance 2, Instance 3), it could become difficult to recognize which name belongs to which object. This is why we also added the “Cancel Current Object” action. Wait for the nozzle to get to the object you want to skip and select Cancel Current Object. The system will automatically recognize the correct part of the G-code and disable it. Using Cancel Current Object is the recommended method. In case you selected an incorrect object, you can always use the menu actions to continue printing it. Improved Octoprint support With the 5.1.0 firmware release, we’re introducing improved Octoprint support. To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section): After print job is cancelled: M604 After print job is paused: M601 Before print job is resumed: M602 Please keep in mind that support for Octoprint has several limitations at the present: Crash detection and Power Panic are not supported The heat absorption screen on the XL is not displayed and it’s not possible to skip it Multi-Tool XL is not supported at the moment Binary G-Codes are not supported Further improvements and tweaks: Selftest has been unified across MK4, MK3.9 and XL platforms Selftest now skips the nozzle heater test in case the fan test failed The fan test in Selftest has been improved - now it starts at max RPM and gradually decreases the speed Selftest no longer creates log files New robust RNG for Prusa Connect New robust code for Mesh Bed Leveling and Loadcell sensor readings Added the option to set the printer’s status as "ready" for Prusa Connect directly from the printer menu Fixes “Negative step time” BSOD has been fixed Adjusted texts on the MINI to fit the screen Power panic no longer triggers a watchdog reset Fixed footer settings migration between 4.7.0 and 4.7.2 Download link; github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.1.0 How to flash the firmware; help.prusa3d.com/article/flashing-firmware-mk4_453086 Please report any bug here: github.com/prusa3d/Prusa-Firmware/issues
5.1.0 Firmware for Original Prusa MK3.9 is out!   24 Relevance 2 years ago Same Old Shane General discussion, announcements and releases
  Hello all;We are pleased to announce our release of the final release version of our 5.1.0 firmware. The following updates, changes and features can be found below. Please make sure to download the correct version of the firmware for your machine on our github page or from the main launch page of your printer located on our site. Summary Here’s a quick overview: Firmware update instructions, preparation for OTA updates Printing speed boost with Input Shaper and Pressure Advance (XL and MINI) Major updates to network code; Instant Printing feature Major updates to Prusa Connect and network communication Introducing new efficient open-source Binary G-code format New useful pre-print screen for XL Multi-Tool printers Cancel object directly from printer’s menu Octoprint support information Additional improvements and tweaks QOI image thumbnails instead of PNG to save space Fixes and changes This is the stable release of firmware 5.1.0 with Input Shaper for the Original Prusa XL and MINI, featuring major changes and improvements to the code and user interface. This release is recommended to all users. If you are not using alpha/beta releases, upgrading from previous versions will give you plenty of new options and features to dig into. We’re covering everything important in these release notes, including changes introduced in alpha/beta releases. Firmware update instructions + new bootloader (XL, MK4/MK3.9, MINI) In the case of MK4 and XL, download the firmware file below, copy it onto a USB drive, and insert it into the printer. During the boot, the printer will check for the firmware file and ask you to confirm the update. In the case of the MINI/MINI+ printer make sure you are running either the previous 5.1.0-alpha2 or at least firmware 4.4.1. Once the 4.4.1 update is installed, proceed to flashing the 5.1.0 firmware. The upgrade might take longer than usual. While flashing this firmware release, the printer’s bootloader will be updated as well. The new bootloader improves support for OTA (over-the-air) updates from Prusa Connect. Also, the graphics of the bootloader now matches the rest of the UI. Input Shaper and Pressure Advance for faster printing comes to XL and MINI After the MK4/MK3.9 models, we’re now adding Input Shaper and Pressure Advance to the Original Prusa XL (all versions) and MINI! This is a major upgrade that noticeably boosts printing speeds and we strongly recommend updating the firmware. The Input Shaper functionality for XL and MINI was available in previous firmware releases but this is the first stable release with this feature. Input Shaper is a feature designed to reduce ringing (also known as ghosting) by canceling resonance vibrations. It analyzes the printer’s movements and applies a filter to the input signals. Thanks to faster travel speed and acceleration, it can also minimize stringing. It also enables much faster printing. Pressure Advance is another important addition to the firmware’s set of features. This function aims to improve the quality of printed parts by compensating for the pressure changes in the nozzle during printing. Pressure Advance together with Input Shaper enables the printing of better-looking models, reducing ringing, overshoots and issues with inconsistent filament extrusion. They also enable faster printing. Precise stepping is a new implementation of the stepper routine, that allows precise timing of motor steps. It was a necessary prerequisite for both Input shaper and Pressure advance. Please keep in mind that you need to slice your models with the newest PrusaSlicer IS-enabled profiles. We also recommend updating to the latest version of PrusaSlicer. Older G-codes are compatible but won’t be printed faster!! Original Prusa XL - Current Input Shaper limitations In this firmware release, the Crash Detection feature is temporarily disabled on the Original Prusa XL because overly tight belts may trigger a false crash detection. We’re currently working on improvements in belt tension tuning. It will likely be accompanied by a new belt tuning app profile. Major update of the network code and Instant Printing feature We have made major improvements to the network code to increase the speed of network printing. No longer do you need to copy files onto a USB drive and walk to the printer. You can keep the USB in the printer and send files via Prusa Connect. With G-code streaming support, you can start the print without downloading the entire file to the printer beforehand. Instead, only a small portion of the file is downloaded, allowing the print job to start almost immediately. The remaining G-code is automatically downloaded while the print is in progress. In most cases, the print starts within seconds. You can also add a physical printer in PrusaSlicer and use it to send the sliced file via Prusa Connect (G-code streaming enabled) and start the print job from there with just two mouse clicks. However, If you add you printer via PrusaLink the G-code streaming / Instant Printing features is not supported. We are also introducing a new G-code format, a binary G-code, which is more space-efficient (more on that later). 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 andScott Mudge (@scottmudge) for developing and maintaining MeatPack. QOI instead of PNG (XL, MK4, MINI) Until this release, the thumbnails for G-code were in PNG format, which was rather resource-heavy. We have decided to switch to another format called QOI, which is way less demanding, and we can utilize the freed-up resources to bring more features in future releases. The only downside of removing the support for PNG is that all the G-codes sliced until now, won't have a visible thumbnail on firmware 5.1.0 or newer. For now, the only solution is to reslice the G-code in PrusaSlicer 2.7.0 or newer. Pre-print screen (XL with 2-5 toolheads) This is a huge update for all XL Multi-Tool owners that greatly improves the printing experience! When you slice a multi-material object, the resulting G-code carries information about how individual materials/extruders are assigned to various parts of the object. Usually, you need to take note of this setup and make sure that PrusaSlicer settings and the actual materials loaded in the XL are in sync. Now, we’re introducing a new screen that makes this so much easier. Plus, it allows you to set up the Spool Join function (for depleting leftover filaments) in a few clicks. This new screen allows you to remap the extruders/materials to different slots. For example, you can switch extruders one and three if you find out that the loaded colors do not match the layout in the G-code. This also makes, e.g., sharing G-codes much easier, because you’re not limited by the “hardwired” material configuration inside the G-code, but you can modify the assigned materials in this screen. Spool Join is also a function worth mentioning. By using the pre-print screen, you can assign multiple filaments to a single print job so you can easily consume all the remaining filament on multiple spools. The printer has built-in safety checks to process the G-code before the print and compare the information contained in it with the printer’s configuration to prevent it from printing incompatible print files. The printer will display a notification in case there’s a conflict (e.g., different nozzle diameter, etc.). UI tweaks and updates Various print-related screens have been updated to show more information. The print progress screen features a new layout, the print end screen now displays more statistics - total print time, material consumption, and the prime tower material consumption. The printing screen now displays more information - next to the percentual progress info. Cancel Object We’re introducing a new option to cancel the printing of an object directly from the printer’s menu - only the selected object will be skipped while the other objects on the print bed will continue to be printed. This is extremely handy in case something goes wrong and, e.g., an object detaches from the heatbed. Thanks to this functionality, you don’t need to cancel the entire print, but you can simply choose to skip the object and continue with the rest. During a running print, select the Cancel Object menu item, then select from the list of objects the one that should be skipped. You can, of course, use this function multiple times if necessary. Since in many cases, the objects are instances and their names might be confusing (e.g., Instance 1, Instance 2, Instance 3), it could become difficult to recognize which name belongs to which object. This is why we also added the “Cancel Current Object” action. Wait for the nozzle to get to the object you want to skip and select Cancel Current Object. The system will automatically recognize the correct part of the G-code and disable it. Using Cancel Current Object is the recommended method. In case you selected an incorrect object, you can always use the menu actions to continue printing it. Improved Octoprint support With the 5.1.0 firmware release, we’re introducing improved Octoprint support. To make sure everything works correctly, you need to update the Octoprint profile with the following G-codes (in the GCODE Scripts section): After print job is cancelled: M604 After print job is paused: M601 Before print job is resumed: M602 Please keep in mind that support for Octoprint has several limitations at the present: Crash detection and Power Panic are not supported The heat absorption screen on the XL is not displayed and it’s not possible to skip it Multi-Tool XL is not supported at the moment Binary G-Codes are not supported Further improvements and tweaks: Selftest has been unified across MK4, MK3.9 and XL platforms Selftest now skips the nozzle heater test in case the fan test failed The fan test in Selftest has been improved - now it starts at max RPM and gradually decreases the speed Selftest no longer creates log files New robust RNG for Prusa Connect New robust code for Mesh Bed Leveling and Loadcell sensor readings Added the option to set the printer’s status as "ready" for Prusa Connect directly from the printer menu Fixes “Negative step time” BSOD has been fixed Adjusted texts on the MINI to fit the screen Power panic no longer triggers a watchdog reset Fixed footer settings migration between 4.7.0 and 4.7.2 Download link; github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v5.1.0 How to flash the firmware; help.prusa3d.com/article/flashing-firmware-mk4_453086 Please report any bug here: github.com/prusa3d/Prusa-Firmware/issues
3.10.0 Firmware for MK3, MK3S, MK3S+   24 Relevance 5 years ago Same Old Shane General discussion, announcements and releases
  Summary New "Print from SD" menu "Time Remaining" function improved Community translations Faster and quieter XYZ calibration PVB preheat preset Satin sheet profiles G-code "M204 T" implemented Optimizations for the MK3 filament sensor DEDGE support enabled for TMC2130 Improved filament troubleshooting Support for 0.8mm nozzles Support for a GD external FLASH chip Optimizations for print hosts (e.g. Octoprint) Optimized code size and RAM usage Scaling extruder motor current based on speed File listing adjusted for remote printing software Host Long File Name (LFN) improvements Z offset during M600 reverted Factory reset menu extended G-code documentation updated Translations updated and checked Reservation in the EEPROM for job ID tracking Bug Fixes This is the final release of firmware 3.10.0, which introduces improved functionality and several bug fixes. These release notes include information provided in the previous releases RC1 and RC2. Before we describe all the new features, improvements and changes, we would like to thank the entire Prusa community members for their feedback - especially all active members who helped us test and debug this firmware release. Your input is very much appreciated! This release required: 4500+ printing hours during our in-house testing 867 commits to the source code 80 pull requests 11 contributors (5 of them external) New “Print from SD” menu The "Print from SD" menu was rewritten entirely. It is much more responsive when many files need to be displayed. This was accomplished by caching the file positions in memory during sorting. The menu isn't blocking anymore, so G-code commands can still be processed while the filename is scrolling on the screen. This should improve host software functionality and compatibility. When the "FlashAir" mode is enabled (for SD cards with Wi-Fi) in the settings menu, a new menu button appears above the files and folders. It causes the menu to sort all items in the current directory again. This is useful when a file uploaded to the FlashAir card doesn't appear on the uppermost line - the user doesn't have to reset the printer or disconnect and reconnect the card. Sorting is improved compared to the previous firmware releases. In general, Alphabetical sorting is now 10-15 % faster. Sorting of the files by time-stamp is now almost 2-4x faster. "Time Remaining" function improved Until now, the firmware was only able to display how much time remains until the print is finished. There were multiple suggestions from the community on further improvements. Starting this release, the developers have implemented the first stage. However, to make the function work correctly, the PrusaSlicer dev team also needs to publish a new release because the G-code instructions must be updated. Once both firmware and PrusaSlicer are updated, the "remaining time" will work the following way. The printer will switch every 5 seconds between "remaining-printing-time" and "time-to-next-color-change." Therefore the user will be informed in advance when the next filament change is expected. G-code M73 has been extended with two parameters: C (for normal mode) and D (for stealth mode). Until now, the PrusaSlicer produced pairs of lines in the form of (example): M73 P15 R30 Once this feature is fully implemented, the code will look as follows: M73 P15 R30 C15 This means a color change is planned in 15 minutes in normal mode. In case you would like to try this feature now, you can edit the G-code manually using the code mentioned above. Adjust the parameter "C" according to your model's requirements. Also, if the printer receives G-code “M73 C0”, it disables switching between “Time to finish” and “Time to color change”. However, this caused an issue during the last minute before the color change, when the printer stopped switching between these two values completely. To avoid this scenario, the firmware was further adjusted. It is advised for the slicer software to use a floating-point value for the last minute before the color change (e.g. M73 C0.1) which is technically greater than zero and enables the function to work correctly. Community translation Thanks to the modifications to the part of the system responsible for storing the language dictionaries on the printer (XFLASH), the firmware can now extend the library of the official languages by loading new translations made by the community. our first addition is Dutch, which is fully translated thanks to @3d-gussner and @vintagepc. To select this language and other new translations in the future, please head to the LCD menu -> Settings -> Select language -> Community made. In this release, the only option is "Nederlands." We welcome everyone to join us and localize the printer to their native language. In case you would like to translate and maintain the translations, contact us at [email protected]. We appreciate community members, who already signed up and we will contact them shortly with instructions. Faster and quieter XYZ calibration As noted in the previous release notes, the algorithm behind the XYZ calibration was almost completely rewritten, but developers are still looking for improvements. This release brings a bit faster, more precise, and also quieter calibration. The algorithm has both improved acceleration handling and a more robust scan (circle search). Another improvement to the XYZ calibration is the skew analysis. Previously, the user was informed on the screen about the measured skew. Starting with this firmware release, the calibration values can also be accessed over the serial line for advanced diagnostics if anything goes wrong. During extensive internal testing of the XYZ calibration, it was discovered that in certain rare scenarios the data provided by the sensor are not handled correctly. The developers have improved the algorithm and if this scenario happens, the scan of the recent calibration points is automatically repeated. PVB preheat preset In the preheat preset menu a new entry for PVB filament has been added, with temperatures 215 °C / 75 °C. To learn more about PVB material, visit the blog article. Satin sheet profiles The developers have modified the default sheet profile list. It takes effect on new printers delivered with firmware 3.10.0, or after the Sheet profile reset and Factory reset with “All data” is executed on this firmware release or later. Two new sheet names (Satin 1 and Satin 2) were introduced and “Custom 3” and “Custom 4” have been removed. As there are only 8 sheet profiles, only “Custom 1” and “Custom 2” remain at the end of the list. It is important to note that all profiles have the same default settings and the only difference is in the name. The new default sheet profile list is as follows:Smooth1Smooth2Textur1Textur2Satin 1Satin 2Custom1Custom2 You can edit the default names of the sheets via LCD Menu -> Settings -> HW Setup -> Steel Sheets -> [sheet name] -> Rename. Kudos to @awenelo for this pull request. Fixes enhancement request #3051. G-code "M204 T" implemented Another extension of the G-code support is an implementation of "M204 T", which enables separate acceleration control of travel moves (now separated from the print moves). With this change, the syntax and behavior of M204 are now identical to Marlin 2. A separate travel acceleration setting allows reducing the number of instructions required while printing. Resetting the acceleration just for travel moves is no longer required and can be done a single time during the print. M204 has two forms: the legacy format: M204 S[print-acc] T[retract-acc] the newer format: M204 P[print-acc] R[retract-acc] T[travel-acc] The distinction is made based on the presence of the P parameter. If P is included in the G-code, the new format is used. To keep backward compatibility, the "M204 S[acc]" will set both print and travel acceleration, which is identical in behavior to existing firmware versions. M500 and M503 will now also report settings using the "new format." For more information, see the PR #2838 Optimizations for the MK3 filament sensor The PAT9125 on the MK3 is attached to the hardware SDA/SCL pins, however, it was using a software two-wire interface (TWI) implementation. The code now includes the PAT9125_I2C configuration option (enabled by default) to use the hardware TWI module in 400kHz fast mode instead. The change saves a few bytes in all variants while also improving the performance of optical filament sensor checks in the MK3. For more information, see the PR #2814 DEDGE support enabled for TMC2130 The Trinamic driver TMC2130 supports Double Edge stepping (DEDGE) where both the rising and falling edge of the step pin count as a step instead of requiring a full cycle. Using DEDGE is beneficial - it removes one extra toggle for each step pulse (plus a delay, in some circumstances), saving a few µs in hot code paths while stepping. This release introduces 2 macros to step: STEP_NC_HI and STEP_NC_LO. In legacy mode, both perform as their name implies. In DEDGE mode instead, STEP_NC_HI inverts the line, while STEP_NC_LO becomes a no-op. Both modes are still fully supported, but DEDGE is now enabled by default in all supported variants. The macros are specialized for each axis and still respect INVERT_?_AXIS as defined in the variant file. Additionally, the firmware introduces a few constant definitions for the delays required by the TMC2130 and uses them when appropriate instead of hard-coding delays: step pauses (2µs minimum) direction changes (100µs minimum) Existing code that was manipulating the pins directly has been changed to use either the macros or the helper functions defined in tmc2130.h. We also fixed the behavior of TMC2130_INTPOL_* (which was previously ignored) in the variant files. Note that this feature will only be present on MK3, MK3S and MK3S+ printers. For more information see the PR #2789 Improved filament troubleshooting When using the Settings->Move->Extruder menu the filament sensor is now temporarily ignored. Thanks to this change, it is now possible to use the Move menu to control the extruder while trying to perform a manual filament swap, (e.g. when trying to clear a filament clog or when untangling a stuck flexible filament). There is no need to use the filament-change procedure, which was sometimes used by the users instead to fix the issue. For more information, see the PR #1758 Support for 0.8mm nozzles A new 0.8mm nozzle preset has been added to the firmware in the “HW setup” section. The user can set the printer to verify whether the G-code was sliced correctly for the selected nozzle diameter. Currently available sizes are 0.25, 0.4, 0.6 and 0.8 mm. Support for a GD external FLASH chip As mentioned in the previous firmware releases, the Covid-19 virus is negatively impacting worldwide supplies, and to be able to ship the printers continuously without any significant delay, we have started to look for alternative verified suppliers of the most critical parts. In this release, we are extending system support for external FLASH chip GD25Q20CEIGR from company GigaDevice to ensure our production of Einsy boards remains unrestricted. For the user, there is no impact on the functionality of the printer, everything remains the same. Optimizations for print hosts (e.g. Octoprint) To improve the experience while printing using a remote host, there are several changes and optimizations in this release. G-code M155 support The firmware introduces support for an M155 G-code (Automatically send temperatures) which creates the same output as M105 (Get Extruder Temperature), but it provides it automatically without the need to periodically receive M105 G-code from Octoprint or other serial devices. Implementation:Added G-code M123 to show fan speed tacho and PWM values Extended Capabilities in G-code M115AUTOREPORT_FANSAUTOREPORT_POSITIONAdded parameter C to G-code M155 to de-/activate auto report output using a bitmask SD card status send automatically Previously the firmware didn't always properly report the current SD card status over the serial line. This is now fixed and the firmware reports three statuses: Insert, Eject and Error. LCD status over UART When the LCD status changes, the printer will send an "LCD status changed" message to the serial line. Add printer sleep information to the M115 Extended printer status information by reporting "Print paused" on the serial line as a response to an M115 G-code. Serial number in EEPROM It was impossible to retrieve the serial number from the 32u2 IC when the USB cable was unplugged. With this fix, the serial number is cached to EEPROM at startup to have it available at all times even if the USB is not powered. This should also allow a connected RPi to be able to retrieve it. printer state in INFO string Extending printer status information by "Print paused" in serial line as a response for received M115 G-code. IP address in the Support menu Previously, when an IP address was assigned to the host/printer, it was displayed on the status screen. However, it was often rewritten by other status information from the system seconds later. In this release, the IP address will be also displayed in the LCD menu -> Support Menu. In case the FlashAir SD card is used, both IP addresses will be displayed. The host must send it to the printer in the following format:M552 P192.168.1.14Note that the IP address is used as an example - yours might be different. The printer remembers the IP address until the restart. Pause/Resume functions improved Until this release, the host and the printer weren't always correctly synced while a Print/Pause/Resume/Stop was applied either in the host interface or directly on the printer using the knob. Now, the user can control the printer from both places without the risk of a print failure. The printer and the host are actively communicating and exchanging information. Examples of the shared information: print: // action:pause print: // action:resume Support for G-codes with thumbnails There have been significant improvements to how fast G-code files are processed (almost 10x increase) when reading from the SD card, specifically when processing comment lines. This allows for a fast skipping of large comment blocks (especially PNG thumbnails) throughout the file. This has resulted in several improvements: Sliced G-codes for 8bit printers can now contain thumbnails The file check right before the start of an SD print is much faster More of the (limited) CPU power is now available for other tasks like stepping the motors, linear advance and other core runtime features The firmware is now able to skip through commented lines at speeds reaching 170 KB/s (the raw read speed of the SD card in SPI mode has a maximum of approximately 250 KB/s). The average PNG thumbnail is less than 100 kB, so skipping over this should take less than a second. Of course, it is possible to generate many big thumbnails in the G-code. In such a situation, starting the print will take several seconds (based on the size of comment lines you put in). However, it will not crash anymore. Existing Octoprint plugins which extract thumbnails from the G-code should still work, as there were no changes to the G-code format. M601/M602 confirmation statuses fixed Fixed missing “Ok” in M601 and double “Ok” in M602 on the serial line. Optimized code size and RAM usage By removing string literals from RAM, the memory usage was decreased below 6 KB. As a result, firmware 3.10.0 can now perform better under certain scenarios. A lot of old code that was related to serial output or LCD rendering was improved. There were many cases where PROGMEM wasn't used or string literals were used for a single character. Some locations were updated to use the appropriate function for generating many spaces on the LCD, as opposed to saving a string consisting only of spaces to PROGMEM. The developers have also refactored some of the serial messages to use fewer function calls (resulting in reduced flash usage). Similarly, some of them were packed to a single printf_P call. Scaling extruder motor current based on speed The developers have discovered that using StealthChop without the “current feedback” feature of the TMC2130 has a positive effect on the extruder motor temperature. Multiple tests on our farm have shown that the temperature can be lowered by up to 10° C. WARNING: This feature was tested only for the motors provided by Prusa Research. We cannot guarantee that this current amplification can be applied to other 3rd party motors as they might get damaged due to a current spike. For this very reason, the feature is disabled for all printers and has to be manually enabled at the user's risk. To enable this feature, enter the experimental menu. Go to LCD menu -> Settings -> HW Setup, then scroll to any menu item and hold the knob for 2-3 seconds. After a “click” sound, the display will flash once and the “experimental menu” will appear as the last item in the list. File listing adjusted for remote printing software The file listing provided by the M20 G-code was adjusted to comply with the needs of the remote printing software like OctoPrint. Examples of the listing when using plain G-code M20, or M20 with the parameter “L”:M20: Begin file list TEST1.GCO 1234 LFNFIL~1.GCO 1234 End file list M20 L: Begin file list TEST1.GCO 1234 "TEST1.GCO" DIR_ENTER: /TESTFO~1/ "test folder" DIR_EXIT LFNFIL~1.GCO 1234 "LFN file.gcode" End file list For Prusa Connect, the firmware was extended by a “T” parameter, which lists timestamps of the files. Both “L” and “T” parameters can be also used at the same time. The timestamp is a combination of both the date and time into a single integer ((date << 16) | time) and printed as a hex value. More information about the design is available at link1, link2 Examples of the listing, while using single parameter “T” and combination of “L” and “T”:M20 L T: Begin file list TEST1.GCO 1234 0x52936b00 "TEST1.GCO" DIR_ENTER: /TESTFO~1/ "test folder" DIR_EXIT LFNFIL~1.GCO 1234 0x52936b08 "LFN file.gcode" End file list M20 T: Begin file list TEST1.GCO 1234 0x52936b00 LFNFIL~1.GCO 1234 0x52936b08 End file list Host Long File Name (LFN) improvements Under the hood, the SD FAT implementation in the firmware only uses 8.3 DOS filenames. This is fine when they’re internal to the firmware, but this has the side effect of requiring Host software to work with 8.3 filenames (SFN) exclusively. To address this limitation, a few changes to existing G-codes are proposed. If these G-codes are used correctly, the Host software can build the full file tree with both SFN and LFN, while also knowing how to start an SD print with M23 (which still requires SFN).The affected G-code commands are M20 and M27. More info about what was changed can be found in these two pull-requests: PR #3009 PR #2987 Z offset during M600 reverted This change restores the minimum extruder height for filament purge during M600 from the current value of 50 mm back to 27 mm used in the previous release FW 3.9.3 for the convenience of the user. Factory reset menu extended The factory reset menu is extended in this release with a new “Service prep” option, which was requested by the Prusa Service department. Just before a repaired printer is sent back to the customer, this option is activated. The printer is then ready to guide the user through the “after-service” unpacking procedure. This procedure is similar to another option from the menu called “Shipping prep”. The only difference is that “Service prep” does not clear the print statistics. The "All data" parameter was moved into the last parameter position (after the Service prep parameter). G-code documentation updated This update brings updates to several G-codes (M20, M73, M123 and M155), the documentation was updated accordingly. Translations updated and checked All language versions of the firmware were updated and verified using new scripts, which check for the proper text wrapping according to the size of the LCD screen. As a result, the text readability is improved. Reservation in the EEPROM for job ID tracking For the host software, there is now a reserved space in the EEPROM to track/identify the print job. Even if the SD card or Raspberry Pi becomes unresponsive, the job ID will prevail. The 4-bytes variable in EEPROM is named "EEVAR_HOST_JOBID". Host software can manipulate the EEPROM variable via D3 commands. Bug Fixes Incorrect G-code reading from a buffer There was a bug in the new G-code reading code, which could stop the print in progress. In some scenarios, the system would insert a new line '\n' into the current cached block of the G-code file and change the G-code line syntax. Kudos to @lhecker for reporting the issue and providing a good test case (fixes issue #3077). M120 and M121 disabled From now on, G-codes M120 and M121 have been disabled as they do not function correctly and cause issues when used in the G-code file. If necessary, advanced users can enable them in the FW code and recompile. Crash detection during MBL Normally, if prior to Mesh Bed Leveling (MBL) a crash on the Y-axis is detected, the MBL is repeated again and print coordinates are verified, then a purge line is printed. In some scenarios starting firmware 3.9.0 (previous releases are not affected), the purge line was incorrectly placed in the center of the sheet, now this is fixed and the purge line is correctly placed in the front-left position. M0/M1 Stop/Halt not displaying text/waiting for input fixed Fixes M0 and M1 commands: G-code M1 must have a string, while in M0 it is optional G-codes M0/M1 were moved to the beginning of the parser to allow reading “M1” first instead of M1nn. The parser would not be able to "find" M1nn command if the query was “M1 “ instead of “M1” (space behind) to be able to "stop/halt" without sending a string and displaying the default message. Use G-code M0 as there are no M0nn G-codes the parser can identify M0 without additional space needed as in M1 M0/M1 with parameters P or S will NOT show any text as mentioned in #2055 (comment) In Octoprint, M0 or M1 should not be in "Pausing commands" as these are NOT pause commands - they stop/halt/sleep the printer. Addressing few requests from #2055. Thanks to @vojtech-pavlik and his PR #1900, which we merged with a few improvements. It is important to note that G-code M0/M1 stops/halts the printer! If you need a pause, please use M601. Sensor info screen blocking the function of filament IR sensor fixed Now the function of the filament sensor is not blocked during print if in Support->Sensor info screen is displayed. If the printer is idle the filament sensor actions are disabled while in the ‘Support->Sensor info’ menu. This allows the user to troubleshoot this sensor (broken wire, etc).Fixes issue #1971 Move Z up before XYZ calibration The X-axis is now raised up prior to the XYZ calibration to prevent scratching the bed, sheet, and nozzle. Firmware retract (G10/G11) fixed When using firmware retract (as controlled by M207/M208), G10 would previously save an incorrect offset, resulting in an incorrect “unretract” move on the subsequent G11. The offset is now saved correctly, fixing the behavior of G10/G11. For more information, see PR #2572 Babystep insertion fixed This functionality prevents the user from entering Live Z (through long-press or via the menu) while performing mesh bed leveling, homing, or performing individual Z probes via G30. These actions interfere with each other and can result in an incorrect mesh or Z offset. The firmware now restricts this by setting/checking for the mesh_bed_leveling/homing flag when relevant. The code around Babystep insertion was also cleaned up (notably, the alternative to BABYSTEP_LOADZ_BY_PLANNER was broken and has been removed). For more information, see PR #3006 Opening file causing wrong serial output fixed Opening a file from the LCD menu would open the file twice. This behavior is normal. However, the first time the file was opened, the wrong filename was displayed in the serial output, possibly confusing the host software. Now, this bug is fixed. SD card (re)print bug in Octoprint fixed When the user started a Print From SD Card from Octoprint in the RC1 or RC2 firmware release, the print finished successfully, but it would immediately start again. This would result in crashes and homing failures due to printed material still being present on the heatbed. This issue did not occur on the previous stable release 3.9.3, and has been corrected in this final release. Fixes issue #3102 Assets8 prusa3d_fw_MK25S_3_10_0_4481_RAMBo10a.zip1.49 MB prusa3d_fw_MK25S_3_10_0_4481_RAMBo13a.zip1.49 MB prusa3d_fw_MK25_3_10_0_4481_RAMBo10a.zip1.52 MB prusa3d_fw_MK25_3_10_0_4481_RAMBo13a.zip1.52 MB prusa3d_fw_MK3S_MK3S+_3_10_0_4481.hex894 KB prusa3d_fw_MK3_3_10_0_4481.hex897 KB Source code(zip) Source code(tar.gz) © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About Please report any bug here: Download Link: How to flash the firmware: As always, we wish you happy printing!
3.10.0 Firmware for MK2.5 and MK2.5S   24 Relevance 5 years ago Same Old Shane General discussion, announcements and releases
  Summary New "Print from SD" menu "Time Remaining" function improved Community translations Faster and quieter XYZ calibration PVB preheat preset Satin sheet profiles G-code "M204 T" implemented Optimizations for the MK3 filament sensor DEDGE support enabled for TMC2130 Improved filament troubleshooting Support for 0.8mm nozzles Support for a GD external FLASH chip Optimizations for print hosts (e.g. Octoprint) Optimized code size and RAM usage Scaling extruder motor current based on speed File listing adjusted for remote printing software Host Long File Name (LFN) improvements Z offset during M600 reverted Factory reset menu extended G-code documentation updated Translations updated and checked Reservation in the EEPROM for job ID tracking Bug Fixes This is the final release of firmware 3.10.0, which introduces improved functionality and several bug fixes. These release notes include information provided in the previous releases RC1 and RC2. Before we describe all the new features, improvements and changes, we would like to thank the entire Prusa community members for their feedback - especially all active members who helped us test and debug this firmware release. Your input is very much appreciated! This release required: 4500+ printing hours during our in-house testing 867 commits to the source code 80 pull requests 11 contributors (5 of them external) New “Print from SD” menu The "Print from SD" menu was rewritten entirely. It is much more responsive when many files need to be displayed. This was accomplished by caching the file positions in memory during sorting. The menu isn't blocking anymore, so G-code commands can still be processed while the filename is scrolling on the screen. This should improve host software functionality and compatibility. When the "FlashAir" mode is enabled (for SD cards with Wi-Fi) in the settings menu, a new menu button appears above the files and folders. It causes the menu to sort all items in the current directory again. This is useful when a file uploaded to the FlashAir card doesn't appear on the uppermost line - the user doesn't have to reset the printer or disconnect and reconnect the card. Sorting is improved compared to the previous firmware releases. In general, Alphabetical sorting is now 10-15 % faster. Sorting of the files by time-stamp is now almost 2-4x faster. "Time Remaining" function improved Until now, the firmware was only able to display how much time remains until the print is finished. There were multiple suggestions from the community on further improvements. Starting this release, the developers have implemented the first stage. However, to make the function work correctly, the PrusaSlicer dev team also needs to publish a new release because the G-code instructions must be updated. Once both firmware and PrusaSlicer are updated, the "remaining time" will work the following way. The printer will switch every 5 seconds between "remaining-printing-time" and "time-to-next-color-change." Therefore the user will be informed in advance when the next filament change is expected. G-code M73 has been extended with two parameters: C (for normal mode) and D (for stealth mode). Until now, the PrusaSlicer produced pairs of lines in the form of (example): M73 P15 R30 Once this feature is fully implemented, the code will look as follows: M73 P15 R30 C15 This means a color change is planned in 15 minutes in normal mode. In case you would like to try this feature now, you can edit the G-code manually using the code mentioned above. Adjust the parameter "C" according to your model's requirements. Also, if the printer receives G-code “M73 C0”, it disables switching between “Time to finish” and “Time to color change”. However, this caused an issue during the last minute before the color change, when the printer stopped switching between these two values completely. To avoid this scenario, the firmware was further adjusted. It is advised for the slicer software to use a floating-point value for the last minute before the color change (e.g. M73 C0.1) which is technically greater than zero and enables the function to work correctly. Community translation Thanks to the modifications to the part of the system responsible for storing the language dictionaries on the printer (XFLASH), the firmware can now extend the library of the official languages by loading new translations made by the community. our first addition is Dutch, which is fully translated thanks to @3d-gussner and @vintagepc. To select this language and other new translations in the future, please head to the LCD menu -> Settings -> Select language -> Community made. In this release, the only option is "Nederlands." We welcome everyone to join us and localize the printer to their native language. In case you would like to translate and maintain the translations, contact us at [email protected]. We appreciate community members, who already signed up and we will contact them shortly with instructions. Faster and quieter XYZ calibration As noted in the previous release notes, the algorithm behind the XYZ calibration was almost completely rewritten, but developers are still looking for improvements. This release brings a bit faster, more precise, and also quieter calibration. The algorithm has both improved acceleration handling and a more robust scan (circle search). Another improvement to the XYZ calibration is the skew analysis. Previously, the user was informed on the screen about the measured skew. Starting with this firmware release, the calibration values can also be accessed over the serial line for advanced diagnostics if anything goes wrong. During extensive internal testing of the XYZ calibration, it was discovered that in certain rare scenarios the data provided by the sensor are not handled correctly. The developers have improved the algorithm and if this scenario happens, the scan of the recent calibration points is automatically repeated. PVB preheat preset In the preheat preset menu a new entry for PVB filament has been added, with temperatures 215 °C / 75 °C. To learn more about PVB material, visit the blog article. Satin sheet profiles The developers have modified the default sheet profile list. It takes effect on new printers delivered with firmware 3.10.0, or after the Sheet profile reset and Factory reset with “All data” is executed on this firmware release or later. Two new sheet names (Satin 1 and Satin 2) were introduced and “Custom 3” and “Custom 4” have been removed. As there are only 8 sheet profiles, only “Custom 1” and “Custom 2” remain at the end of the list. It is important to note that all profiles have the same default settings and the only difference is in the name. The new default sheet profile list is as follows:Smooth1Smooth2Textur1Textur2Satin 1Satin 2Custom1Custom2 You can edit the default names of the sheets via LCD Menu -> Settings -> HW Setup -> Steel Sheets -> [sheet name] -> Rename. Kudos to @awenelo for this pull request. Fixes enhancement request #3051. G-code "M204 T" implemented Another extension of the G-code support is an implementation of "M204 T", which enables separate acceleration control of travel moves (now separated from the print moves). With this change, the syntax and behavior of M204 are now identical to Marlin 2. A separate travel acceleration setting allows reducing the number of instructions required while printing. Resetting the acceleration just for travel moves is no longer required and can be done a single time during the print. M204 has two forms: the legacy format: M204 S[print-acc] T[retract-acc] the newer format: M204 P[print-acc] R[retract-acc] T[travel-acc] The distinction is made based on the presence of the P parameter. If P is included in the G-code, the new format is used. To keep backward compatibility, the "M204 S[acc]" will set both print and travel acceleration, which is identical in behavior to existing firmware versions. M500 and M503 will now also report settings using the "new format." For more information, see the PR #2838 Optimizations for the MK3 filament sensor The PAT9125 on the MK3 is attached to the hardware SDA/SCL pins, however, it was using a software two-wire interface (TWI) implementation. The code now includes the PAT9125_I2C configuration option (enabled by default) to use the hardware TWI module in 400kHz fast mode instead. The change saves a few bytes in all variants while also improving the performance of optical filament sensor checks in the MK3. For more information, see the PR #2814 DEDGE support enabled for TMC2130 The Trinamic driver TMC2130 supports Double Edge stepping (DEDGE) where both the rising and falling edge of the step pin count as a step instead of requiring a full cycle. Using DEDGE is beneficial - it removes one extra toggle for each step pulse (plus a delay, in some circumstances), saving a few µs in hot code paths while stepping. This release introduces 2 macros to step: STEP_NC_HI and STEP_NC_LO. In legacy mode, both perform as their name implies. In DEDGE mode instead, STEP_NC_HI inverts the line, while STEP_NC_LO becomes a no-op. Both modes are still fully supported, but DEDGE is now enabled by default in all supported variants. The macros are specialized for each axis and still respect INVERT_?_AXIS as defined in the variant file. Additionally, the firmware introduces a few constant definitions for the delays required by the TMC2130 and uses them when appropriate instead of hard-coding delays: step pauses (2µs minimum) direction changes (100µs minimum) Existing code that was manipulating the pins directly has been changed to use either the macros or the helper functions defined in tmc2130.h. We also fixed the behavior of TMC2130_INTPOL_* (which was previously ignored) in the variant files. Note that this feature will only be present on MK3, MK3S and MK3S+ printers. For more information see the PR #2789 Improved filament troubleshooting When using the Settings->Move->Extruder menu the filament sensor is now temporarily ignored. Thanks to this change, it is now possible to use the Move menu to control the extruder while trying to perform a manual filament swap, (e.g. when trying to clear a filament clog or when untangling a stuck flexible filament). There is no need to use the filament-change procedure, which was sometimes used by the users instead to fix the issue. For more information, see the PR #1758 Support for 0.8mm nozzles A new 0.8mm nozzle preset has been added to the firmware in the “HW setup” section. The user can set the printer to verify whether the G-code was sliced correctly for the selected nozzle diameter. Currently available sizes are 0.25, 0.4, 0.6 and 0.8 mm. Support for a GD external FLASH chip As mentioned in the previous firmware releases, the Covid-19 virus is negatively impacting worldwide supplies, and to be able to ship the printers continuously without any significant delay, we have started to look for alternative verified suppliers of the most critical parts. In this release, we are extending system support for external FLASH chip GD25Q20CEIGR from company GigaDevice to ensure our production of Einsy boards remains unrestricted. For the user, there is no impact on the functionality of the printer, everything remains the same. Optimizations for print hosts (e.g. Octoprint) To improve the experience while printing using a remote host, there are several changes and optimizations in this release. G-code M155 support The firmware introduces support for an M155 G-code (Automatically send temperatures) which creates the same output as M105 (Get Extruder Temperature), but it provides it automatically without the need to periodically receive M105 G-code from Octoprint or other serial devices. Implementation:Added G-code M123 to show fan speed tacho and PWM values Extended Capabilities in G-code M115AUTOREPORT_FANSAUTOREPORT_POSITIONAdded parameter C to G-code M155 to de-/activate auto report output using a bitmask SD card status send automatically Previously the firmware didn't always properly report the current SD card status over the serial line. This is now fixed and the firmware reports three statuses: Insert, Eject and Error. LCD status over UART When the LCD status changes, the printer will send an "LCD status changed" message to the serial line. Add printer sleep information to the M115 Extended printer status information by reporting "Print paused" on the serial line as a response to an M115 G-code. Serial number in EEPROM It was impossible to retrieve the serial number from the 32u2 IC when the USB cable was unplugged. With this fix, the serial number is cached to EEPROM at startup to have it available at all times even if the USB is not powered. This should also allow a connected RPi to be able to retrieve it. printer state in INFO string Extending printer status information by "Print paused" in serial line as a response for received M115 G-code. IP address in the Support menu Previously, when an IP address was assigned to the host/printer, it was displayed on the status screen. However, it was often rewritten by other status information from the system seconds later. In this release, the IP address will be also displayed in the LCD menu -> Support Menu. In case the FlashAir SD card is used, both IP addresses will be displayed. The host must send it to the printer in the following format:M552 P192.168.1.14Note that the IP address is used as an example - yours might be different. The printer remembers the IP address until the restart. Pause/Resume functions improved Until this release, the host and the printer weren't always correctly synced while a Print/Pause/Resume/Stop was applied either in the host interface or directly on the printer using the knob. Now, the user can control the printer from both places without the risk of a print failure. The printer and the host are actively communicating and exchanging information. Examples of the shared information: print: // action:pause print: // action:resume Support for G-codes with thumbnails There have been significant improvements to how fast G-code files are processed (almost 10x increase) when reading from the SD card, specifically when processing comment lines. This allows for a fast skipping of large comment blocks (especially PNG thumbnails) throughout the file. This has resulted in several improvements: Sliced G-codes for 8bit printers can now contain thumbnails The file check right before the start of an SD print is much faster More of the (limited) CPU power is now available for other tasks like stepping the motors, linear advance and other core runtime features The firmware is now able to skip through commented lines at speeds reaching 170 KB/s (the raw read speed of the SD card in SPI mode has a maximum of approximately 250 KB/s). The average PNG thumbnail is less than 100 kB, so skipping over this should take less than a second. Of course, it is possible to generate many big thumbnails in the G-code. In such a situation, starting the print will take several seconds (based on the size of comment lines you put in). However, it will not crash anymore. Existing Octoprint plugins which extract thumbnails from the G-code should still work, as there were no changes to the G-code format. M601/M602 confirmation statuses fixed Fixed missing “Ok” in M601 and double “Ok” in M602 on the serial line. Optimized code size and RAM usage By removing string literals from RAM, the memory usage was decreased below 6 KB. As a result, firmware 3.10.0 can now perform better under certain scenarios. A lot of old code that was related to serial output or LCD rendering was improved. There were many cases where PROGMEM wasn't used or string literals were used for a single character. Some locations were updated to use the appropriate function for generating many spaces on the LCD, as opposed to saving a string consisting only of spaces to PROGMEM. The developers have also refactored some of the serial messages to use fewer function calls (resulting in reduced flash usage). Similarly, some of them were packed to a single printf_P call. Scaling extruder motor current based on speed The developers have discovered that using StealthChop without the “current feedback” feature of the TMC2130 has a positive effect on the extruder motor temperature. Multiple tests on our farm have shown that the temperature can be lowered by up to 10° C. WARNING: This feature was tested only for the motors provided by Prusa Research. We cannot guarantee that this current amplification can be applied to other 3rd party motors as they might get damaged due to a current spike. For this very reason, the feature is disabled for all printers and has to be manually enabled at the user's risk. To enable this feature, enter the experimental menu. Go to LCD menu -> Settings -> HW Setup, then scroll to any menu item and hold the knob for 2-3 seconds. After a “click” sound, the display will flash once and the “experimental menu” will appear as the last item in the list. File listing adjusted for remote printing software The file listing provided by the M20 G-code was adjusted to comply with the needs of the remote printing software like OctoPrint. Examples of the listing when using plain G-code M20, or M20 with the parameter “L”:M20: Begin file list TEST1.GCO 1234 LFNFIL~1.GCO 1234 End file list M20 L: Begin file list TEST1.GCO 1234 "TEST1.GCO" DIR_ENTER: /TESTFO~1/ "test folder" DIR_EXIT LFNFIL~1.GCO 1234 "LFN file.gcode" End file list For Prusa Connect, the firmware was extended by a “T” parameter, which lists timestamps of the files. Both “L” and “T” parameters can be also used at the same time. The timestamp is a combination of both the date and time into a single integer ((date << 16) | time) and printed as a hex value. More information about the design is available at link1, link2 Examples of the listing, while using single parameter “T” and combination of “L” and “T”:M20 L T: Begin file list TEST1.GCO 1234 0x52936b00 "TEST1.GCO" DIR_ENTER: /TESTFO~1/ "test folder" DIR_EXIT LFNFIL~1.GCO 1234 0x52936b08 "LFN file.gcode" End file list M20 T: Begin file list TEST1.GCO 1234 0x52936b00 LFNFIL~1.GCO 1234 0x52936b08 End file list Host Long File Name (LFN) improvements Under the hood, the SD FAT implementation in the firmware only uses 8.3 DOS filenames. This is fine when they’re internal to the firmware, but this has the side effect of requiring Host software to work with 8.3 filenames (SFN) exclusively. To address this limitation, a few changes to existing G-codes are proposed. If these G-codes are used correctly, the Host software can build the full file tree with both SFN and LFN, while also knowing how to start an SD print with M23 (which still requires SFN).The affected G-code commands are M20 and M27. More info about what was changed can be found in these two pull-requests: PR #3009 PR #2987 Z offset during M600 reverted This change restores the minimum extruder height for filament purge during M600 from the current value of 50 mm back to 27 mm used in the previous release FW 3.9.3 for the convenience of the user. Factory reset menu extended The factory reset menu is extended in this release with a new “Service prep” option, which was requested by the Prusa Service department. Just before a repaired printer is sent back to the customer, this option is activated. The printer is then ready to guide the user through the “after-service” unpacking procedure. This procedure is similar to another option from the menu called “Shipping prep”. The only difference is that “Service prep” does not clear the print statistics. The "All data" parameter was moved into the last parameter position (after the Service prep parameter). G-code documentation updated This update brings updates to several G-codes (M20, M73, M123 and M155), the documentation was updated accordingly. Translations updated and checked All language versions of the firmware were updated and verified using new scripts, which check for the proper text wrapping according to the size of the LCD screen. As a result, the text readability is improved. Reservation in the EEPROM for job ID tracking For the host software, there is now a reserved space in the EEPROM to track/identify the print job. Even if the SD card or Raspberry Pi becomes unresponsive, the job ID will prevail. The 4-bytes variable in EEPROM is named "EEVAR_HOST_JOBID". Host software can manipulate the EEPROM variable via D3 commands. Bug Fixes Incorrect G-code reading from a buffer There was a bug in the new G-code reading code, which could stop the print in progress. In some scenarios, the system would insert a new line '\n' into the current cached block of the G-code file and change the G-code line syntax. Kudos to @lhecker for reporting the issue and providing a good test case (fixes issue #3077). M120 and M121 disabled From now on, G-codes M120 and M121 have been disabled as they do not function correctly and cause issues when used in the G-code file. If necessary, advanced users can enable them in the FW code and recompile. Crash detection during MBL Normally, if prior to Mesh Bed Leveling (MBL) a crash on the Y-axis is detected, the MBL is repeated again and print coordinates are verified, then a purge line is printed. In some scenarios starting firmware 3.9.0 (previous releases are not affected), the purge line was incorrectly placed in the center of the sheet, now this is fixed and the purge line is correctly placed in the front-left position. M0/M1 Stop/Halt not displaying text/waiting for input fixed Fixes M0 and M1 commands: G-code M1 must have a string, while in M0 it is optional G-codes M0/M1 were moved to the beginning of the parser to allow reading “M1” first instead of M1nn. The parser would not be able to "find" M1nn command if the query was “M1 “ instead of “M1” (space behind) to be able to "stop/halt" without sending a string and displaying the default message. Use G-code M0 as there are no M0nn G-codes the parser can identify M0 without additional space needed as in M1 M0/M1 with parameters P or S will NOT show any text as mentioned in #2055 (comment) In Octoprint, M0 or M1 should not be in "Pausing commands" as these are NOT pause commands - they stop/halt/sleep the printer. Addressing few requests from #2055. Thanks to @vojtech-pavlik and his PR #1900, which we merged with a few improvements. It is important to note that G-code M0/M1 stops/halts the printer! If you need a pause, please use M601. Sensor info screen blocking the function of filament IR sensor fixed Now the function of the filament sensor is not blocked during print if in Support->Sensor info screen is displayed. If the printer is idle the filament sensor actions are disabled while in the ‘Support->Sensor info’ menu. This allows the user to troubleshoot this sensor (broken wire, etc).Fixes issue #1971 Move Z up before XYZ calibration The X-axis is now raised up prior to the XYZ calibration to prevent scratching the bed, sheet, and nozzle. Firmware retract (G10/G11) fixed When using firmware retract (as controlled by M207/M208), G10 would previously save an incorrect offset, resulting in an incorrect “unretract” move on the subsequent G11. The offset is now saved correctly, fixing the behavior of G10/G11. For more information, see PR #2572 Babystep insertion fixed This functionality prevents the user from entering Live Z (through long-press or via the menu) while performing mesh bed leveling, homing, or performing individual Z probes via G30. These actions interfere with each other and can result in an incorrect mesh or Z offset. The firmware now restricts this by setting/checking for the mesh_bed_leveling/homing flag when relevant. The code around Babystep insertion was also cleaned up (notably, the alternative to BABYSTEP_LOADZ_BY_PLANNER was broken and has been removed). For more information, see PR #3006 Opening file causing wrong serial output fixed Opening a file from the LCD menu would open the file twice. This behavior is normal. However, the first time the file was opened, the wrong filename was displayed in the serial output, possibly confusing the host software. Now, this bug is fixed. SD card (re)print bug in Octoprint fixed When the user started a Print From SD Card from Octoprint in the RC1 or RC2 firmware release, the print finished successfully, but it would immediately start again. This would result in crashes and homing failures due to printed material still being present on the heatbed. This issue did not occur on the previous stable release 3.9.3, and has been corrected in this final release. Fixes issue #3102 Assets8 prusa3d_fw_MK25S_3_10_0_4481_RAMBo10a.zip1.49 MB prusa3d_fw_MK25S_3_10_0_4481_RAMBo13a.zip1.49 MB prusa3d_fw_MK25_3_10_0_4481_RAMBo10a.zip1.52 MB prusa3d_fw_MK25_3_10_0_4481_RAMBo13a.zip1.52 MB prusa3d_fw_MK3S_MK3S+_3_10_0_4481.hex894 KB prusa3d_fw_MK3_3_10_0_4481.hex897 KB Source code(zip) Source code(tar.gz) © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About Please report any bug here: Download Link: How to flash the firmware: As always, we wish you happy printing!
Use of GCode for a different printing technique   23 Relevance 5 years ago Spanholz PrusaSlicer
  Hi PrusaCommunity, I am a researcher from Germany and need some of your help. We are working with a two photon polymerization printer, which is very precise (resolution ~200 Nanometer). In short we polymerize material in the focal spot of a laser. This spot we call voxel is comparable to a printer nozzle. Imagine it like a needle head moving in a drop of honey. Every point where the needle head was is solid afterwards and the honey can be washed away. That way we get a 3D model. So we run our printer with a similar software that also slices STL files. Unfortunately it is not as powerful as FDM printer slicers like PrusaSlicer. But we can use externally sliced gcode (in short where a FDM printer extrudes we polymerize with our laser). Currently we can slice code with the PrusaSlicer and print it. We just simply scale everyting by 1/1000. Unfortunately our voxel looks a bit different to the printer nozzle geometry. See these images, where the black line is our voxel and the image is a cut through in XZ direction. our voxel is much longer in Z than the line one would print with a nozzle. And here is my question: The PrusaSlicer is giving us errors if we use slices bigger than the nozzle size and no output in form of gcode is given. We use the nozzle size as distance between two voxels (hatching). Is there a way to ignore most of the errors? Command line or something else? Are there any hidden or non-obvious parameters we could change to just get a toolpath? We only care about the general slicing and infill parameters. Extrusion parameters, overlaps, brims and all the other parameters are not important for us due to the different technique. our next step, if there is no easy solution, would be to fork PrusaSlicer and try to make a version for our printing process but this involves a lot of work and time. We also printed a Benchy (12µm long) and the octopus to see if his arms would move (they do!). Thanks for your help!
RE: Bulge when print reaches "solid" layers   23 Relevance 5 years ago HudsonForge How do I print this? (Printing help)
  @fuchsr I think you are right, which leads me to my next tinfoil hat theory: I think for some people, this is a combination of bad flow and speed limiting. Its just a theory and I am in no way suggesting this is the problem that everyone is having, but it might be worth considering, just hear me out: I want to draw your attention back to the bulge in the picture of bobs file that I uploaded. We already know the only difference between those two prints was the removal of the speed limits, and it would make sense for us to say the "bulge has gone" because of it, but technically it hasn't. The opposite has happened, the bulge has remained in exactly the same place, and the rest of the print has bulged out to match it. Think of it like this, that bulge was printed during a slow layer with infill and therefor was not reduced in speed in any way, meaning that bulge was actually printing exactly at our specified flow/speed/jerk/accel rates that we input into our firmware/slicer. Its the other 90% of the print that is actually being printed "inconsistently" and has been printed "smaller" due to the speed restrictions in place. If you were to print something large using these same settings, you would be printing using the unrestricted "bulged" extrusion and speed rates, not the thinner parts. And then consider this: Most calibration test prints are usually no bigger than 30-40 mm in XY, and we don't often use high infill and wall rates for just a calibration print do we? I'm sure you can see where I am going with this. We are all acting under the assumption that the bulge is the problem, and we are adjusting our flow rates and settings for the non-bulging parts, but if we are printing calibration prints that are being speed-restricted, those are not reliable values because they will change as soon as we go to print something larger or slower. The bulge is actually our true extrusion/speed values defined in the slicer. We have probably been tuning our printers using small and fast calibration prints that have been speed-limited. Look at the difference in extrusion width on the bulge in my print, and then consider that we may have been calibrating our printers to the non-bulging parts when in reality, anything we print that is bigger than 4-5 cm will print using the unrestricted bulging parts rates, its fair to say that some of our flow rates might be completely out of whack because of this. Its obviously a bit of a stretch, and I am by no means suggesting that this is the cause for everyones problems, but perhaps it might help one or two people solve a few of their problems, I know stumbling on this thread certainly helped me rule out a lot of issues. My thinking: I would say that most of my print using bobs file is relatively "well-extruded" except for the bulge which looks messy and is overextruded... BUT we have established that the bulge is actually my true flow/speed rates, so even though 90% of the print looks great, my true flow rate is actually way too high and will become apparent as soon as I print something bigger that is not speed restricted. This is where the bulge could potentially come in on bigger prints like you mentioned, with no speed limiting on such a large print, the entire print will be done using your true specified flow/speed rates, which could be way too high and over-extruding if you have been calibrating using smaller speed-restricted prints. The overextrusion alongside the solid infill could cause a common overextrusion bulge as the material has nowhere else to go (assuming they are making contact, if they are not then I am stumped). Thats the only reasonable explanation I can think of for the issue to persist on large prints based on this tinfoil hat theory.
3.10.1-RC1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S   22 Relevance 5 years ago Same Old Shane General discussion, announcements and releases
  Hello everyone. We are happy to announce a new Release Candidate for the new 3.10.1 firmware for our MK series of printers. Below you will find all related information, download links and how to update the firmware on the printer, and a special hidden announcement at the end 🙂 Summary New debugging functions & crash analysis tools A rare memory bug debugged and fixed Long-Press action fixed Move auto reporting out of the temperature ISR Uint8_t used consistently for the block buffer's index "Preheating to load" screen behavior fixed Message on boot while inserting SD card fixed Algorithm for reading SN in EEPROM improved Spanish translation fixed Firmware version parsing remove d Prusa Connect - beta testers wanted! In this minor release, the primary focus was on improving the debugging capabilities and fixing potential and bugs in the firmware. The main motivation behind this effort was to catch very rare bugs exhibiting symptoms like memory corruption or a random mid-print crash. New debugging functions & crash analysis tools The "Dump memory" feature is a very important new debugging support tool. It allows you to store the RAM content into the xFlash memory for further issue/bug analysis, just like we have in the Buddy firmware for the MINI+. This procedure has proven vital for identifying the rare bug of “static memory overwritten”. MK3, MK3S and MK3S+ This feature is now accessible from the printer’s Display menu Support-> Dump memory, which is the last command within the Support menu. The dump command is also available during an active print, which allows the user to execute an actual Memory "Snapshot" during a critical status or misbehavior of the printer. You will find it under LCD Menu -> Support -> Dump memory display menu. Please note that the snapshot takes some time to finish, therefore we advise not to use this feature if you are not experiencing any problems - i.e. the printer will stop for a while to dump the memory. Also, to allow for simpler usage of this function, we put it at the end of the support menu for now. If it was hidden somewhere deep, a user experiencing an issue may hot reach this option quickly. When you have connected a serial device like Pronterface or Octoprint, you can use the following commands via the serial link: D20 - create memory dump on xFlash (same as LCD Menu -> Support -> Dump memory) D21 - download/print the memory dump via the serial link. This is the only way to get the Dump from the printer. Warning: please be aware not to connect the serial link during print as it can restart the printer and break the recent printing job D22 - clear the current memory dump in the printer The crash dump to xFlash is active at any time, it is stored in xFlash and can be downloaded even after the system reboot until a new D22 command is sent to the printer. MK2.5, MK2.5S and MK2.5S+ The MK2.5 series does not contain the xFlash, so the situation is different. The dump cannot be stored but it can be sent down to a serial link. In order to get the memory dump from the printer, there must be a serial link connection available prior to any dump download. In default, the LCD Menu -> Support -> Dump to serial and crash dump are disabled after printer restart. To get the dump the following process has to be followed and serial commands used: Connect the serial link to printer. As the serial link connection restarts the printer, it has to be done before any further activity. Using the D23 command from the serial link enables the crash dump by setting the crash dump flag and activates the LCD Menu -> Support-> Dump to serial display menu. D23 R command disables the crash dump and removes the LCD Menu -> Support-> Dump to serial display menu. The command D23 E - sends the Dump down to the serial link immediately and resets the printer. Command D20, D21, D22 are ignored. The Dump to serial command should be available even during print and should be found again under LCD Menu -> Support-> Dump to serial display menu. Please note, that in this release the “Dump memory” function is currently not fully working on the MK2.5 series. After the memory Dump is successfully sent down to the serial link the printer is freezing during Booting and you can see the following or similar: To resolve the situation at the current firmware build, push the HW reset button below the knob and the printer will restart. We are working on a workaround, this feature should be fully functional in the future firmware release. Should you find any other issues, please let us know. A rare memory bug debugged and fixed We have noticed several issues with unpredictable and non-replicable behavior like preheat menu loop when the printer was powered on with already loaded filament. Unpredictability and non-replicability made the root cause identification very hard. Recently we believe we found the major root cause. Its explanation is rather technical, but there’s really no other way to describe it. The bug was not directly in our firmware, but we believe we ran into a bug in the link-time code generation stage of GCC 4.9.2 (bundled with PF-build-env-1.0.6.*) with optimization for size. The generated code could then partially overwrite the stack, which obviously resulted in random behavior. A workaround was found to avoid this bug by not allowing some functions to get inlined, even when they were used at one spot only. We believe this is the main reason behind issues #3147, #3151, #3175 and probably others. We have verified that the code generation issue was also present in 3.9.3 already and probably in older FW versions as well. We have been able to track the problem down to FW 3.8.0, it may have been there even longer. For more detailed technical description see please: #3202 However, since we haven't been able to reproduce ANY of those issues mentioned above in-house during our tests, we kindly ask the community for help. To help with tracing those malfunctions, you can use the debugging tool described at the very beginning of these release notes. Please, report any of those potential issues you discover on GitHub and attach the Crash Dump file. Long-Press action fixed In the previous releases, the LCD knob "Long press" action was monitored and executed within the temperature control loop Interrupt Service Routine (ISR). This operation could under some circumstances destroy the menu buffer and create the menu itself inconsistently. This change improves the printer reaction when the user is applying the "Long press" action (move Z etc. ). The main change is that the jog wheel "Long press" execution part has been moved to the main program loop. The temperature control loop is now exclusively dedicated to its generic task - temperature control. Move auto reporting out of the temperature ISR This change is similar to the Long-Press action described above. The code running in the temperature Interrupt Service Routine (ISR) needs to be fully reentrant, which is hard to keep for other than Temperature control tasks. For this reason, the auto reporting (response to M155) is moved to the main processing loop. This can make the auto reporting slower or irregular but removes the reentrant restriction, which allows to use “printf_P” to serial port and to keep Temperature ISR only for temperature control. For more information head to: #3180 Uint8_t used consistently for the block buffer's index We have identified and fixed another potential problem in the planner’s block buffer. The index was sometimes computed as an int (2 bytes), sometimes as 1-byte uint8_t. On the AVR working with 2-byte integers, this is generally not an atomic operation, because it takes multiple instructions to perform. Since it has been possible, all indices of the block buffer are now referenced as 1-byte uint8_t. "Preheating to load" screen behavior fixed During the Load filament process, the printer was waiting for the preset temperature and displayed the "Preheating to load" message. When the user removed the SD card, the previous message was replaced by the message "Card removed" but the Preheating process still did not finish, so the lasting displayed message was not correct. Now after this and similar action the “Preheating to load" message is redrawn again which is the correct Process status Message. Message on boot while inserting SD card fixed When the user inserted the SD card during the booting process, the "Sorting files" message was presented twice on the display later followed by the correct "Print from SD menu" message. The issue has been reported on GitHub issue #3135 and clearly reproduced.We have fixed the SD card handling while booting scenario, which corrected the double "Sorting files" message. Now the system works correctly. Algorithm for reading SN in EEPROM improved Another significant improvement is a Serial Number (SN) reading algorithm change from the 32u2 communication chip. When reading the SN, the code is expected to start with the standard "CZPX" prefix used for all Prusa printers worldwide. Unsuccessful attempts are repeated until a valid SN is read. Spanish translation fixed A tiny contribution from our community on improving wording in Spanish translation. Specifically for the text string: "Was filament unload successful?". Firmware version parsing removed This FW optimization has saved 936 bytes of Flash memory which is very important in the already critically occupied XFlash memory. Prusa Connect - beta testers wanted! We are currently looking for enthusiastic and experienced owners of the Original Prusa MK3/MK3S/MK3S+ 3D printers, who will join us in the testing of our newest cloud-based printing service Prusa Connect. The project is now in the beta stage and we would appreciate feedback from you. Selected beta testers will receive an RPi Zero W with pre-soldered GPIO pins together with step-by-step install instructions for the PrusaLink, access to Prusa Connect cloud service, and technical support. The next steps are the following: put your cloud-connected printer to work, run as many prints as you can and share any bugs and issues you find. Any suggestions and ideas are welcome! Are you interested? Fill in the application form and once selected, we will get in touch with you. Please report any bug here: Download Link:1 How to flash the firmware: As always, we wish you happy printing!
3.10.1-RC1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S   22 Relevance 5 years ago Same Old Shane General discussion, announcements and releases
  Hello everyone. We are happy to announce a new Release Candidate for the new 3.10.1 firmware for our MK series of printers. Below you will find all related information, download links and how to update the firmware on the printer, and a special hidden announcement at the end 🙂 Summary New debugging functions & crash analysis tools A rare memory bug debugged and fixed Long-Press action fixed Move auto reporting out of the temperature ISR Uint8_t used consistently for the block buffer's index "Preheating to load" screen behavior fixed Message on boot while inserting SD card fixed Algorithm for reading SN in EEPROM improved Spanish translation fixed Firmware version parsing removed Prusa Connect & PrusaLink - beta testers wanted! In this minor release, the primary focus was on improving the debugging capabilities and fixing potential and bugs in the firmware. The main motivation behind this effort was to catch very rare bugs exhibiting symptoms like memory corruption or a random mid-print crash. New debugging functions & crash analysis tools The "Dump memory" feature is a very important new debugging support tool. It allows you to store the RAM content into the xFlash memory for further issue/bug analysis, just like we have in the Buddy firmware for the MINI+. This procedure has proven vital for identifying the rare bug of “static memory overwritten”. MK3, MK3S and MK3S+ This feature is now accessible from the printer’s Display menu Support-> Dump memory, which is the last command within the Support menu. The dump command is also available during an active print, which allows the user to execute an actual Memory "Snapshot" during a critical status or misbehavior of the printer. You will find it under LCD Menu -> Support -> Dump memory display menu. Please note that the snapshot takes some time to finish, therefore we advise not to use this feature if you are not experiencing any problems - i.e. the printer will stop for a while to dump the memory. Also, to allow for simpler usage of this function, we put it at the end of the support menu for now. If it was hidden somewhere deep, a user experiencing an issue may hot reach this option quickly. When you have connected a serial device like Pronterface or Octoprint, you can use the following commands via the serial link: D20 - create memory dump on xFlash (same as LCD Menu -> Support -> Dump memory) D21 - download/print the memory dump via the serial link. This is the only way to get the Dump from the printer. Warning: please be aware not to connect the serial link during print as it can restart the printer and break the recent printing job D22 - clear the current memory dump in the printer The crash dump to xFlash is active at any time, it is stored in xFlash and can be downloaded even after the system reboot until a new D22 command is sent to the printer. MK2.5, MK2.5S and MK2.5S+ The MK2.5 series does not contain the xFlash, so the situation is different. The dump cannot be stored but it can be sent down to a serial link. In order to get the memory dump from the printer, there must be a serial link connection available prior to any dump download. In default, the LCD Menu -> Support -> Dump to serial and crash dump are disabled after printer restart. To get the dump the following process has to be followed and serial commands used: Connect the serial link to printer. As the serial link connection restarts the printer, it has to be done before any further activity. Using the D23 command from the serial link enables the crash dump by setting the crash dump flag and activates the LCD Menu -> Support-> Dump to serial display menu. D23 R command disables the crash dump and removes the LCD Menu -> Support-> Dump to serial display menu. The command D23 E - sends the Dump down to the serial link immediately and resets the printer. Command D20, D21, D22 are ignored. The Dump to serial command should be available even during print and should be found again under LCD Menu -> Support-> Dump to serial display menu. Please note, that in this release the “Dump memory” function is currently not fully working on the MK2.5 series. After the memory Dump is successfully sent down to the serial link the printer is freezing during Booting and you can see the following or similar: To resolve the situation at the current firmware build, push the HW reset button below the knob and the printer will restart. We are working on a workaround, this feature should be fully functional in the future firmware release. Should you find any other issues, please let us know. A rare memory bug debugged and fixed We have noticed several issues with unpredictable and non-replicable behavior like preheat menu loop when the printer was powered on with already loaded filament. Unpredictability and non-replicability made the root cause identification very hard. Recently we believe we found the major root cause. Its explanation is rather technical, but there’s really no other way to describe it. The bug was not directly in our firmware, but we believe we ran into a bug in the link-time code generation stage of GCC 4.9.2 (bundled with PF-build-env-1.0.6.*) with optimization for size. The generated code could then partially overwrite the stack, which obviously resulted in random behavior. A workaround was found to avoid this bug by not allowing some functions to get inlined, even when they were used at one spot only. We believe this is the main reason behind issues #3147, #3151, #3175 and probably others. We have verified that the code generation issue was also present in 3.9.3 already and probably in older FW versions as well. We have been able to track the problem down to FW 3.8.0, it may have been there even longer. For more detailed technical description see please: #3202 However, since we haven't been able to reproduce ANY of those issues mentioned above in-house during our tests, we kindly ask the community for help. To help with tracing those malfunctions, you can use the debugging tool described at the very beginning of these release notes. Please, report any of those potential issues you discover on GitHub and attach the Crash Dump file. Long-Press action fixed In the previous releases, the LCD knob "Long press" action was monitored and executed within the temperature control loop Interrupt Service Routine (ISR). This operation could under some circumstances destroy the menu buffer and create the menu itself inconsistently. This change improves the printer reaction when the user is applying the "Long press" action (move Z etc. ). The main change is that the jog wheel "Long press" execution part has been moved to the main program loop. The temperature control loop is now exclusively dedicated to its generic task - temperature control. Move auto reporting out of the temperature ISR This change is similar to the Long-Press action described above. The code running in the temperature Interrupt Service Routine (ISR) needs to be fully reentrant, which is hard to keep for other than Temperature control tasks. For this reason, the auto reporting (response to M155) is moved to the main processing loop. This can make the auto reporting slower or irregular but removes the reentrant restriction, which allows to use “printf_P” to serial port and to keep Temperature ISR only for temperature control. For more information head to: #3180 Uint8_t used consistently for the block buffer's index We have identified and fixed another potential problem in the planner’s block buffer. The index was sometimes computed as an int (2 bytes), sometimes as 1-byte uint8_t. On the AVR working with 2-byte integers, this is generally not an atomic operation, because it takes multiple instructions to perform. Since it has been possible, all indices of the block buffer are now referenced as 1-byte uint8_t. "Preheating to load" screen behavior fixed During the Load filament process, the printer was waiting for the preset temperature and displayed the "Preheating to load" message. When the user removed the SD card, the previous message was replaced by the message "Card removed" but the Preheating process still did not finish, so the lasting displayed message was not correct. Now after this and similar action the “Preheating to load" message is redrawn again which is the correct Process status Message. Message on boot while inserting SD card fixed When the user inserted the SD card during the booting process, the "Sorting files" message was presented twice on the display later followed by the correct "Print from SD menu" message. The issue has been reported on GitHub issue #3135 and clearly reproduced.We have fixed the SD card handling while booting scenario, which corrected the double "Sorting files" message. Now the system works correctly. Algorithm for reading SN in EEPROM improved Another significant improvement is a Serial Number (SN) reading algorithm change from the 32u2 communication chip. When reading the SN, the code is expected to start with the standard "CZPX" prefix used for all Prusa printers worldwide. Unsuccessful attempts are repeated until a valid SN is read. Spanish translation fixed A tiny contribution from our community on improving wording in Spanish translation. Specifically for the text string: "Was filament unload successful?". Firmware version parsing removed This FW optimization has saved 936 bytes of Flash memory which is very important in the already critically occupied XFlash memory. Prusa Connect & PrusaLink - beta testers wanted! We are currently looking for enthusiastic and experienced owners of the Original Prusa MK3/MK3S/MK3S+ 3D printers, who will join us in the testing of our newest cloud-based printing service Prusa Connect. The project is now in the beta stage and we would appreciate feedback from you. Selected beta testers will receive an RPi Zero W with pre-soldered GPIO pins together with step-by-step install instructions for the PrusaLink, access to Prusa Connect cloud service, and technical support. The next steps are the following: put your cloud-connected printer to work, run as many prints as you can and share any bugs and issues you find. Any suggestions and ideas are welcome! Are you interested? Fill in the application form and once selected, we will get in touch with you. Please report any bug here: Download Link: How to flash the firmware: As always, we wish you happy printing!
4.3.0 Firmware for Original Prusa MINI/MINI+ Final released.   22 Relevance 5 years ago Same Old Shane General discussion, announcements and releases
  Summary New graphics for Live adjust Z Added support for PVB material QR Error codes Print sheet profiles New fan management Improved selftest and wizard First layer calibration updated Improved filament change process Sound notification changes Improved localization management GUI and WUI (Web User Interface) refactoring Prusa Connect Local upgraded PID disabled during heater test Bug fixes This is the final release of the firmware. This changelog is a summary of the previous releases (RC1 & RC2) with a few additional changes introduced in this release. Compared to the previous stable release 4.2.1 there are major changes to the code, user interface, new features, and multiple improvements across the entire firmware. Over 600 commits to the firmware 250 pull requests (4 from the community members) We would like to thank users @ftrofin, @JeffersGlass, @cpinamtz and @carlin57 for their contribution to this release New graphics for Live adjust Z Adjusting the distance between the nozzle and the surface of the sheet is a crucial part of the calibration as it affects the quality of the first layer. In the past, it was difficult to further improve the process due to the screen limitation, but thanks to the color display on the MINI/MINI+ the system is now able to display more important information and make the calibration process easier. The entire screen is now redesigned. On the left side, there is a scale of the vertical Z-axis with a range of 0 to -2 mm. The orange bar represents the currently set value. In the middle of the screen, there is a graphical representation of the nozzle, which moves up and down based on the input from the knob. Below the graphical representation, there is the exact Z-axis value of the nozzle and the arrows are showing to the user, whether the nozzle is moving up or down. Added support for PVB material In January 2021, we have introduced the latest addition to our Prusament family of filaments. PVB is great for printing design models because the material is very easy to post-process with isopropyl alcohol (IPA). Read more about PVB in this blog article. The PVB is now integrated into the printer's menu and you can select it while preheating the printer or loading/unloading the filament. Default and recommended temperatures are 215 °C for the hotend and 75 °C for the heatbed. QR Error codes We always strive to improve the user experience and the QR Error codes are the next evolution step. Until now, if the printer experienced an error, a short description was displayed on the screen and the user had to open either the Handbook or search the Prusa knowledgebase for a solution. With this firmware release, the printer will display more information: the name of the error followed by a brief description and a QR code. Take your phone, scan the code, and get immediately redirected to an article, which will in detail explain, what happened to your printer and how to fix the problem. Each error code comes with a short URL containing a code. This is useful in case you can't scan the QR code. Open help.prusa3d.com, type in the error code (e.g. #12201), or use the displayed short link, and get access to the required article. Moreover, all the articles are translated into seven languages. How is each code created? Let's use error #12201 again as an example. The code consists of five numbers with the following pattern: XXYZZ. XX -> ID of the printer based on the USB PID (for MINI/MINI+ it is “12”) Y -> the category of the error (2 is used for the temperature errors category) ZZ -> specific error code (01 is used for the heatbed heating failure) More information about the types of printers, categories, and a full list of the error codes can be found in the following GitHub repository. The URL link embedded in the QR code may contain an optional “device hash” (this can be enabled/disabled in the Settings). Including this information enables us to check, whether you are running the latest version of firmware and if not, we will inform you at the top of the article. The information provided in the URL is stored in our database to help us better understand, which errors are the most common and how many errors each printer experienced. Example of the URL in the QR code: en -> a language of the landing page with the article 12201 -> the unique error code sequence OI6HB7H6 -> device hash 410 -> firmware version in your 3D printer An example of the error page with the printer running outdated firmware The device hash cannot be used to recover anything sensitive like a serial number and isn’t used for anything else than the QR codes feature therefore there are absolutely no security concerns. This feature is turned ON by default. In case you don't want to use this enhanced feature, you can switch it off in the printer's menu by setting the “Device hash in QR” to OFF. Once you turn it off, the QR code URL will contain only the following: Print sheet profiles Just like the MK3S+, the MINI and MINI+ also have a magnetic heatbed, which holds a steel print sheet. However, due to the different thicknesses of various sheets (textured vs smooth PEI), each sheet requires individual First layer calibration. Starting with this release, we are adding a useful new feature, which will store the settings for up to 8 sheets. You can then easily switch between the sheets (profiles) and the printer will load the stored values. There is a new section of the settings menu called “HW Setup”, which will allow you to individually “calibrate” each sheet and some other parameters (see below). To set up the individual sheet profiles, please head to the Settings -> HW Setup -> Steel Sheets With each sheet profile, you can perform the following actions: Select -> confirms the selection of the sheet, which will then become the default First layer calibration -> takes you through the first layer calibration process. This calibration must be performed with each sheet you plan to use Reset -> sets the values back to the factory defaults As soon as two or more profiles are configured, you will be able to quick-toggle between them directly from the Settings menu and the currently selected print sheet is also displayed on the main menu screen between the speed and selected material. Steel sheets without calibration are not displayed in the quick-toggle menu item. When upgrading the firmware to version 4.3.0, the existing Z offset value from First Layer Calibration is copied to the first steel sheet. This does not apply to the downgrading process and the printer’s Z-height offset must be recalibrated. Compared to the MK3S+ implementation, this firmware does not currently support renaming the sheet profiles to a custom name. We will bring this feature in one of the upcoming releases - if you have any requests regarding this feature, let us know. New fan management Improved RPM measurement for PWM-enabled fans A new unique method was implemented to provide improved measurements and adjustments of the cooling fans’ RPM. This method enables to precisely control fans with 3 wires (power supply, ground, tachometer signal) even when the PWM (Pulse Width Modulation) is applied. In some scenarios, the PWM prevents the electronics from obtaining exact RPM data - this is now solved. To explain this function a little further, the firmware is not using the standard method, where the fan was spun up to its maximum speed for a certain time period, to measure the RPM. The new method is more sophisticated, measuring the leading and trailing edges of the tachometer signal while the PWM is at value 1 (tachometer signal is not affected). The following formula is then applied: Once the measurement is finished, the amount of impulses of the tachometer signal is converted to the RPM. A more detailed description of this algorithm will be available at our knowledge base site. States of the fan Keeping the fan spinning in lower RPM requires a small value of the PWM compared to the PWM needed to spin the fan up. The fan speed regulation is therefore split into multiple phases to ensure reliable performance in the entire RPM range. To spin the fan up, the printer is using phase “Start”, which is setting PWM temporarily at 100 % until the max speed and then sets the required RPM by lowering the value of the PWM. Setting the RPM manually The RPM of the fan is adjusted using a PWM factor, which can be changed in LCD Menu -> Settings->Temperature->Print Fan. In the current release, due to a historical reason (MK3) the firmware is displaying the direct PWM value (0-255), in the future release, this will be changed to the more user-friendly range of 0-100 %. The speed of the print fan can be also set using a G-code command M106 Sxxx, where the xxx is a value in the range 1-255. To stop the print fan completely, there are multiple ways, the user can set the PWM to 0 or start a Cooldown procedure (LCD Menu -> Preheat -> Cooldown). Advanced users can again use the G-code command, this time M107. Displaying current RPM Information about the current speed of the fan (RPM) can be found in LCD Menu -> Info -> System info. Firmware is displaying RPM for both print fan and hotend fan. Improved selftest and Wizard The code running the Wizard was completely rewritten including the First layer calibration. The following features were added: Selftest of X, Y, Z axes Selftest of heating up Selftest of fans After the selftest is finished a final confirmation screen is displayed. If any part of the printer failed to meet the testing criteria, the printer displays overall results to quickly evaluate what went wrong. Selftest of X, Y, Z axes The test of all axes is a part of the Selftest (LCD Menu -> Calibration -> Selftest) and can be also run independently Calibration ->Test XYZ-Axis. To evaluate each axis, the printer is utilizing the Trinamic Drivers TMC 2209, specifically the function Stallguard, which works as a virtual endstop.The test is run on each axis in both directions at multiple speeds while reading the Stallguard values: X, Y-axis -> 50, 60, 75 and 100 mm/s Z-axis -> 20 mm/s Together the printer runs 18 measurements (16 for X, Y and 2 for Z). As soon as the test is finished, the printer compares the measured length of each axis compared to the minimal length stored in the firmware. Xmin = 178 mm Ymin = 179 mm Zmin = 181 mm Heating selftest Just like the axes test, the heating selftest is also part of the Wizard and can be launched separately through LCD Menu -> Calibration -> Test heaters. The heating selftest is separated into two phases: Starting temperature stabilizationIn this phase, the temperatures of both the nozzle and the heatbed are set to 40 °C. The printer waits until the target temperature is reached. The selftest works together with the heating control module. It sets a target temperature and once the temperature is reached and the module sends the confirmation, the selftest evaluates, whether the time required was within the limits. The time for the nozzle and the heatbed to reach 40 °C may be different. Heating phaseOnce the 40 °C heating test is completed, the target temperature for the nozzle and the heatbed is set to 290 °C and 110 °C respectively. These temperatures are outside the working range of the MINI on purpose to ensure that the printer will always run the heaters at full 100 % during the entire run of the test. Once the target temperatures are set and the heating process begins, two timers are started. The nozzle timer is set to 42 seconds and the heatbed timer is set to 60 seconds. Once the time runs out, the firmware evaluates the temperatures. The nozzle should be between 130 and 190 °C, while the heatbed should be between 50 °C and 65 °C. If the temperatures are within the required range, the test is considered successful. In the opposite case, the test is considered unsuccessful and user assistance is needed. Note: Please, always run this test with a steel print sheet on the heatbed, otherwise, the heatbed might warm up too quickly and result in a failed test. Fan selftest with RPM monitoring The fan test is part of the Wizard and can be also launched through Calibration -> Test Fans. As described in the previous chapters, the functionality of the test has been significantly improved. The RC1 release contained a table with suggested RPM limits, however, exact values are still under investigation and will be set in a future release. First layer calibration updated (no longer bound to GUI) Thanks to the GUI and WUI refactoring (see below), the First layer calibration process is no longer bound to GUI. In older versions, the entire calibration logic (movements, waiting, heating) was generated in the GUI, which in turn controlled a Marlin thread through a set of G-codes. Now, the instructions are executed in a Marlin thread directly and the GUI receives notifications about the changes. This will allow the implementation of First layer calibration for different nozzle diameters and to change the calibration object shape in the future. First layer calibration can be also called using G26 G-Code. Improved filament change process Firmware 4.3.0 features an improved filament change process - e.g. during a multicolor print (known as ColorPrint). Previously, when the printer paused for manual filament change, there was no option to recover from an unsuccessful filament unload. With FW 4.3.0, the user is asked after a filament unload, whether the process finishes successfully (“Was the filament unload successful?”). In case the user selects “NO”, the on-screen message suggests to open the idler and remove the filament manually. Once the issue is fixed, a new strand of filament can be loaded and the print continues. Sound notification changes Added support for sounds playing in loop, which are stopped only by a user action Added a new sound for the change filament process - WaitingSound The volume now goes up to 11! (It is one louder) Improved localization management Firmware 4.3.0 brings an important change to how the localization files are implemented. Compared to the old method, the new process allows to process a .po file during the firmware build process. The related unit tests went through a similar upgrade, allowing them to check the results independently. The process of implementing and testing a new translation is now simplified significantly. When you edit texts in a .po file, you can then just build the firmware and load the .BBF file into your 3D printer. We recommend to run unit tests after building the FW to check the generated localization files. GUI and WUI (Web User Interface) refactoring We made major changes in the code for better optimization and future-proofing. The goal of the refactoring was to: Implement a more secure class and API hierarchy to increase the effectiveness of future development. Migrate the printer control logic from the GUI to Marlin-API. This change will allow users to control many features of the printer (e.g. Wizard) through the web-based user interface. These features will be implemented in future firmware releases. Improve the layout of various screens for a better user experience and easier navigation. Fix bugs The refactoring of the Web User Interface brings improved handling of the INI file used for LAN configuration. Compared to the old version: Every item in the INI file (type, address, mask,...) is optional and the printer can read the data even if some of the items are missing. If any of the items in the INI file contain an incorrect IP address, the item is ignored. Only uppercase letters are allowed for the “type” item (e.g. type=STATIC or type=DHCP). An item containing lowercase letters is ignored. Examples: Static IP configuration[lan_ip4]type=STATIChostname=X (hostname, 20 characters maximum, set by the user)address=X.X.X.X (static IP address, set by the user)mask=X.X.X.X (netmask, set by the user)gateway=X.X.X.X (default gateway, set by the user) Dynamic IP address configuration (IP provided by DHCP)[lan_ip4]type=DHCPhostname=X (hostname, 20 characters maximum, set by the user) Improved text formatting Part of the GUI refactoring is also better formatting of the displayed text. In case the text spans across multiple rows it is now centered horizontally. Improved system dialogues Selected system dialogues were updated to improve clarity. In this release, new screens are introduced: USB drive error is detected during the print Heating is disabled after 30 minutes of inactivity Prusa Connect Local upgraded Prusa Connect Local has a separate language settings feature and the configuration remains saved even after a web page reload. To change the Prusa Connect interface language, connect your MINI/MINI+ to the local area network and enter its IP address into your web browser. In the top right corner, use the drop-down menu to pick the language of your choice. If you reload the page, the language setting remains saved. PID disabled during heater test While testing the hotend and heatbed heaters, the system now temporarily disables the PID regulating feature and uses full available power. This results in a faster heat-up, effectively shortening the test duration. Bug Fixes: BSOD when displaying filenames with special characters -> filenames containing special characters were either incorrectly displayed or caused a BSOD. This is now fixed - incorrect characters are replaced with an asterisk. However, we recommend NOT TO USE special characters at all BSOD after a watchdog reset -> After the printer was restarted due to a watchdog reset, an incorrect BSOD flag could cause another BSOD to be shown. This is now fixed, the printer first restarts to ensure that all the running processes (e.g. heating) are canceled and the system is at safe state. Once the restart is finished the error message is displayed. Stop button behavior during MBL fixed -> If you selected the STOP button during the Mesh Bed Leveling routine at the start of the print, the print head parked, however, then it continued to finish the MBL and proceeded with printing. In this firmware version, the print head will finish MBL and park (the print is then stopped). M851 ignored in G-Code -> Setting the initial Z-offset for print sheets of different thickness using a G-code is not implemented. Instead, the new “Sheet profiles” function enables users to configure various print sheets and switch between the profiles quickly Some translated Prusa Connect Local messages were displayed with a longer delay, this is now fixed (response is faster). The final parking position of the print head (X-coordinate) was united for the First layer calibration and a finished print. In some scenarios, the testers were able to invoke a “watchdog reset”, but instead of displaying the red screen, the system showed a blue BSOD screen. There was an internal issue with the procedure “calling” for incorrect GUI function. This is now fixed. In case of damage to the thermistor (short circuit) on the hotend or heatbed, the system could end up in an endless loop of Maxtemp error screens. This scenario is now fixed and after the first reset, the system displays an error message and waits for user interaction. In case the print was paused, sometimes the printer incorrectly displayed a message with a safety timer being activated. This is now fixed and the message is not displayed in this scenario. DOWNLOAD:
Original Prusa i3 MK3S/+ to MK3.5 upgrade kit is out.   22 Relevance 2 years ago Same Old Shane General discussion, announcements and releases
  Its now out, go check out all the details here on our eshop Supercharge your MK3S and MK3S+! With the introduction of the MK4, we were looking for ways to bring its features to our proven workhorse, and the MK3.5 upgrade is the answer. It’s the easiest and most affordable option to print two times faster and expand the capabilities of your MK3S/+ 3D printer! Enjoy benefits such as super-fast printing with the addition of Input Shaper, sending files wirelessly to your machine without using Raspberry Pi, and navigating the printer’s menus faster than ever before with the new large LCD. The upgrade is straightforward to install and with our detailed assembly guide and 3D printing handbook, you’ll be up to speed in no time! High-speed printing with ease As a part of the upgrade package, you will receive our new 32-bit embedded xBuddy to expand your 3D printer’s capabilities. The addition of Input Shaper and Pressure Advance brings a massive boost to your MK3S/+, allowing you to print more than twice as fast and with the same level of quality. The prints that would be otherwise running the entire night can be finished in just a few hours. Prusa Connect and easy networking With the MK3.5 upgrade, you also receive an easy way to connect your printer to your network - both wired and wireless. Add the MK3.5 to Prusa Connect, our internally developed remote print management solution, and start sending print files to your printer without the need to deal with USB drives. G-code streaming enables you to start printing mere seconds after you upload the file to the Prusa Connect cloud. However, Prusa Connect can do even more. Check out our article to learn all about it! Plenty of quality-of-life improvements It’s time to replace the old segmented LCD with a brand new one. This 3.5’’ color LCD gives you much better control over your printer. See print file previews, read detailed instructions, or scan QR codes - using the printer is now much more convenient. With the new electronics and the new LCD, you can now use standard USB flash drives for storing G-codes, and you can also use a USB drive to flash new firmware (but you can also do it remotely via Prusa Connect). You can customize which information is displayed at all times in the footer of the LCD screen. Easy to install The MK3.5 upgrade is easy to install - we’re providing detailed assembly instructions in seven languages and an updated 3D printing handbook to get you started. You don’t have to worry about getting stuck. Everything has been thoroughly tested in-house. You’ll start printing in no time! PSU & Heatbed info Before you order the upgrade, please check which PSU your printer came with and which version of the heatbed connector is installed. This is important for correct compatibility with the upgrade. Depending on the selected options, we can send you additional components to ensure compatibility with the upgrade. Which PSU does your printer have? Black PSU - you are all good Silver PSU - you will need to add a compatible wiring harness or a black PSU (in the configuration box above) How many screws does your heatbed have? 2+3 screws (power cable connected with screws) - you are all good 2+1 screws (power cable soldered) - replacing the bed will be necessary Be sure to choose the correct options in the top right menu before you place your order! Package Includes This product is supplied as a kit - you must assemble it yourself! Printed parts are NOT included! Please print them before you disassemble your MK3S/+! The filament is included in the upgrade package. Important: The black injection-molded spool holder is not part of the upgrade package. If your printer didn't come with it (early revisions of MK3), you can purchase it here. This product includes: 32-bit xBuddy board (same as MK4) Metal xBuddy case (and cover) xLCD screen + cables (same as MK4) Cable adapters for your current extruder and heatbed Expansion joints for Heatbed Fasteners and other accessories Filament for printable parts Parts kept from your MK3S/MK3S+ Extruder with V6 hotend Frame and extrusions (the new MK4 has just a different look) PSU* (same wattage/voltage as MK4) Heatbed MK52 24V (thermistor and power cables will be changed) X/Y/Z/E motors X/Y/Z rods and bearings
RE: Spiral Vase + Sequential Printing (6 at a time)   22 Relevance 4 years ago EggkthgaNegkthKg Awesome prints (Hall Of Fame)
  Sure thing. I've done better calculations since the last post I wrote on this, as I printed larger parts this time. To start, here's a screenshot of the settings to see spiral+sequential, and make sure to override the clearance tolerances. **This entire next paragraph is not essential to be understood and can be skipped without consequence; it is, however, informationally accurate and has been included and intended for people who are simply curious to know some of the madness I was required to endure in order to arrive at a true understanding and be able to present real working calculations and procedures** *Skip to the "picture of my settings" if you would like to skip my brain being spilled all over my keyboard in the following paragraph* There are 3 tolerances you must know (X, Y, and Z), but only 2 input fields, and yet only one of them gets used by the slicing software to warn you in any helpful way (radius). What do I mean by that? During slicing/spacing you will get warnings regarding parts too close, and this ONLY is referring to the "radius" clearance, which will likely only apply to your X clearance (it could potentially refer to Y clearance but only if your part is much wider in X dimension forcing you to input the Y clearance instead; the radius clearance could theoretically refer to both X and Y clearances simultaneously if your part is the exact shape and orientation such that your X clearance (which is part width plus [distance from nozzle to edge of hotend fan]) is exactly equal to your Y clearance (which is depth of part+ [the distance of your nozzle to the edge of the part fan]) which is almost statistically impossible .....don't worry about that for now, just know that the warnings will likely only apply to your X-X clearance. "Radius clearance" is going to be the X tolerance only for this example (and always needs to be the smaller of the X clearance vs Y true clearances required, which is why it's purely up to your math skills for success because we're actually lying to the slicer in order for it to allow us to generate the g-code. The Z-height clearance needs to be equal to or higher than the tallest part even though this is also meaningless for the actual print as again we are lying to the slicer (I use 100mm here. In reality, these numbers are ignored by your printer for the entire print and are only used by the slicer to allow or prevent the gcode from being generated. Notice my part of 75mm doesn't meet the requirement of 100mm, because while printing a 75mm part the extruder will easily run into the 100mm parts that are already printed and yet changing the value to 75mm will result in the slicer warning me that my print is too tall and will fail, preventing me from generating g-code altogether. This clearance doesn't actually make any sense when applied to sequential printing. It is up to your math, print sequence, and extruder path if your parts are to be crushed or knocked over by the extruder and X-axis bars). I have 2 different part models here, X=37.31mm by Y=34.27mm by Z=75mm, and X=34.27mm by Y=34.27mm by Z=100mm. I leave the "Radius Clearance" at 45mm, even though I believe 30mm to be enough space to "actually clear" (but there's a good reason to have extra mm for X clearance....hotend fan... and then Y clearance for part fan we will also discuss later because it's a bit more involved).** Ok so first off, I would like to thank you for expressing interest in this. I spent a few frustrated mornings doing various tests, and I believe to have the process worked out with all most of the relevant math and spatial relationships accounted for. Print Order Sequence. Make sure to have the print order from Front Row, (followed by middle if you have one), and lastly Back Row. Also importantly, have each row print individually from Left to Right. This is critical, as the hotend fan (on the "left" of the extruder while facing it) has a flat outer surface (as opposed to the part fan which is facing you and at an angle), while the other side (the right side as you face it) of the extruder has the super pinda and part fan (part fan isn't centered you will notice) which both extend farther to the right from the nozzle than the hotend fan on the left side, which is primarily why we want to print left to right. We will go over the math in a bit, but just keep in mind that the clearance is truly calculated from the nozzle to the potential contact point of the movable X-axis and extruder+wires/fans. We cannot do anything about the X axis being where it is, but we can choose to print Left to Right, which gives us more clearance on that side of the extruder as opposed to the side with the Super Pinda and such. So that is why we print L-to-R, now let's just look at why printing Front to Back, row by row. Pretty simple logic here. Assuming you have spaced the first row correctly, the extruder will never again cross through this area of Y points. That means it will never interfere with parts printed on the front of the bed, even if they are maximum Z height. There are a few considerations to keep in mind with this (one of which I forgot to implement in this print which was useful for learning, and I now have additional math regarding the non-print row transition movement as a result). You will be spacing your second row according to the clearance required from the back of each part in your first row of printed parts to the part-fan at its front-most position according to the front-most edge of each part in this current row. Depending on the z-height of the "back of your part" in the first row (the side which might run into your extruder), you can use an exact minimum spacing or add extra to account for the angle of the part fan (as the fan requires more space as the part gets taller up unto the total height of the fan. A very short part will require less distance to clear as the fan is at an angle). Something very important to remember, is that do not use minimum spacing unless you are absolutely positive you will have no stringing, as your fans will suck the stringing into themselves if you are extremely close. So according to my physical measurements as best I could take, the distance from nozzle to edge of hotend-fan seems to be just about 1.25 inches, or 30mm ish. This is fine if you want the hotend fan smooching the side of each previously printed part, but for the sake of not trying to sand down one side of your part with the fan I leave the additional 15mm of default clearance. You can move it closer if you want to get another part or two to fit, especially if you have the seams somewhere that won't leave any potential stringing to get devoured (and if the parts you're printing are always nice and clean, you don't need to take this extra space precaution and can use 35 or 40mm or something you feel comfortable with). I've never done any "exact calibration test prints" to find exact minimum spacing, and maybe I will do this later today if I have time.....sorry it is not able to be included here. So does that mean we just print the parts 35mm spaced out? No, not unless your parts are 0mm wide. We must account for the part width. (To be technical, we derive this from the fact that we must add the distance from the center of the first part to its right-edge [which is 1/2 the part width since it's located on-center] and also add the distance of the "next part" center to its left-edge [again 1/2 the part width] ....and so we can just use the part width.) My parts are different widths, as I'm using 2 different sized crystal shapes alternating. They are 37.31mm and 34.27mm wide, so I divided both by 2 and rounded up to next mm to get 19mm and 18mm and add together to get 37mm. (If they were the same size, I could have just used the part width). I then add this to 45 (I use 45 instead of 35mm because I'm using .8 nozzle with fat layer height and swirlerizing the top of the gem so it actually fully closes despite spiral vase having 0 top layers, and as such I'm definitely going to account for stringing at the peak) which gives me 82mm. Add this to our starting X value of 30, and our next crystal will be printed at X=112. Add another 82 for the next part at X=194 (somehow I typed in 193 but it's all good). You may notice this picture for the second row doesn't match the Y positions from the earlier picture, and that's only because I had the extra space so I decided to space out the second row +30Y and +15X from the first row. Also, because I forgot GOLDEN RULE #2 (always have the tallest parts in the RIGHT COLUMN) I ended with the shorter crystal in the right column of the first row, and when the extruder went from the front row to the back row, it ALMOST hit crystal #2 positioned at 112,45. Because our back row had been spaced more (I translated the entire back row by +30 Y simply because I had the space as mentioned before), the extruder path to crystal #4 from #3 now was such that the part fan just barely missed touching crystal #2. Had I correctly put the tallest part on the outside (right column), the extruder would have cleared the height of all the parts and would have had no ability to knock anything over during this transition. Ok moving on.... Looking at the Front Row of parts, you might notice that I offset the middle and right columns by 15Y each. This is because the X-axis bars require clearance. As you print your front row, your X axis bars must have clearance in order that they do not knock over the part you just finished printing in that row. This is measured from the nozzle to the X-axis bars. It's kinda hard to measure but it looks to be somewhere between 25mm and 30mmish. These parts are deeper in the Y dimension than this value (they are 34.27mm), and this means that when printing part #2 the X-axis is going to run into the part #1. Both of my crystals are 34.27 in Y dimension, and so I am going to add +15 Y units offset so it has a few extra mm beyond what is necessary. If your parts are under 25mm in the Y dimension, they can be printed along the row with the same Y value without any issues. Because I used a +15mm offset for each of the subsequent front row parts, this offset will carry over to our back row. How to calculate space required for the back row from the front row? Measuring the distance from the nozzle to the front of the part fan gives a nice 2.5 inches, or 62.5mm, which we will add to the part Y-depth, (and add this to the Y-coordinate location of first row to get the value for second row). This number of 62.5mm is at full height of part fan, and since our parts are tall enough I will be using this figure. If my parts were very short, I could use 30-60mm depending on how short and how adventurous I am and if I have spare part fans lying around. Just like with the X clearance calculations, we are going to take the part Y-depth dimension and add it to the nozzle-fan distance value, which is to say 35mm (rounding up from 34.27) + 62.5mm to equal 97.5mm clearance needed. Add this to our initial Y-coordinate value of 30, and our second row will start at Y=127.5 We now finish the coordinates for the rest of the row. Easy math now, as we know subsequent columns will receive X= +82mm (and offset +15Y). And now you're done.........as long as you didn't forget to have the rightmost column be your tallest parts. Here is where I simply had additional room, so I translated the back row by +30Y and because my peak of the crystals was sure to have extra stringing I also added space of additional +15X between them in the back row to ensure the part fan didn't snack on the stringing (by adding +15X to the middle and +30X to the rightmost part) Again, I did this only because I had extra space, and it was not required. I did NOT shift the first row, simply to test and prove that the X-clearance spacing was adequate, and the extra space in the back row was unnecessary (but it felt nice). The print succeeded wonderfully, and hopefully this is helpful for anyone wishing to calculate more precise math. Parts can be super tricky to space depending on the geometry, especially when they do not have flat transitions to upper layers and angled outer sections. If I missed something or explained something incorrectly, please let me know so I can address this. I proofread this in order to fix anything I typed wrong, but I still might have missed something. Posted by: @terry-sherman
RE: Reliable rPET/rPETG filament manufacturer in the USA?   22 Relevance 6 years ago GreenGate3D General discussion, announcements and releases
  @bobstro Hi Bobstro, We’re very happy to hear the filament arrived in good condition and pricing made sense. As far as shipping goes, it actually lowers to a big, fat $0, once a customer spends $49. We don’t put a desiccant in the bag, but in the near 400 spools we’ve sold in a few short months, we’ve gotten ONE complaint, and the guy prefaced it saying he put our spool IN THE OVEN so “the crumbling plastic might’ve been his fault.” I’m VERY confident you won’t need to dehydrate this for quite awhile. We keep them out in the open in our New York offices and I’ve only had to dehydrate one spool. Yeah, if you’re in Florida, I guess the ambient humidity will be high, but no one’s said a word about it yet. Thanks for noting the spool itself is recyclable. You probably got a ABS/PC blend. Those are absolutely recyclable. our next batch will use ABS; plenty of strength, but much lighter. We’re trying to improve our footprint any way we can. And, of course, ABS is absolutely recyclable. Yep, you noticed our pen! We went for a fully recyclable one! Relatedly, Barbara is the Queen of notes, and every once in a while she’ll put a 50g sample of our other colors in with an order. Seems like it was your lucky day! J We’re working hard on a spool-less option; they make me very nervous because printers often complain of filament tangling, and a spool-less option might open up a larger can of worms. However, we have gotten requests for this, as well as reusable spools and master (larger) spools. We’re also working on cardboard spools, where the walls are cardboard, but the core is plastic. Please post a picture of your prints here… or better yet, send us an email to [email protected] and we’ll put it on our website! All the best and THANK YOU for your purchase! -Rich
Firmware 5.0.0-alpha1   21 Relevance 3 years ago Jakub Dolezal Input Shaper (MK4)
  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 github.com/prusa3d/PrusaSlicer/releases 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 prusa.io/input-shaper 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 - M593Setting 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 - M572Set 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:
Page 2 / 5 Prev Next
Share:
  Forum Statistics
598 Forums
71.3 K Topics
500.3 K Posts
12 Online
82 K Members

Latest Post: Link lost #35331 (CORE One L) Our newest member: Rooki Recent Posts Unread Posts Tags

Forum Icons: Forum contains no unread posts Forum contains unread posts

Topic Icons: Not Replied Replied Active Hot Sticky Unapproved Solved Private Closed