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 1 / 5 Next
# Post Title Result Info Date User Forum
4.4.0 Firmware for Original Prusa MINI/MINI+ (Final Release) is out now!   57 Relevance 3 years ago Same Old Shane General discussion, announcements and releases
  Greetings all, just in time for the holidays 🙂 We hare please to announce the release of the final release of the Prusa MINI/MINI+ 4.4.0 firmware. All the details about the update as well as the download links are listed below. Summary Support for Wi-Fi (ESP-01 & ESP-01S) PrusaLink updated Network menu updated Networking improvements GUI improvements Selftest improvements Core/Libs CPU reset G-code added Translations updated Known issues Bug fixes This is the final release of firmware 4.4.0. This changelog is a summary of the previous releases (beta2 and RC1). The main focus is on the support of Wi-Fi and related networking features like PrusaLink. ATTENTION: Before you rush flashing new firmware, please note that this time, there are two files needed on the USB flash drive. Both firmware and bootloader must be updated! ATTENTION 2: In case you run into flashing issues, try to repeat the process or use another USB flash drive. Support for Wi-Fi (ESP-01 & ESP-01S) The MINI+ can be connected to the network using an Ethernet cable. In this release, we are adding support for Wi-Fi via ESP-01 (ESP8266). Please read the following paragraphs carefully. We have streamlined the entire process as much as possible, however, it is necessary to know which ESP hardware to use and how to set up the connection. Brief history of development On paper, connecting MINI+ to the Wi-Fi network seemed easy. However, in reality, the task required a complete overhaul of almost everything. First, the firmware for the ESP itself provided by the manufacturers wasn't working as expected. During the tests, we encountered random packet losses, feature limitations (max 5 sockets at once), and constant disconnects. Therefore our developers have written brand new firmware for the ESP board to ensure better stability and performance. Second, the communication between the printer and the Wi-Fi module based on ESP8266 proved to be a source of issues and almost the entire networking (ISO-OSI stack) had to be written from scratch to achieve a smooth transfer of data across the Buddy board into the USB flash drive. Another important step was to ensure that the user can switch between the Ethernet and Wi-Fi almost seamlessly. Third, saving data on the USB flash drive was not at the expected level. Although the data transfer rate through the Wi-Fi was reasonable, saving received parts of the G-code file onto the USB drive was affected by a bottleneck. The devs have implemented multiple performance fixes for this final release. Fourth, all these changes mentioned above have resulted in a need to update the bootloader. It’s something the MINI platform wasn't initially designed for, so it introduced new challenges. The developers have found a solution and made the updating process fully automatic (more information below). Overall, enabling Wi-Fi on the MINI platform proved to be a very difficult task. We learned a lot during the development and we would like to share our experience and discoveries - check our detailed technical explanation in the dev-diary on our Prusa blog. Hardware prerequisites The ESP8266 is quite popular among other devices, especially in IoT (internet of things), therefore there are multiple manufacturers and also two hardware revisions. We have purchased several Wi-Fi modules from different producers and our internal tests haven't shown any significant differences, however, as with any other product, not all might be equal. For this reason, we are sharing the data from our measurements in this spreadsheet and we would appreciate it if the community would join us. Regarding hardware revisions, there are two, ESP-01 and ESP-01S. Both differ in memory size (512 kB vs 1 MB flash) and assembly of the LED. During the tests, we haven't discovered any functional differences between them. However, it is recommended to purchase the higher memory (1 MB flash). Firmware prerequisites As explained above in the history section, enabling Wi-Fi requires updating both the bootloader and firmware. Note that this time you need to include two separate .bbf files on the USB drive. The printer will automatically load both of them and do all the work in the background. Since this update overwrites almost the entire memory of the printer, the update might take up to 15-20 minutes. Step-by-step guidance The first encounter with the Wi-Fi flashing procedure might be tricky and this is why we have created a dedicated Wi-Fi guide, which will take you through the process step by step, similar to our assembly manuals. Read the manual first before you start flashing the printer. In case you run into issues, please use our forum, where we have created a dedicated section or start a new issue here on GitHub Transfer speeds There are multiple factors affecting the overall performance (signal quality, USB flash drive speed, etc.). The transfer speed from your computer to the printer should be around 250-300 KB/s over the Ethernet and 45-100 KB/s over the Wi-Fi. PrusaLink updated MINI+ is running a PrusaLink service, which is a cornerstone for future networking capabilities. Once the printer is connected to the local network, PrusaLink is accessible via an internet browser. Look in the Menu -> Settings -> Network and rewrite the IP address. Until now, PrusaLink was providing read-only data about the printer (temperatures, fan RPM, speed, etc.). Starting this release we are adding new features. The major change is the ability to upload G-codes and control the printing process. This can be done through a web interface (see our guide for PrusaLink) or using PrusaSlicer. To ensure that it is you, who is sending the file, you must input an API key, which can be found in Menu -> Settings -> Network -> PrusaLink -> Current API key. Besides uploading files, the PrusaLink web interface for MINI+ is also capable of: Start print* Pause/Stop print Browse through G-codes, which are on the printer Delete G-code *MINI+ must be on the home screen and “print-preview” screen - this is intentional for safety reasons Note that files are currently sorted alphabetically (A-Z). Other options are planned for future releases. Network menu updated Due to the completely new or updated features described above, the “Network” menu was also updated. There are new menu items allowing you to set the new features based on your preferences. The list now contains these added items: PrusaLink Enabled [ON/OFF] Generate API key Current API key Interface Wi-Fi (enables the ESP module) Eth (switches to Ethernet) OFF (disables both interfaces) IP (displays the current IP address) MAC (displays MAC of the active interface) Ethernet Protocol (please note currently only IPv4 is supported) LAN [DHCP/Static] IP (assigned IP address) Mask (subnet mask) GW (gateway IP address) MAC (interface MAC address) Wi-Fi Setup Wi-Fi module (flashes the latest available firmware for the ESP) Create credentials (creates an empty config file on the USB drive) Load credentials (loads config file from the USB drive) Protocol (please note currently only IPv4 is supported) LAN [DHCP/Static] IP (assigned IP address) Mask (subnet mask) GW (gateway IP address) MAC (interface MAC address) Example of the Wi-Fi prusa_printer_settings.ini: [wifi] ssid= key_mgmt=WPA psk= where: ssid - is the name of your Wi-Fi network key_mgmt - is the type of security protocol (don't change it for now) psk - your Wi-Fi password Networking improvements Tailor-made HTTP server While working on PrusaLink and its extended network capabilities, the developers have discovered that none of the existing web servers is sufficient for our needs. Previously used lwhttpd, became more and more demanding for the hardware. For these reasons, the developers have decided to write our own HTTP server, which is optimized for the hardware and expected capabilities. It is able to process folders with large amounts of G-codes, thumbnails in G-codes, simultaneous upload/download, and more. Wi-Fi capabilities The ESP is currently able to run as a client and connect to the nearest AP on a 2.4 GHz network. The data connection can be both encrypted (WEP/WPA-PSK) or unencrypted. For now, the WPA-enterprise and similar security encryptions for businesses aren't supported. The printer is able to store login for a single Wi-Fi network, if you want to switch between wireless networks, you have to always overwrite the currently stored credentials. The ESP is trying to automatically connect to the selected Wi-Fi network and reconnect if the connection is lost. If the printer is unable to connect to the network for over 60 seconds, the ESP module is restarted, and once fully booted up, it continues searching for the network. Support for the SSL Part of the firmware is now the library mbedTLS, which will be used in the future for more secure communication between the MINI+ printer and any server. GUI improvements Remember the position from the previous menu Currently while returning to the previous menu, the printer doesn't remember the position of the cursor and scrolls all the way up, which can be uncomfortable for the user. Starting this release the printer will remember the position and return properly to it. Filament actions While performing any action with the filament (load, purge, change, unload) the user is now able to stop the procedure immediately using a dedicated button “STOP” on the screen. Footer settings Until now the footer was strictly set and there was no option to adjust it. Starting this release the user can change up to three positions and display the information based on their current needs. The upper row is fixed with a hotend or heatbed temperature. The lower row is configurable and the user can pick from: Currently loaded filament (PLA, PETG, ASA, etc.) Status of filament sensor (N/A, ON, OFF, DISCONNECTED) Print speed in % X-axis, Y-axis, or Z-axis coordinate Z-height RPM of the print fan RPM of hotend fan Current Live Adjust Z value Currently selected print sheet none, the position remains unoccupied A quick note to the Z-axis vs Z-height, where the first shows the height of the Z-axis including the Live Adjust Z value, therefore its absolute value. The second “Z-height” is showing the height of the Z-axis without the Live Adjust Z value, therefore its logical value. This can be useful for example while debugging fine prints as requested in issue #608. Settings are stored in the EEPROM and remain persistent after the printer is rebooted. To adjust the footer on your printer go to LCD Menu -> Settings -> Footer settings. Besides changing the three positions, the user can also tinker with advanced settings and Reset the footer to factory defaults. Improved UI for dialogues Sometimes the dialogue was displayed over the footer and prevented the user from reading important information about the printer. The user interface was improved to prevent this scenario. Improved One-Click Print Once a USB drive with G-code is inserted, the system reads the code and displays the preview. Developers have polished the code and the situation when this screen is overlaid with “Filament not detected” shouldn't occur anymore. Switching between sheet profiles This feature allows for switching between different steel sheet settings (value of Live Adjust Z). Previously, while fast-toggling between profiles, the system displayed all profiles, even those, which haven't been set. Now, this behavior is changed and only set-up profiles are displayed in the fast-toggle. Selftest improvements Detect stuck hotend temperature reading Safety mechanisms should be an integral part of any 3D printer. MINI+ is equipped with several sensor and firmware algorithms, which are constantly checking if everything is according to the plan. Inside our labs, we are pushing the printers to their limits and trying to find conditions, for which the algorithms might not work as expected. During one of the tests, we discovered a very rare scenario, when the thermistor might get “stuck” and reports a temperature a few degrees below the target, for example, 213 °C vs 215 °C. Because of the slight difference, the system keeps on increasing the input power to reach the target temperature, but since the thermistor is stuck at 213 °C, the only result is an overheated heater block. The “Thermal runaway” will not react as the difference must be over 6° C from the target. For this reason, we are extending the safety algorithm with a new one, which is designed to cover the scenario described in the previous paragraph. It checks the real PWM of the heater against a mathematical model. If the real PWM is 68 (26,6 %) above the expected “modeled” PWM, the algorithm will add “1” to a fault counter. In case the value is before 68, a “1” is subtracted. When a value of 40 is reached, the printer shuts down the heater and the print fan is activated at its highest RPM (100 %). An error message is displayed “TEMP NOT MATCHING” with further explanation: "Measured temperature is not matching expected value. Check the thermistor is in contact with the hotend. In case of damage, replace it." Note that this safety feature is currently still in beta and might misbehave. The algorithm is expecting a stock MINI+ printer, without any hardware interventions. Should you encounter any issue, please report it to our developers using GitHub. New checks The printer now recognizes if the G-code was sliced using the PrusaSlicer and the correct printer type. If requirements aren't met, the printer will display the following error message:"This G-CODE was set up for another printer type."You can use the buttons "Ignore" and "Abort" to resolve the situation. The printer is also able to verify whether any filament is loaded (the filament sensor must be connected and activated). In case no filament is being detected by the sensor, the following message is displayed:"Filament not detected. Load filament now? Select NO to cancel, or IGNORE to disable the filament sensor and continue."Please note that selecting the option "IGNORE" will disable the filament sensor in the menu, otherwise the printer will display this message in a loop. To reactivate the sensor, please enter the settings menu. In case there is a different filament loaded than required by the selected G-code, the printer will show this message"This G-CODE was set up for another filament type."Use buttons "Ignore" and "Abort" to resolve the situation. Remote print checks (experimental) When you start a remote print, the printer now correctly checks whether the right filament is loaded. If the G-code file is sliced for a different type of filament than the one currently loaded, the printer will display a message. Please note this is an experimental feature and might sometimes misbehave. Stuck fan check While printing, the system now checks whether both fans are spinning or not. In case any fan stops (jammed, broken wires, …) the system activates appropriate measures. Hotend fan - the print is paused; the heater gets cut off to prevent possible damage to the PTFE tube inside the print head Print fan - print is paused; the heater remains active Since this is a safety feature, it is turned ON by default. In case you don't want to use it, you can turn it off in Menu -> Settings -> Fan Check Prevent “blob” after pause or M600 The communication between PrusaSlicer and firmware was improved to prevent the creation of a blob after the print was paused or the filament changed (M600). The behavior is now the same as on MK3S+ where after the filament change and proper color is confirmed by the user, a small portion of the filament is extruded. Load filament - optimized X coordinate MINI+ is a Bowden printer and based on the current shape of the PTFE tube, the filament either flows through with little or more resistance. While loading the filament the printer now parks its print head about ⅓ from the left end of the X-axis. This was also requested by the community, issue #1971. Fixed behavior of safety timer In case the safety timer was invoked in the past, the printer correctly started to cool down the printer, but the target temperature remained displayed incorrectly based on the loaded material. Now, the target is correctly set to zero. Fixed rendering during MBL Until now, while performing the Mesh Bed Leveling (MBL) the printer displayed incorrectly “1/16” in every measured point. This release fixes this issue and the printer correctly displays every point (1/16, 2/16, 3/16, …). Improved logic if the X-axis selftest failed In case the self-test of the X-axis fails, the following Y-axis test is performed, but the Z-axis test is skipped. The reason is, that the print head might be too far left and while going down, the SuperMINDA sensor might not be triggered, resulting in the nozzle crashing into the heatbed. Waiting for the user after FLC Once the First Layer Calibration (FLC) is performed, the printer remains heated up and awaits user confirmation. This behavior change is based on the fact that some users aren't satisfied with the result, and want to repeat the calibration process, but the heatbed is already cold at this point. FLC after safety timer fixed If the user started FLC and left the printer unattended on the starting screen for over 30 minutes, the printer correctly displayed the Safety timer and turned off the heating. However, upon restarting FLC, only the print head was heated up, this is now fixed. Filament autoload Similarly to MK3S+, once the filament sensor detects inserted filament, the printer displays a screen for filament preheating. Safety timer on M600 fixed The system was previously incorrectly keeping the heater on even after 30 minutes if the screen “Is color correct” displayed. Now, the safety timer is correctly activated. Core/Libs XFLASH and bootstrapping This firmware introduces a new filesystem on the external FLASH (XFLASH) memory by utilizing project littlefs for its tolerance/immunity against sudden power loss. Having the filesystem in XFLASH enabled the developers to transfer more static resources into the firmware - in this release the PrusaLink web pages and the ESP’s firmware binaries are moved into XFLASH. This has greatly freed the FLASH memory on the CPU chip which can now be used for more code. Moreover, in the future, the plan is to use the XFLASH for other tasks (for example for community languages through standard gettext MO files). In order to make this work, the bootloader must be updated. This is done automatically by the system. The user only has to provide both .bbf files on the USB flash drive. After the update, it will be capable of using the extended .bbf files and copying the static content into the XFLASH as an inherent part of the firmware flashing process - called bootstrapping. EEPROM safety The EEPROM safety features have been extended - upon startup the firmware checks the CRC (also stored in the EEPROM). If not matching, the EEPROM is loaded with defaults. This feature prevents various crashes and misbehavior caused by incorrect data being read from the EEPROM in the past (e.g. incorrect E-steps). PNG optimization The configuration of libPNG has been revised and several constraints tightened which resulted in shorter code and less RAM needed. Support for unused auxiliary PNG chunks has been removed and libPNG error texts have been removed as they aren't printed after all. Moreover, PNG icons have been optimized now leveraging even lower bit-depth and paletted images => less code space taken. CPU reset G-code added The G-code M999 R (aka CPU reset) added, now can be issued for example from Octoprint. Translations updated Compared to the previous stable release 4.3.4 there are new networking and web dialogues, which have been translated into all officially supported languages. Known issues Download G-codes from the printer disabled Due to issues while downloading G-codes back to the computer, this feature is temporarily disabled and will return once the developers provide a fix. Rerunning MBL In case the mesh bed leveling (MBL) is stopped during a pre-print procedure by the user and then immediately run manually from the menu, the system might stop responding and a restart is required. Wi-Fi (ESP) ignoring printer restart In case the printer is restarted using the hardware button below the LCD, the ESP might remain powered on and doesn’t power cycle. In case the Wi-Fi stops responding, please turn off the printer completely and turn it on again. This behavior will be fixed in the upcoming releases. Bug fixes When uploading G-codes via Wi-Fi, the One-click Print message was incorrectly displayed. This is now fixed. Low-RPM fan errors fixed: when the user lowered the print fan RPM to less than 40, the printer displayed an error message because the system saw the fan as completely stopped. This is now fixed. The filament sensor is no longer enabled by default. This caused an error on printers without a filament sensor - a message was displayed warning the user that the filament is not loaded. This is now fixed. When no filament sensor is detected, it is automatically disabled. Fixed filament unload for the first layer calibration. When the user wanted to change filament before the first layer calibration, the unload was successful, but the printer did not follow up with the filament loading procedure. This is now fixed Safety timer at the end of the first layer calibration: if the user kept the printer running after the first layer calibration procedure with the “Do you want to repeat…” message on the screen, the printer continued to heat up the nozzle and the bed. This is now fixed. Once the procedure ends, the heating is disabled and is only re-enabled after the user’s interaction. First layer calibration ignored Mesh Bed Leveling errors and no warning message was displayed. This is now fixed. Incorrect filament displayed after a filament runout. If the user loaded a PETG filament, restarted the printer, and started a print during which a filament runout occurred, the printer then shows PLA as the loaded filament. This is now fixed. Extruder location for filament change fixed. The parking position of the extruder was taken over from the homing of the X-axis. - - This could cause a situation where the extruder would be directly over a print during a filament change. To prevent possible damage to the printed model, the parking position was reverted to the original state - to the end of the X-axis. Flashing ESP (Wi-Fi) during printing is no longer possible. Previously, it was possible to navigate through the Tune menu during the printing process to the ESP flashing option which would cause the print process to jam. These menu options are no longer interactive during a print job. Configuration saving in the experimental menu fixed. Previously, if the user set E-Steps in the experimental menu and then adjusted the Footer, the E-Step value was not saved. This was fixed by removing the Footer from the experimental menu. Unload filament double-click bug fixed. Previously, if the user chose Unload in the Filament menu and proceeded to select Load or Unload, the menu item had to be clicked twice. Flashing texts fixed by adjusting the way how texts are rendered. Assist sound mode issues in the Print menu are now fixed. OctoPrint logo is now correctly displayed after the connection is established OctoPrint connection wasn’t working correctly in the RC1 release, but now works as expected (#2558) Flashing screen during filament change is now fixed PrusaLink G-code upload sometimes caused One-click-print to display the wrong G-code. In this release, the system compares correctly selects the latest G-code (#2331) For fan RPMs set below 40 the printer incorrectly displayed fan error. The controlling algorithm was adjusted to fix this behavior (#2314) The filament sensor turned on by default was causing issues for printers without this hardware part. Now, the printer checks for the sensor and turns the check off if the hardware is not present. If the user-initiated filament change just before the First Layer Calibration, the printer didn’t allow to load new filament and continued calibration without it. This is now fixed. In case the user finished calibration, but left the printer on the last confirmation screen, the system initiated a “Safety timer”. Now, once the calibration is done, the printer stops heating and waits for the user. The previous release didn’t include a message of failed MBL while doing the First Layer Calibration. This missing text is now added to the firmware. In case of filament runout, the printer sometimes incorrectly displayed that PLA is loaded regardless of the currently loaded filament. This bug was fixed for the final release (#1400). Filament change via M600 in certain scenarios caused the print head to remain above the printed object. Starting this release, the print head correctly moves to the end of the X-axis, outside the printed object (#2323). Setting the E-steps in the experimental menu wasn’t correctly saved if the user also made changes to the Footer, this is now resolved (#2310). While changing the filament, the user had to click twice in case he wanted to immediately load a new filament. This UI error was caused by a missing dialogue and is now fixed (#2329) Scrolling texts on the LCD screen were sometimes flashing. This issue is now resolved. Assist sound mode wasn’t beeping in the print menu, this feature now behaves as expected (#2300) After unloading the currently loaded filament the screen started to flash for some users. Now, the content is displayed correctly (#2299) Supported printer: Original Prusa MINIOriginal Prusa MINI+ Download Link: How to flash the firmware on MINI: 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-Buddy/issues As always, we wish you happy printing and look forward to your feedback!
Prusament Resin is here   47 Relevance 5 years ago Same Old Shane General discussion, announcements and releases
  Prusament is three years old and I’m happy to announce that now it has a younger sibling: Prusament Resin! 🙂 This is our brand new, in-house manufactured, high-quality resin for fast and reliable printing. It’s much more, though. Prusament Resin aims to increase comfort and safety during use – the ingredients are specifically chosen to minimize bad odors and health risks. Of course, mechanical properties are fine-tuned as well, so you can create solid, sturdy 3D prints. The story behind Prusament Resin is pretty much the same as with Prusament filaments. Once we dug into SLA 3D printing with our SL1, we soon realized that especially the manufacturers of cheaper resins have trouble keeping the quality of their products consistent. For us, this usually means we start researching whether we couldn’t do it better. Fortunately, we have our “secret lab” on the outskirts of Prague (where we also develop our satin print sheets) – and after many months of their hard work, the result is finally here. And why is it called Prusament Resin and not, for example, Presin? It’s simple: we believe that over the years, Prusament became a very recognizable brand on its own. If you’re looking for the right 3D printing material, Prusament has you covered – no matter whether you need filaments or resins. Mixing the perfect blend our priorities were pretty much clear from the beginning: we wanted to make a high-quality resin that would be easy to print, have the lowest possible odor and health risks. And, of course, the prints will have the highest possible level of detail. our research gave us the possibility to control and select every ingredient to make a resin with desired properties – our goal was to create a substance that has a minimum of negative effects, especially on health. Wait, does that mean regular resins may be dangerous for your health? Well, turns out that there are still products on the market that still contain a dangerous component – Bisphenol A. According to published papers, exposure to Bisphenol A may be a concern because of the possible negative health effects on the brain and prostate gland of fetuses, infants and children. It can also affect children’s behavior. Even if these may seem like extreme cases, we simply didn’t want to venture into this territory at all. The health aspect seemed essential to us since regular tough resins are frequently used for hobby purposes at home. That’s why we tried to avoid chemicals with a strong odor, health risks, high toxicity, and also mixtures containing Bisphenol A. The final product is a resin with a lower odor and health impact, compared to the other products on the market. We run our own independent development, without cooperation with other manufacturers. This gives us a great advantage in controlling the chemical composition and achieving the desired results. The difference between success and failure often lies in minor changes in the formula. We used various analytic methods, such as measuring mechanical properties, viscosity, hardness, or colorimetry. We will, of course, continue our development and add new special materials to our portfolio in the future. We’re talking about flexible resins, materials for dental and medical use and other types of materials. Just like with the FDM 3D printers, the MSLA technology also requires the machines and materials to be “in tune.” And since we now internally develop and manufacture SLA 3D printers and resins, both teams can benefit from each other’s research and development. Main advantages of Prusament Tough Resin Print reliability Short exposure time (1.6-2.4s on the SL1S SPEED) Great print detail Good deformation resistance Low odor Low health impact Does not contain Bisphenol A Disadvantages Non-recyclable material The uncured resin might still pose a health risk Lower temperature resistance (50 °C) Printing with the Original Prusa SL1S SPEED Prusament Resin is perfectly compatible with any third-party MSLA 3D printers compatible with 405nm resins. However, it was tailor-made for the Original Prusa SL1S SPEED. In combination with SL1S, you’ll get amazing speed without losing any print details! Thanks to its monochromatic display and fast tilt mechanism, it’s possible to print with exposure as short as 1.6 – 2.4s per layer, depending on the object size and complexity. our official and internally-tested PrusaSlicer profiles offer between 1.8 to 2.4 seconds for safer printing. Full specs can be found in the Tech Data Sheet. SL1S SPEED can produce models with the tiniest details fully rendered – and it can do it much faster than other machines, FFF/FDM printers included! Material type, color, and price For now, we offer popular tough resins which are especially suitable for printing tiny parts with a high level of detail. These include, for example, plastic model accessories, action figures, jewelry, various prototypes, etc. You can buy the Prusament Tough resin in three colors: Prusa Orange, Rich Black, and Anthracite grey, each of them for 69 EUR (vat incl.) / 69 USD. Right now, we want to focus on the quality, not an infinite amount of variations. But rest assured that more materials will follow soon. Tracking the origin Similar to our Prusament (FFF/FDM filament), Prusament Resin will also have its own “birth certificate”. While we cannot offer the same level of extremely detailed statistics, you can still scan the QR code to see the batch number, date of manufacture, and expiration date. Examples of use Model & hobby – With Prusament Tough Resin, you can produce objects with excellent details, which makes this material perfect for tiny action models, prototypes, and large project accessories. Material can be easily sanded, both dry and wet. Rapid prototyping – Short exposure time and the high level of detail make the MSLA technology great for small and detailed prototypes that can’t be made with FFF/FDM printers. Plus, the overall MSLA printing time is shorter than with FFF/FDM. Casting molds – Prusament Tough Resin can be used for making both simple and more complex molds. You can either print a master model for the mold, or you can print the mold itself, for example for casting silicone. Education models – Low odor, easy usage, and low health impact make Prusament Tough Resin great for printing detailed educational models. Art & design – The ability to print very delicate structures makes Prusament Tough Resin a great option for designers and artists. Prusament Tough Resin offers both simplicity and precision. Safety precautions and manipulation with resin Before you start using Prusament Tough Resin, don’t forget to read the material safety data sheet (MSDS) uploaded at prusament.com. Here, we sum up only a few tips that might make your life with resin a little easier. 😉 Always remember that despite all our efforts, all liquid resins still might pose a certain health risk. Use reasonable protection – gloves are a good solution. Prevent contact with skin, eyes, and mouth. Accidents may happen even to the most experienced users. If resin gets on your printer, table, or anything else, don’t wait and clean it immediately with paper towels and isopropyl alcohol (IPA), before it gets cured by the daylight. Strangely enough, there is not much information available about waste disposal and recycling 3D printed products. Let’s sum up how we deal with resin waste: Uncured resin leftovers should be disposed of with other dangerous chemicals at places designated for it. It cannot be recycled and definitely should not end in general waste. The same rule applies to bottles, paper towels, and models stained with liquid (uncured) resin. However, cured resin (reactoplastic material) is, unlike filaments (thermoplastic material), a non-recyclable material – it belongs in the general waste. Would you like to know more about the parameters of Prusament Tough Resin? Don’t forget to see ourresin section at prusament.com! We can’t wait to see what amazing prints you’ll make with our new resin! Happy printing!Author; Josef Prusa
New printed parts B7/R3 and other improvements for the MK3   40 Relevance 7 years ago Jakub Dolezal General discussion, announcements and releases
  UPDATE: New parts C1/R4 for the MK3S/MK2.5S/MMU2S are out! More here: This Autumn is such a busy time at Prusa Research headquarters! Launching several products, attending exhibitions all around the world... and just in case you've missed some important announcements, here is a quick recap: Multi Material upgrade 2.0 is shipping Prusament the best filament you can inspect Introducing Original Prusa SL1 Autum update by Josef New printed parts B7/R3 and other improvements for the MK3 The Original Prusa i3 MK3 just celebrated its first year from being announced back in September 2017. Throughout this year, we've been collecting testing data from our farm and carefully listening to your complaints and wishes for improvements. Many of them were already applied along the way and some are still to come. For the last several months our developers were trying to further improve the cooling of the MK3's extruder and this research resulted in the seventh iteration of our plastic parts (B7/R3). Improving the overall aerodynamics and adding extra air inlet had a significant effect on the temperature distribution along the hotend. All theory behind this upgrade is described here on our forum, including detailed comparison and final results from the FLIR thermal camera. As a little bonus for our customers, the new printed parts for the extruder are included in the MMU2 upgrade kit. Of course, you can print them on your own using available STL files as well. If you don't have PETG and ABS filament, you can also order an Extruder upgrade package in black or orange versions from our e-shop (login needed). As usual, we've prepared a detailed step-by-step guide for this upgrade. The feedback to this latest MK3 upgrade was overwhelming. Till today the thread was visited more than 73 000 times with over 550 comments. We are pleased to see our improvements are bringing great attention and discussion. It is important to say, we aren't finished yet. Recently, we've introduced several new plastic parts with the B7/R3 badge on it and before we dive in the description of all the changes I would like to thank you for your feedback and ideas, how to improve the printer's performance even more. Spiral wrap vs textile sleeve Let's first address the Elephant in the Room. As of today all our MK3's leaving the factory will be equipped with the textile sleeve and this has raised many questions since we first swapped the spiral wrap for the sleeve earlier this year on a heatbed. Was this some kind of a design flaw and do you need immediately change all your plastic wraps for the braided ones? No, stay calm and keep on printing 🙂 Your printer is safe and the upgrade to another cable management solution is an evolution thing. Though if you print a lot you might consider this upgrade, let me explain. our farm printers are running 24/7 and after several hundreds of printing hours, we started to observe the wearing of the cables, which were held together by a plastic spiral wrap. The wrap itself is quite rigid and over a very long period of time starts to grind the cables. For a regular 3D printing enthusiasts this might never happen as it would require a long period of time. However, if you are using your 3D printer daily, you might experience similar damage to the cable, which sometimes leads to a printer failure. To avoid this from happening, make sure that the plastic spiral wrap on your printer is installed according to the assembly manual. Incorrectly installed wrap or generally any sharp edges may decrease the lifespan of your printer's wiring. To prevent this completely, we were looking for a suitable solution and we made the following decision: all cable bundles will be wrapped in a textile sleeve from now on. The sleeve is softer and therefore less abrasive. Moreover, to further expand the lifespan of the cables, we decided to remove the nylon from the heatbed. For the extruder, the nylon has to stay, because the cables would sag down and potentially hit the printed object. To conclude this “wrap-gate”: if you use MK3 as a hobbyist you shouldn't be affected (just make sure the wrap is correctly installed). If you print larger objects on a daily basis, we recommend updating. Here are the dimensions of the textile sleeves, so you can purchase them in your local shop. Extruder sleeve: 13x 490 mm Heatbed sleeve: 6 x 300 mm X-axis sleeve: 6 x 300 mm Now, to the printed parts 😉 The new Einsy case The Einsy case, which is effectively a cover for the MK3's motherboard, received two significant upgrades in the B7/R3 release. First, we have completely reworked cable retaining mechanism. The previous version serves its purpose well, but for an inexperienced user building the printer for the first time, this part of the assembly was complicated and it required a lot of effort to secure the entire bundle properly. Over the time, I've seen several printers on the social networks where the owners damaged the cables or simply gave up and inserted the cables without a wrap, which isn't a long-term solution. We've sat back with the designers and thought long for another solution. Several iterations later, we have a brand new Einsy case for the MK3. Openings for the cables are wider and instead of fixing the cables using the zip tie, we are using 3D printed clips, so much greater area is dedicated to holding the sleeve in place. The second improvement is all about OctoPrint. As you are aware, the MK3 is compatible with the Raspberry Pi Zero W, which can then run an OctoPrint and control the entire printer. The previous iteration of the Einsy case required you to completely remove the board from the case before inserting the RPi, but this is now over. All the Einsy cases, which will leave our factory are now prepared for the Raspberry Pi without a need to disassemble anything. Look at the back side of the cover, where you will see a part in the middle, which is separated from the rest by several small “bridges”. In case you want to use RPi, carefully cut this entire part out and insert the tiny Pi board inside. our developers prepared a removable cover, so you can shield the RPi and remove it anytime necessary. Improved X-carriage Inserting nuts and the nylon in the x-carriage wasn't as easy as we would like it to be. The B7 version brings reworked traps to better accommodate the square nuts and the nylon hole was widened allowing easier insertion. Also slightly different assembling approach is used. More in the manual 😉 Reworked X-ends Both x-ends were already upgraded several times, but there were still some parts, which needed more polishing. Previously introduced openings to check, whether the smooth rods are properly seated, where only in the bottom, now they are on both sides. Improved were all holes for the plastic and steel nuts. Inserting the nuts should be now easier, but still tight enough to hold them in place. Last upgrade is dedicated to the x-end-idler, where a lot of customers experienced cracks during tightening the idler. We've reinforced the problematic wall significantly, though it is still advised to use reasonable force while tightening the idler as you are tightening steel part against the plastic material. Y-motor-holder and Y-rod-holder Both parts were further reinforced to provide more strength and avoid cracking during the build. While tensioning the belt on the Y-axis keep in mind that the belt shouldn't be stretched like a string on a music instrument, as the motor won't be able to move the Y-carriage. Z-axis-bottom Printed parts on the Z-axis holding the motors, were reinforced as well. The entire part is now thicker providing increased bearing capacity. Also, the screws can be now aligned with the surface, thus creating a cleaner design. --- To upgrade or not to upgrade your current MK3: that is the question. All these B7 upgrades aren't fixing any significant flaw, but mostly improving the assembling experience. If you are satisfied with your printer's performance, you can leave it as it is. Only in case you are using the RPi Zero W, you might consider changing the Einsy-case to the latest design. As usual, all parts are available for download on our Prusa3D site. Use PETG or similar heat resistant material. In case of the extruder parts, don't forget to use black colour. That's it for today, see you in the next design upgrade 😉
RE: Why buy a MK4 in 2024? A1 Owner looking for a replacement   40 Relevance 2 years ago mixer3d General discussion, announcements and releases
  from the last blog entry, link below: “I can get the same quality printer for half the price” We manufacture our printers, filaments and resins directly in our HQ in Prague, Czech Republic, in the heart of the European Union – meaning that there are components that need to be imported from other countries. After the COVID-19 pandemic, we fully realized that being so dependent on faraway suppliers is too risky, so we decided to change things up. We started finding ways to get components locally and even produce them in-house (printed circuit boards, for example). We’re also looking for more suppliers in the EU and USA – they usually provide higher quality parts. However, they are usually also more expensive and they often have lower manufacturing capacity, which may cause situations like a sudden shortage of important components. Some can be sourced from other suppliers (which takes time), other parts may be so specific that we have no other option but to wait until the supply returns back to normal. Very often, the problem isn’t in the quantity, but in the quality. It is quite common for a supplier to change some seemingly insignificant manufacturing process and even parts with the same specs suddenly show different results in our tests. This can negatively affect the printer’s performance. To give you an example: some MK4 printers from the initial batches had stepper motors causing unexpected noise, contradicting our claim about the extremely quiet operation, something our printers are well known for. It was hard to find these noisy motors because they were mixed randomly in different batches. It took our team two weeks to create a special device that could quickly identify them. We used this device to check motors in our factory and also built another one and sent it to our motor supplier. Once we fixed the quality issue, we had to return many motors we already had in our warehouse. This situation has made our production a bit slower and more complicated. Similar problems happen when a supplier suddenly changes any of the used materials or a step in the manufacturing process. This one case was unusually complex, but similar (although less severe) issues are something that our purchasing and quality departments need to deal with several times a month. Dealing with such problems in the supply chain happens often and can cause unexpected delays, which is why we sometimes inform you of these issues at the last moment. A dedicated department focuses on the development and upkeep of custom testing machines From time to time, I see a simple suggestion: “Well, forget the local suppliers, I want my 3D printer and I don’t care where you source your parts.” In light of the problems described above, it’s not a universal solution. You will find parts sourced from China in our printers because some components are manufactured in sufficient quantities only there. And things are more complicated than just finding the supplier. Government subsidies, tax breaks and strategic efforts to dominate the 3D printing industry (similar to what happened in the market of drones, pharmaceuticals, or currently, electric cars) have resulted in such situations as diverting ordered and already paid-for components to Chinese companies. I’m trying to state the facts with as little emotion as possible. Simply to give you a bit of background on what it means to produce something in the EU. It’s obvious that when you’re choosing between various brands, the questions of “morality” or “fate of the industry” are definitely not anywhere near the top of the priority list. And that’s ok. But as perhaps the last western manufacturer of desktop 3D printers, we have to fight back. Because we believe that in the long run, our approach will pay off for both us and you. source:
RE: The elefant in the room   40 Relevance 2 years ago mixer3d General discussion, announcements and releases
  from the last blog entry, link below: “I can get the same quality printer for half the price” We manufacture our printers, filaments and resins directly in our HQ in Prague, Czech Republic, in the heart of the European Union – meaning that there are components that need to be imported from other countries. After the COVID-19 pandemic, we fully realized that being so dependent on faraway suppliers is too risky, so we decided to change things up. We started finding ways to get components locally and even produce them in-house (printed circuit boards, for example). We’re also looking for more suppliers in the EU and USA – they usually provide higher quality parts. However, they are usually also more expensive and they often have lower manufacturing capacity, which may cause situations like a sudden shortage of important components. Some can be sourced from other suppliers (which takes time), other parts may be so specific that we have no other option but to wait until the supply returns back to normal. Very often, the problem isn’t in the quantity, but in the quality. It is quite common for a supplier to change some seemingly insignificant manufacturing process and even parts with the same specs suddenly show different results in our tests. This can negatively affect the printer’s performance. To give you an example: some MK4 printers from the initial batches had stepper motors causing unexpected noise, contradicting our claim about the extremely quiet operation, something our printers are well known for. It was hard to find these noisy motors because they were mixed randomly in different batches. It took our team two weeks to create a special device that could quickly identify them. We used this device to check motors in our factory and also built another one and sent it to our motor supplier. Once we fixed the quality issue, we had to return many motors we already had in our warehouse. This situation has made our production a bit slower and more complicated. Similar problems happen when a supplier suddenly changes any of the used materials or a step in the manufacturing process. This one case was unusually complex, but similar (although less severe) issues are something that our purchasing and quality departments need to deal with several times a month. Dealing with such problems in the supply chain happens often and can cause unexpected delays, which is why we sometimes inform you of these issues at the last moment. A dedicated department focuses on the development and upkeep of custom testing machines From time to time, I see a simple suggestion: “Well, forget the local suppliers, I want my 3D printer and I don’t care where you source your parts.” In light of the problems described above, it’s not a universal solution. You will find parts sourced from China in our printers because some components are manufactured in sufficient quantities only there. And things are more complicated than just finding the supplier. Government subsidies, tax breaks and strategic efforts to dominate the 3D printing industry (similar to what happened in the market of drones, pharmaceuticals, or currently, electric cars) have resulted in such situations as diverting ordered and already paid-for components to Chinese companies. I’m trying to state the facts with as little emotion as possible. Simply to give you a bit of background on what it means to produce something in the EU. It’s obvious that when you’re choosing between various brands, the questions of “morality” or “fate of the industry” are definitely not anywhere near the top of the priority list. And that’s ok. But as perhaps the last western manufacturer of desktop 3D printers, we have to fight back. Because we believe that in the long run, our approach will pay off for both us and you. source:
PrusaSlicer 2.3.0-alpha1   37 Relevance 5 years ago Jakub Dolezal PrusaSlicer
  Hi, this a new testing release of the PrusaSlicer, note that it is dedicated to experienced users 😎 ATTENTION MAC USERS: Alpha1 release does not work on MAC, please visit the Alpha 2 release that was recently released and works on the MAC. Summary This is the first alpha release of PrusaSlicer 2.3.0, introducing paint-on custom FDM supports and seams, ironing of the top layers, monotonic and adaptive cubic and cubic support infills, per-extrusion g-code preview & standalone G-code Viewer, neat notification center in the 3D scene, imperial units support, SLA supports improvements, collapsible side bar, floating presets dialog and fuzzy search in parameters, physical printer settings, nine new 3rd party printer profiles and many more new features, improvements and bugfixes. To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. Complete description of improvements and changes with respect to the current PrusaSlicer 2.2.0 release follows. FDM custom supports by painting For quite a long time already, PrusaSlicer provides support enforcers and blockers so the user has control over support generation. While this method works, it is not a pleasure to work with and manipulating the blocks where the user wants them is quite tedious. This release brings a tool to simply paint the areas where supports should be enforced or blocked, directly on the object. The tool is available from the left toolbar and is only shown in Advanced and Expert modes. After selecting an object and clicking the toolbar icon, all other objects are hidden so they do not obscure the view, the selected object is rendered in light gray to ensure contrast and the painting tool is activated. Left mouse button enforces supports, right button blocks them. The selection can be erased by Shift + mouse click. The size of the painting tool can be adjusted, as well as a cursor type: circular cursor paints all visible places inside the circle, possibly leaving unpainted areas in shaded areas, but never painting behind corners. Spherical cursor paints everything inside the sphere regardless of whether it is visible or not. You can also use the clipping plane tool to hide a part of the object, so that difficult to reach areas can be easily painted. The Autoset by angle button allows to select all triangles that are "more horizontal" than a threshold. This can be used as a default for further manual editing to ensure that no overhangs are left unsupported. The overhang triangles are visualized in real-time while the threshold is being adjusted. Do not forget to enable supports if you want to actually generate them. The painted areas are equivalent to the old support enforcer/blockers, so their behavior depends on Auto-generated supports checkbox status in Print Settings (it can also be adjusted in the main window sidebar, highlighted in the picture above). When left unchecked, supports will be generated for support enforcers only: If Auto-generated supports checkbox is checked, supports will be generated automatically, just not inside support blockers. This can be used to remove supports that are not necessary: IMPORTANT NOTE: Your selection will not be completely obeyed when the painted region is small. The support generator itself works on a grid internally, the supported/unsupported areas cannot be infinitely detailed. FDM seam placement by painting #946 #2527 #342 #728 Seams are inherent to FDM printing and they can negatively affect visual appearance of the model. PrusaSlicer always provided limited possibility to customize the seam placement in Print Settings to optimize for short travel moves, to keep the seams aligned on between successive layers, to randomize seam position along the contour, or to place it to the back of the model. The last option allows rudimentary manual control of seam placement by rotating the model on the build plate. In addition, PrusaSlicer always tried to hide the seams into share concave or convex corners and seam was never placed on an overhang. This release introduces a new manual seam placement tool to provide more detailed control over the seam placement. The tool is accessible from the left toolbar and it is only shown in Advanced and Expert modes. After clicking on the icon, the user can paint 'Seam enforcers' or 'Seam blockers' on the model in a similar to how the new custom supports are painted. The seam logic is the same as it was in previous releases, except that if there is a seam enforcer, it always places seams into the enforcer area. If there is a blocker, its area is excluded from possible seam candidates. The Nearest, Rear and Random options are still respected. When the Aligned option is active and enforcers are used, the seam is placed in the middle of the enforcer area. This allows to draw smooth seams over the model. Two long-standing problems related to seam placement were fixed along the way: Seam set to Random did not produce really random positioning in some cases #2162 (comment), inspired by #2222 thanks @DrLex0 #1409. Aligned seam should now be aligned even if an object slice consists of more than one island. The seam will newly be aligned on all the islands independently. Ironing over top surfaces, Monotonic infill The Ironing idea was first proposed by the user "Neotko" on the Ultimaker community forum. Neotko prototyped "Neosanding" - a smoothing of top surfaces in Simplify3D by running a second infill phase at the same print height with zero or a tiny extrusion rate perpendicularly to the first infill run. The "Neosanding" was later integrated by Ultimaker into their Cura slicer. Kisslicer integrated Ironing with a small twist: The second phase is not perpendicular to the first phase, but at 45 degrees, which Johnathan, the author of Kisslicer validated to produce better results. With this release, PrusaSlicer implements Neotko's "Neosanding" at 45 degrees as in Kisslicer. Ironing is very sensitive to accurate extruder calibration. Too little and shiny groves will be visible at the top layer, that will not be sanded. Too much and the excess plastic will be dragged by the nozzle to the edges of the top surface. One may experiment with the ironing flow, speed and spacing to achieve the best results. Ironing may also increase the print times significantly, as the second phase of top infills is usually performed with very narrow line spacing. To improve the top surface quality without sacrificing the print time, we have developed a novel "monotonic" infill. The "monotonic" infill is the good old rectilinear infill with modified path planning: The infill lines are extruded left to right monotonically, a line is never extruded to the left of an already extruded infill line. This strikingly simple strategy leads to a homogenous texture without ridges, which are often created when the left-to-right extrusions meet with right-to-left extrusions in the center of an infill area, while printing left to right only leads to a homogenous shine. The seemingly simple left-to-right strategy is surprisingly difficult to implement optimally. We have implemented a variant of the Ant Colony System as described by Raad Salman. Adaptive Cubic / Adaptive Support Cubic infill The Adaptive Cubic infill was proposed by @mboerwinkle, see the discussion, and implemented for Cura by @mboerwinkle as well. The Adaptive Cubic infill works by refining those cells of an octree, that contain any object triangle. We have picked up on the idea with a handful of improvements: We have added an "Adaptive Support Cubic infill" variant, which densifies the infill below roofs, while the original Adaptive Cubic infill densifies close to any surface. We have added anchors to each infill line. This makes the infill sturdier and it was required by PETG to stabilize the extrusion flow at the start of an infill line. Anchors are not available yet in this alpha. our implementation produces a bit less dense infill than the implementation by @mboerwinkle, as we only refine those Octree cells that contain an object surface triangle, while the original implementation tested for a bounding sphere. We expect the Adaptive Cubic infill and the Adaptive Support Cubic infills to be useful for large prints with a large volume. For example, the Adaptive Support Cubic infill decreased the print time of the famous treefrog by MorenaP scaled to a full print bed of the Prusa i3 MK2 printer by -30% compared to a cubic infill of the same density, while 44% of the material was saved. Stand-alone G-code viewer, print simulation in time #3997 PrusaSlicer offered a rich G-code viewer since Slic3r PE 1.42, however with two limitations: It was not possible to load an external G-code and print simulation in time was not possible. With this release, we are removing both these limitations and we are adding some more features. First, we are newly providing a stand-alone G-code viewer. One can start as many G-code viewers as he wishes either by opening a G-code from the "File->G-code preview" menu, by starting the G-code viewer application, or by double-clicking on a G-code file in Windows File Explorer or OSX Finder. From the technical point of view, the stand-alone G-code viewer is a PrusaSlicer in disguise. The stand-alone G-code viewer is started as a new PrusaSlicer process. The way how the G-code viewer process is started is platform specific: On Windows, the PrusaSlicer.dll contains all the code while the prusa-slicer.exe, prusa-slicer-console.exe and the new prusa-gcodeviewer.exe wrappers just load PrusaSlicer.dll with the proper parameters. On OSX, the application distribution format supports a single binary, which in our case is PrusaSlicer.app/Contents/MacOS/PrusaSlicer. For command line usage, this binary may be symlinked to prusa-gocdeviewer to start in a G-code viewer mode. Starting new instances of PrusaSlicer does not quite fit the OSX system, as the Finder only expects a single instance of a GUI application to be running. Thus when drag & dropping onto a dock icon of PrusaSlicer resp. G-code viewer, the file is sent to the first instance of PrusaSlicer resp. G-code viewer. On Linux, we support two binary distributions: AppImage and .tar.bz2. The .tar.bz2 format contains a new prusa-gcodeviewer starter script, while the AppImage may be symlinked to prusa-gcodeviewer to start the G-code viewer. The AppImage works by mounting the zipped filesystem image embedded inside the AppImage file and starting the application from there. It is not recommended to start prusa-gcodeviewer from an already mounted AppImage, as the AppImage will be unmounted when the PrusaSlicer that mounted it closes, see the following discussion. When the user starts a G-code viewer from an AppImage PrusaSlicer application, another AppImage is mounted by the G-code viewer, which means the PrusaSlicer binary is being loaded into RAM the second time. Therefore if one is low on RAM, it is recommended to use the .tar.bz2 distribution instead of the AppImage until the AppImage is improved to support multiple processes running from a single mounted AppImage. PrusaSlicer standalone G-code viewer tries hard to estimate the extrusion widths, layer heights, extrusion types, types of moves, layers etc. from the G-code generated by various slicers (PrusaSlicer, Cura, Simplify3D, IdeaMaker). The G-code itself does not contain all the information mentioned above, thus the G-code is usually augmented with slicer specific comments. To support visualization of extrusion types and extrusion widths reliably for G-code generated by PrusaSlicer, the G-code generated by PrusaSlicer is newly augmented by the following comments: ";TYPE:", ";HEIGHT:" and ";LAYER_CHANGE", where these comments are only exported when the extrusion type, layer height or layer index changes. In addition, the following annotations are exported for the G-code events inserted on the vertical slider in the G-code viewer: ";COLOR_CHANGE", ";PAUSE_PRINT" and ";CUSTOM_GCODE". G-code generated by older PrusaSlicer which does not contain these new annotations will still be displayed, but the extrusion widths or extrusion types may not be shown reliably. In the stand-alone G-code viewer or once the final G-code is available after slicing, a new horizontal slider shows up, limiting visualization of extrusions and travel by time thus allowing simulation of the print in time. By default, the new horizontal slider limits visualization of the last layer selected by the vertical toolbar. Alternatively, the horizontal slider limits the extrusions in all layers selected by the vertical slider. In the first case, if the horizontal slider limits the visibility of the top layer, then the other layers below are rendered in a gray color. We borrowed this visualization strategy from the Craftware user interface as Cura did. The legend newly shows the print time and the print time fraction per feature (perimeter, infill etc.), and the legend labels serve as buttons to show/hide the particular extrusion time. The print time estimate is available in both the G-code preview after slicing and in the stand-alone G-code viewer. Single vs. multiple instances, sending arguments to an existing instance Some users prefer to work with a single instance of PrusaSlicer only, while other users love to be able to switch between multiple PrusaSlicer instances. While Windows and Linux support multiple instances of an application by default, OSX framework keeps just a single instance of an application running. We newly allow both scenarios on all platforms: The Windows and Linux users may now keep just a single instance of PrusaSlicer running, while the OSX users may launch additional instances of PrusaSlicer. Additionally we allow opening a new PrusaSlicer instance from a running PrusaSlicer "View -> Open New Instance" menu and from Dock context menu on OSX #2929 #4447. When one clicks on the PrusaSlicer icon to open PrusaSlicer, either a new PrusaSlicer instance is started or an existing PrusaSlicer instance is activated based on the "single instance" preferences settings. The initial value of "single instance" matches the platform default: Multiple instances are allowed on Windows and Linux, while a single instance is allowed on OSX. When one drag and drops an STL or 3MF onto a PrusaSlicer icon and "single instance" is enabled, the file is opened in an existing PrusaSlicer instance. Drag and dropping a G-code file onto a PrusaSlicer icon opens always a new G-code viewer. An instance of PrusaSlicer is identified by its full path to the PrusaSlicer binary, thus if "single instance" is enabled, PrusaSlicer will allow a single instance of each PrusaSlicer binary to run. Thus different versions of PrusaSlicer will not affect each other, alphas and betas included. The command line supports a new "--single-instance" or "--no-single-instance" argument to override the "single instance" settings. For example, one may prefer to open a new instance of PrusaSlicer when drag & dropping an STL over the PrusaSlicer icon, while one may want to send an STL from Autodesk Fusion 360 to an existing PrusaSlicer instance by providing a "--single-instance" command line argument when starting PrusaSlicer from Fusion 360. OSX specific: The OSX Finder and Dock only support a single application instance. Thus when double-clicking on a PrusaSlicer icon, the existing PrusaSlicer instance is always activated independent of the "single instance" settings, and drag & dropping a file onto a PrusaSlicer icon in Finder or Dock opens the file in some random, likely the first instance of PrusaSlicer. However when starting PrusaSlicer.app/Contents/MacOS/PrusaSlicer from terminal, the "single instance" preferences settings is respected. We are aware that the approach of starting multiple instances of the same application on OSX is neither recommended nor supported by the OSX framework, however for technical reasons this was the quickest way to deliver multiple PrusaSlicer windows and the stand-alone G-code viewer. While one may argue that one should open multiple windows of PrusaSlicer inside a single process instead of starting a new process for each PrusaSlicer instance, we do not think there is any memory issue with our approach as the program image is shared among instances and the base private program memory is quite low. Most of the memory is allocated by the models, slicing, undo/redo and mainly the G-code preview, therefore starting new instance for each slicer consumes just a tiny bit more than it would if the multiple windows were managed by a single process. Technical details: PrusaSlicer writes a lock file into its cache directory to detect another instance running. The name of the lockfile is constructed from the hashed path to the PrusaSlicer process and a ".lock" suffix. Passing commands between PrusaSlicer instances is platform specific: On Windows, a Window message is sent to an existing PrusaSlicer main window, where the PrusaSlicer main window is identified by a window name, window class name and a hash of the PrusaSlicer proces path. On Linux, PrusaSlicer instances communicate over DBUS, where each PrusaSlicer instance registers as a listener with the following name: "com.prusa3d.prusaslicer.InstanceCheck.Object" + hash of the PrusaSlicer proces path. On OSX, NSDistributedNotificationCenter API is used. Each instance registers itself to receive a message named "OtherPrusaSlicerInstanceMessage" + hash of the PrusaSlicer process path. Unsaved Changes dialog #3049 When closing the application or switching profiles, PrusaSlicer newly opens a dialog with the listing of modified unchanged parameters, their old and new values. The user may decide to discard all the changes, or one may save some or all the changes into user profiles. When switching profiles, the modified parameters may also be transferred to the activated profiles. One may decide to always save or always discard the parameter changes by checking the "Remember my choice" checkbox at the "Unsaved changes" dialog. Such decision may later be reverted in the Preferences dialog. The user interface design and code was inspired by @kumpuu #3285. When switching the printer profile, the active Print and Filament profiles may no more be compatible with the new printer profile. The old PrusaSlicer selected a printer and Filament profiles marked as "default" in the activated printer profile. The new PrusaSlicer selects the new Print profile with the following priority: Compatible Print profile with the same logical name aka alias. Prefered Print profile with the same layer height. Compatible Print profile with the same layer height. Prefered Print profile. Any compatible profile. Thus when switching the printer from "Prusa i3 MK3" with the "0.2mm SPEED" Print profile active to "Prusa i3 MK2", "0.20mm 10mms Linear Advance" Print profile is newly activated, while the previous PrusaSlicer would select the default, which is "0.15mm OPTIMAL". The same logic applies to the selection of Filament profile, while the symbolic "filament_type" parameter is matched instead of the layer height. Improved filament installation In PrusaSlicer, not all installed filaments are necessarily compatible with all installed printers. We require the printer vendor to explicitly enumerate those filaments, which were verified to print correctly with his printers. In this version, we have updated the Filaments selection page of the Configuration Wizard to reflect, that an installed filament may not be available for each installed printer. Namely, we are marking the filaments, which are incompatible with some of the installed printers with an asterisk. In addition, compatible installed printer profiles are listed out for the selected filament profile at the bottom of the Filaments page. Physical printers settings #1880 #3050 #4217 #4549 Historically PrusaSlicer stored the printer network connection settings into the printer profile. This became inconvenient with the introduction of read-only vendor specific system profiles, where the user had to derive his own printer profile from a system one just to be able to configure G-code upload over the network. In addition, storing the network connection information into the printer profile posed a security risk, which we had to patch by suppressing export of the network connection into the 3MF, G-code and Config Bundles anyway. Starting with this version, PrusaSlicer separates the physical printer connection settings from the printer profile into new Physical printer profiles. A Physical printer profile references one or more printer profiles of the same technology (either FFF or SLA), and it assigns a network connection information to these printers. One does not have to create a Physical printer profile if one does not need to connect to a printer over the network. The new Physical printers are listed in a new section in the printer selection combo box after the system and custom printer profiles. A new Physical printer profile is created by clicking on the "cog" icon right to the printer profiles combo box, or by selecting the "add or remove printers" item in the printer combo box. The Physical printer profile editor opens also when clicking on the new "cog" icon in the printer settings tab. The Physical printer profiles are being stored into PrusaSlicer/physical_printer directory. When first installing PrusaSlicer 2.3.0-alpha1, the network connection information is removed from existing user printer profiles and converted to new Physical printers profiles giving them generic names "Printer 1, printer 2, ...". The user is advised to review and rename these Physical printer profiles generated by the conversion process. The following configuration keys are moved from printer to Physical printer profiles: "host_type", "print_host", "printhost_apikey", "printhost_cafile", "printhost_authorization_type", "printhost_user", "printhost_password". The last three keys are new to support SL1 HTTP digest authentication, see the following section. If some parameter of a printer profile is modified, a "(modified)" suffix is newly shown not only for the modified printer profile in the list of printer profiles, but also for all the associated Physical printer profiles. For security reasons, the "Export Config Bundle" function does not export the Physical printers. To help sharing the complete PrusaSlicer profiles between ones computers, we added "Export Config Bundle with Physical printers" option. SLA improvements It is newly possible to import both a model and its print profile from an existing .SL1 archive. The feature is available through the "File->Import->Import SL1 archive" menu. Note that the original model is not available in the SL1 archive, it has to be reconstructed from the slices, thus the imported mesh will be visibly discretized and the supports (if they were used) will be fused with the object. HTTP digest authentication (RFC 2617) is newly supported by PrusaSlicer to send files to an SL1 printer. HTTP digest authentication is configured in the new Physical printers configuration dialog. Optimize orientation now orients parts flat to the print platform when configured to print directly on the platform. Configuration option Pad around object is only accessible from Pad parameter subpage. It was confusingly mirrored in Supports in the past. The bed texture is no more shown when looking from below while the support points or holes editing is in progress. It is to provide clear view of the bottom of the model with no obstructions. SLA support points and holes are re-projected on the mesh during loading and after Netfabb repair. This ensures that no support point or hole ends up off the mesh. Various improvements regarding supports and hollowing were implemented. See the following table for more information and comparison with the last release. Old New SLA mini supports in regions where the normal supports would not fit. More even distribution of support points on large areas and edges. Improved supports of overhangs created by hollowing. Improved hollowing of meshes with intersecting or overlapping watertight parts. New 3rd party printer profiles The following 3rd party printer profiles were added or improved: Anycubic: Mega Zero #4057 thank @kad, Kossel Pulley, Linear and Linear Plus #4220 thanks @tc0fh, Mega S #4619 thanks @Igami BIBO profile improvements by @photodude Creality: Added Ender-2 thanks @probonopd, updated Ender-2 texture #4748 thanks @ChandlerMcCowan, updated Ender-3 bed texture, added Ender-3 with BLTouch and many other Ender improvements thanks @pmjdebruijn #4853 #4854 TriLAB models DeltiQ M, L, XL prusa3d/PrusaSlicer-settings#100 thanks @espr14 Collapsible side bar, floating presets dialog etc. PrusaSlicer is being used on various form factor devices ranging from ultrabooks and laptops to multi-screen workstations. One application layout does not fit them all, therefore we implemented the following layout options: The good old mode with Plater, Print, Filament and printer tabs. The good old layout fits larger size laptops well. A bit of screen real estate is saved by hiding the tabs when the Plater is active. The configuration tabs are accessed by a new "cog" button at the top toolbar. Floating dialog mode, where the Print, Filament and printer pages are shown in a floating dialog, which opens with the new "cog" button at the top toolbar. The floating dialog mode is handy on a multi-screen workstation and using it to fine tune print parameters with the background processing enabled is a joy #4093. To support small laptops and ultrabooks, we have implemented the following new features: The side bar at the Plater is now collapsible if enabled in application preferences #2075 #3325. The side bar is collapsed with a Shift-Tab shortcut, thanks @wavexx #4735. Toolbars in the Plater are newly scaled down until they fit the screen. Notification center Starting with this version, many non-critical notifications and user requests which used to pop up as modal dialogs are newly displayed as notifications at the right side of the 3D scene. The following notifications are shown by the new notification center: New PrusaSlicer version or configuration profiles are available for download. This notification is shown at every application start up, therefore one no more misses an update. "Slicing complete" with time estimate and "Export G-code" hyperlink is shown as a notification if the side bar is collapsed. "Export of G-code to removable media finished" with a hyperlink to unmount the removable media. "Unmounting of a removable media succeeded / failed" #4821. "Slicing error" reporting inconsistency in slicing parameters that prohibits slicing, for example the "extruder collision with an object" in sequential print #4606. "Slicing warning" reporting possible problems of the print. Newly the "Empty layers detected" is reported as Slicing warning instead of stopping the slicing process, allowing to print stacked objects, for example the COVID-19 face shields #4062 #4756. Objects partially / fully outside the print volume. This notification used to be displayed at the bottom of the 3D scene, it is now shown by the notification center. 3D Mouse detached. The notifications are sorted by severity with the most severe notifications at the bottom.The update notifications, slicing finished, unmounting successful, 3D mouse detached and similar notifications fade out after a short time interval, while the warnings and errors are displayed as long as they are valid. Fading out of a notification is suppressed if the mouse cursor hovers over the notification. Support for imperial units #1041 #1407 #1463 #1811 #2570 We newly provide support for imperial units for our US customers. PrusaSlicer uses metric system internally, namely all internal dimensions (model sizes, model positions, print & printer profiles and G-code) are measured in millimeters. To make the life easier to our US customers, we newly support imperial units in the following way: The "Object manipulation" panel newly offers an "Inches" check box. If enabled, the object position and scaling is presented and accepted in inches. PrusaSlicer still keeps the internal dimensions in mm, however they are converted from/to inches when presented to the user. The state of the "Inches" checkbox at the "Object manipulation" panel persists in application preferences as "use_inches" option. Initial state of the "Inches" checkbox is set at the last page of the application configuration wizard. The filament usage is shown in inches if the "Inches" mode is enabled. The models are still imported / exported in millimeters by default, as most of the models available are in millimeters. However, we newly support the following: Importing STLs saved in inches by menu File->Import->Import STL (Imperial Units). STLs are converted from inches to millimeters on import. Object and Volume context menu newly contain "Convert from Imperial Unit" to scale from inches to millimeters after an object with dimensions in inches was loaded as in millimeters. Object and Volume context menu newly contain "Revert conversion from Imperial Unit" to revert the above, or if the user loaded an object in mm through "Import STL (Imperial Units)". If the model loaded is very small, a conversion from inches to millimeters is newly offered #4521. Fuzzy search in parameters #1504 PrusaSlicer newly allows one to search for a parameter to quickly access particular parameter page and parameter field. The search is accessible from both the Plater top toolbar and from the Print/Filament/Printer parameter pages, or with a Ctrl-F hot key. A modified fuzzy search algorithm by @forrestthewoods is used, which works similarly to the fuzzy search algorithm in Sublime editor. If the application is switched to a local language, both the localized names and English names are searched through. ASCII folding is applied, so one may for example type "cistici vez" to search for "Čistící věž". Other UI improvements Copy/Paste is newly supported for the custom parameters and layer ranges in the object list. One may newly merge multiple objects into one multi-part object by selecting multiple objects in the Plater or in the Object list and by executing "Merge" from the pop-up menu. Splash screen is newly shown for both PrusaSlicer and the new G-code viewer. Splash screen may optionally be disabled in the preferences. Other new features and improvements Windows specific: PrusaSlicer starts significantly faster due to delayed creation of parameter pages. It is newly possible to change the G-code generated for the Color Change, Tool Change and Pause events placed at the layer slider using the new "color_change_gcode", "pause_print_gcode" and "template_custom_gcode" variables #3722. Linux specific: Various Linux distros store system SSL certificates at a different locations, which our binary builds were not aware of, breaking automatic profile updates on Fedora and possibly on other Linux distros. PrusaSlicer newly searches for the openssl certificates at locations used by common Linux/Unix distributions on first application start-up, the user is informed about where the certificates are found and the user is asked to accept these certificates #3851 #4448. Windows specific: PrusaSlicer newly communicates with the 3DConnexion devices using the 3DConnexion driver, thus it is possible to configure 3DConnexion device for PrusaSlicer in the driver, for example it is now possible to swap the axes of the 3D mouse in the 3DConnexion driver. The latest 3DConnexion driver already installs c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\prusa-slicer.xml, however if you created this file manually, you are advised to remove it before starting the 3DConnexion driver update as the driver update will keep the old file. The 3DConnexion driver does not install a configuration file for the new prusa-gcodeviewer.exe, you have to copy the prusa-slicer.xml to prusa-gcodeviewer.xml and edit it to get the 3D mouse working in the G-code viewer. We are in touch with 3DConnexion to fix that #3864 #3933 #3937 #4104. The G-code placeholder parser supports the following new keys: "print_bed_min", "print_bed_max", "print_bed_size", which are calculated as a bounding box of an existing "bed_shape" vector of points. The G-code placeholder parser also newly supports the following new keys: "first_layer_print_convex_hull", "first_layer_print_min", "first_layer_print_max", "first_layer_print_size", defining convex hull of the first layer. Please note that the extrusions generated by the custom G-code are not accounted for. OSX specific: Implemented automatic switching of color schemes (light to dark and vice versa) on a system notification. Custom G-code texts now use a monospaced font, thanks @wavexx #4747. It is now possible to stack objects one over the other, however the user will be informed with a notification and when exporting the G-code about empty layers in the print #4041 #4062 #4756. Bugs fixed Windows specific: Fixed loading of PrusaSlicer profiles from a path containing a symlink. The issue is caused by a buggy boost::filesystem::canonical() implementation, which we replaced with boost::filesystem::absolute() #732 #3956 #4557. Linux specific: Fixed crash on startup under Wayland. Fixed by setting env "GDK_BACKEND" to "x11" #2515 #4691. Fixed under-extrusion upon leaving the MMU2 wipe tower. Wiping moves performed before moving away from the wipe tower were replaced by scheduling a regular wipe that is performed after the regular G-code generator regains control from the wipe tower generator. This makes it consistent with wipes on the model and gets rid of the unretracted travels #2834. The print bed is now limited to 1.2m x 1.2m, which is required by the range of a 32 bit fixed point signed int we use to represent coordinates #2877. Linux specific: LANGUAGE environment variable was not respected #2970. Windows 10 specific: Fixed "rubber band" effect when dragging windows on Windows 10 build 2004 #3009 #4636 #4838 #4886. PrusaSlicer does not support "Support material" overrides per layer range, therefore this option has been removed #3060 #4100. Fixed position of multi-material purging lines on rectangular beds with non-standard origin #3805. Linux specific: Fixed crashes due to a bug in accessing bitmaps for the object list #3837. Windows specific: The 3Dconnexion 3D mouse produced scrolling events in case the mouse cursor was over a combo box. This is now fixed with an installation of the latest 3DConnexion driver #3864. OSX specific: Selection of profiles by the combo boxes was case insensitive, making it impossible to select a user preset, if its name differed in case only #3889. Fixed order of processing configuration files when slicing from command line. The priority of config values is now: 1) Config keys from command line, for example --fill-pattern=stars (highest priority, overwrites everything below), 2) Config files loaded with --load, 3) Config from 3mf (lowest priority) #3893. Fixed crash when trying to test-connect to a FlashAir SD card given an invalid IP address #3899. Windows specific: Fixed language selection issue for country specific language variants. For example, pt_PT dictionary was incorrectly loaded by PrusaSlicer instead of pt_BR for Brazilian Portugese #3901. Improved error reporting when loading presets with option keys or option values that our PrusaSlicer does not understand. This applies to configs added by some forks of slic3r, for example SuperSlicer #3909. OSX specific: Fixed crashes when switching printers or attempting to modify the bed shape or size due to a bug in Retina scaling support #3916. Fixed extremely wide wipe tower with 0.35mm FAST profile #3919 #4361 #4541. MMU specific: Fixed disabling of linear advance with RepRap firmware #3965. Windows specific. Fixed scanning of floppy drives when searching for a removable media as a target for G-code export #3967. Fixed crash due to a typo in Korean localization #3983. Fixed layout of the object manipulation panel in French by shortening the labels #4035. The "Eject removable media" is newly shown first after the export is finished #4212. Fixed an issue in arrangement, where some objects were left out of bed after arrange #4329. Windows specific: Improved scanning of removable drives. PrusaSlicer newly registers for removable media insert / eject notifications, therefore the devices are no more scanned regularly, spinning up removable hard drives. Thanks @mjgtp from prusaprinters.org, see the following discussion #4071. Fixed a crash when slicing a specific SL1 project #4836. Fixed print-out of the final G-code file name when slicing from command line. The macros in the file name template are now correctly substituted #4872. Fixed cutting of objects by a plane in SLA mode with supports already calculated, where the object elevation was not being taken into account. Architecture, infrastructure We have updated to wxWidgets 3.1.3. The dependency build script now supports a new parameter DEP_WX_GTK3=on/off to build wxWidgets against GTK3. We newly provide Linux/GTK3 builds. Improved the "Update How to build - Mac OS" documentation, thanks @danhae #4630. Known issues The new G-code viewer does not correctly support sequential print and spiral vase. We are working on that. OSX Big Sur specific: Bold fonts are not displayed as bold, combo boxes at the bottom of the G-code viewer open down, thus they may end up out of the screen. 3DConnexion does not provide a correctly signed driver, which could install on Big Sur. What is in the working We are revamping the "Avoid crossing perimeters" feature. Where you can help We accept translations and 3rd party printer profiles. Supported printers: Original Prusa i3 MK3S MMU2S Original Prusa i3 MK3S Original Prusa i3 MK3 MMU2 Original Prusa i3 MK3 Original Prusa i3 MK2.5S MMU2S Original Prusa i3 MK2.5S Original Prusa i3 MK2.5 MMU2 Original Prusa i3 MK2.5 Original Prusa i3 MK2/S MMU1 Original Prusa i3 MK2/S Original Prusa SL1 Original Prusa MINI Download link: Please report any bug here: github.com/prusa3d/PrusaSlicer/issues We look forward to your feedback!
RE: Core One owners regretting their purchase?   34 Relevance 4 months ago Brad4321 General discussion, announcements and releases
  This is a good summary of my experience as well. Prusa's "open source" philosophy and security stood out when I was researching printers for my business and we settled on the Core One. I was the one responsible for the research/purchase and am the only one that operates the printer. I ordered fairly early after launch and it took way past the lead time to arrive with multiple delays. While the initial lead time was expected, the additional delays did leave a sour taste from the beginning. The Core One does not produce any of our products; it is used to make some R&D prototypes, but primarily jigs and upgrade/repair parts to our other equipment. Usage goes in waves depending on our work. We have 334hr printing this month (December) and 557hr in total. The heavy December usage is normal as that is our slowest time when we typically work on facility upgrades. Statistics say we use ASA 42%, PETG 29%, and PLA 29%. This is a great demonstrator of how we use the printer - 29% of the time we are doing fast prototyping, the rest of the time is making functional parts. I state this because I feel that an individual's usage of the printer dramatically changes their perspective of it. The Core One annihilates PLA as any printer should. PETG is nearly problem free, I can only think of one instance where we had an issue (layer shift). However, ASA has really brought out this printer's weak points. our success with ASA is 50/50 at best. I have a stack of PC, Nylon, and PET sitting on the bench that I haven't touched with STL's in cue. The Core One should have no issues with these filaments, but I haven't yet even attempted them due to our issues with the much cheaper ASA. Just the time I think I have the printer dialed in, I get another massive failure. Here is the summary of my complaints. Belt tension just isn't consistent. There are reports on this forum of the tension going out of spec with temperature, and they are correct. A good belt tension at room temp will print PLA and PETG for days straight with no problems. Run ASA with a 55C chamber and I get layer shifts. Change belt tension to match 55C and then the head banging comes back when homing with the occasional layer shift with PETG. This isn't a scientific process since there has been many updates since launch that directly affect belt tension/homing and I rarely print the same gcode multiple times, but gut feeling says the Core One is incredibly sensitive to belt tension. This is bad when it can't maintain tension across a fairly narrow working temp range. The passively heated chamber design is worthless. This will heavily depend on your climate/work area, so hold the pitchforks. In the winter the office runs 12c and no matter the print time I can only reach 40c chamber with added insulation and closing the holes in the panels. We reach 22c in the summer and can hit 45c chamber. This isn't good enough and doesn't match advertised specs. Add in the fact that it takes many, many hours to reach these temps and the printer shuts heating off with inactivity, frustration is a mild understatement. I added a chamber heater design from Printables and can hold a steady 55c in less than 2 minutes. This would have been so simple for Prusa to add to the design. Maybe it was just my inexperience in 3d printing, but I strongly feel the passively heated chamber was oversold in its capability. Considering I primarily print ASA (and PC/Nylon if I can gain faith in the printer), this is a major miss. However, a solvable miss...that uses parts from a competitor. The MMU3 was a major selling factor and I ordered it immediately upon release. It is another disappointment. I have done some multi-color prints (PLA and ASA) with it and that works fairly well. The MMU3 is time consuming to get setup, but it has functioned well as a color changer. Multi color isn't something we normally do, however. However, using it as a multi-material unit? That is unreliable at best and more time consuming to clean out all the debris when it does fail. our main plan behind the MMU3 was as a material selector and to use different material for supports. That has not worked well for two reasons. 1. Different materials can require different tension settings to feed properly. 2. The buffer unit is wide open exposed, not good for material that needs to be printed from a drybox. our MMU3 is still installed, but bypassed. In fairness my issues with the MMU3 are mostly that it did not meet my expectations and my research should have been deeper before purchasing, but it is called multi material afterall. That was your excuse for feet, really? They didn't last a day and the printer scratched my solid maple top. Luckily, Printables to the rescue. The speed complaints are real. It is slow to get going. Summary of my praises: Support has been great. I've only contacted support a couple of times (thermistor failures) and they've quickly sent a replacement. I've not contacted them over my other complaints as I know what the answer will be. Beautiful looking machine. Chrome doesn't make it go, but fit and finish is nice. The MMU3 on top does ruin that a bit. Serviceability has been reasonably easy. Nozzle changes could be simpler, but we don't change very frequently. 0.6 hardened is a workhorse. When it works, it works great. The prints right out of the printer with no clean up has received endless praise from everyone. Print quality is noticed. The prints are dimensionally accurate out of the box as well. Some of our prints are proprietary and guarded, what drove us to Prusa, and we feel confident that they remain secure. Made in the EU. Prusa's history of long term product support. As inbox stated, my feelings towards the Core One go back and forth. Sometimes it saves the day, sometimes it ruins it. In the end I personally am still a Prusa fan overall, although the Core One hasn't done much to win over our Bambu fan employees. I'll leave you with my single biggest issue with this printer: Prusa's marketing department. Prusa loves making announcements and teasing products and then the Core One L and INDX came out of left field (at least for me, I never seen anything prereleased, but we are not in the 3d printing industry and its not really a hobby either). It appears that the L and INDX is exactly what we needed, not the Core One and MMU3. A better chamber heating system and what should prove to be truly multi-material. In the end I'm left feeling like the Core One was a beta product that we paid good money for. For this reason, despite initial appearances of the L and INDX, we will not be purchasing, at least until it is proven out. Lastly, for those that do not care for these "complaint threads", I feel it is good info to have out there. Prusa can use the feedback for improvements and potential customers can get a better idea of the product. Yes, one is more likely to complain the praise, but the sour taste last longer than sweet for many. Lost another 12hr ASA print last night from a layer shift nearly at the end. Belt tension at 103/100 at 55c chamber temp. Lowered belt tension and trying again. About 10 layers in now, so hopefully I can sign off and not babysit it. Wrote this novel in the time it took from hitting print to 10 layers, with an active chamber heater.
PrusaSlicer 2.4.0-alpha1   34 Relevance 5 years ago Same Old Shane PrusaSlicer
  Summary This is the first alpha release of PrusaSlicer 2.4.0, introducing Multi-material painting tool, improved FDM supports and raft, Windows dark mode, Fuzzy Skin, per object Brim configuration, Negative volumes, automatic Color Print for signs, Shape Gallery, "Tip of the day" notifications, Model simplification, support for Marlin 2 acceleration control, support of 3DLabPrint airplane models, new 3rd party printer profiles and many more new features, improvements and bugfixes. To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. The software is based on work of Alessandro Ranelucci (@alranel) and the RepRap community. The first public commit is from 2011-09-01, meaning that exactly today, PrusaSlicer based on Slic3r celebrates its tenth birthday🎂🍾 Thanks to all who contributed during the decade and helped to continuously improve the software. Complete description of improvements and changes with respect to the current PrusaSlicer 2.3.3 release follows. Multi material painting #3535 In PrusaSlicer 2.3.0 we have introduced paint-on supports and seams. Seeing the painting tools in PrusaSlicer, many customers asked for similar tools to help with multi material printing. Indeed, preparing models for multi material FDM prints used to be a laborious and time consuming process. With this release of PrusaSlicer, that is a thing of the past and coloring an object for multi material printing requires just a handful of bucket fill and brush stroke operations. The editing tool opens with N hot key and it offers the following tools: Brush: similar to the old support or seam painting tool. Smart fill: fills a region below the mouse cursor up to a sharp edge (the sharp edge threshold is adjustable at the panel). Bucket fill: replace a patch of one color with another. Combo boxes in the panel allow mapping different extruders to left and right mouse button. The number and color of the selected extruder is shown for clarity. The color that is used for visualization can be overridden by clicking the colored square next to the selected extruder. This visualization color is not saved anywhere and will be lost when the application closes. Once the object is painted, the object surface is segmented into patches of same material and the patches are extended inwards. The regions painted at the top resp. bottom surfaces are extended by the number of top_solid_layers resp. bottom_solid_layers (configurable in Print Settings->Layers and Perimeters). The regions painted at the side walls are expanded inwards up to maximum mmu_segmented_region_max_width (which is a new configuration parameter accessible in Print Settings->Multiple Extruders->Advanced). The painting only affects the slicing result, the model itself is not altered and the colored "parts" cannot be exported separately. Notes Please note that thin features are not printable with FDM technolgy, thus for example painting a thin wall with two distinct colors will not make the thin wall printable. Such thin non-printable regions created during segmentation are thus detected and merged with the neighboring region, changing its color. PrusaSlicer will print thinner features with "detect thin walls" enabled, thus one is advised to try to enable "detect thin walls" if painting over thin features. There are two extra limitations arising from technical reasons: The multi material painting is limited to 16 extruders. If your printer uses more extruders, only the first 16 will be available in the painting tool. Multi material painting cannot be combined with XY size compensation. The XY size compensation will be ignored during slicing if the object is also multi material painted. The user is informed by a notification in both cases. Bottom layers bridges PrusaSlicer is based on the pioneering work of Alessandro Ranelucci and the RepRap community on the Slic3r project. As already mentioned above, the project was started ten years ago and a lot has changed since then indeed. The 3D printers are no more a rarity, ABS is not the only filament, motion systems are accurate and extruders are no more leaky. Thus adjustments to the slicing algorithms are called for. Slic3r's strategies of FDM supports and object over support differ from the other FDM slicers. Namely, Slic3r was designed to make use of FDM bridging capabilities to circumvent the necessity of supports. And printing bridges with ABS was not that easy: The bridges were reliable only if extruding thick strands. Combining the thick bridges with supports required the 1st layer objects being printed thicker than the other layers, leading to ugly object undersides. All the other FDM slicers evolved differently: The first layer over supports is printed with the same flow as the other layers, thus the first layer over supports looks nicer as long as the strands bridged reliably or supported by a support interface. For support materials that do not bridge reliably, dense support is required for high quality of objects over supports. Starting with this release, PrusaSlicer newly offers printing bridges and 1st object layers over supports with the default layer thickness. The bridging behavior is configurable with a new "thick_bridges" boolean option. If enabled, the old Slic3r bridging strategy is applied, while if disabled, bridging is performed in a similar fashion to the other FDM slicers, leading to better bottom quality over supports. With "thick_bridges" disabled, the behavior of "bridge_flow_ratio" changes: Instead of modifying cross section of a rounded extrusion while keeping the gap between the extrusion threads constant, extrusion spacing is maintained while modifying the extrusion width and / or height to reach the prescribed extrusion ratio. FDM supports improvements FDM supports were substantially redesigned in this release, answering frequent (and rightful) complaints from the users: New "snug" shape of the support columns. By default, PrusaSlicer projects support columns into a regular grid for stability. Supports projected into a regular grid have a well defined minimum area, however they tend to leak out of regions they support along the object walls down to the print bed. We newly implement "snug" supports, which maintain the shape of the supported overhangs, thus avoiding the leaks with the trade-off of possibly lower support stability #555 #740#902 #1346#1993#2708#3083#4783#6240. The support shape is configured with a new "support_material_style" config field, which accepts two values: "grid" (the old behavior) vs. "snug" (the new shape). The "snug" supports accept a new parameter "support_material_closing_radius", which controls merging close support islands and simplification of the support column shape. We borrowed a function smooth_outward() from Cura written by @BagelOrb to robustly simplify support island contours during merging of multiple support overhang islands. If "support on build plate only" is enabled, the support columns are newly trimmed to not land on top of an object. However this may make the column too small to be stable #915 #1340#3980#4199. Support enforcers newly take precedence over "supports on build plate only" and over "don't support bridges". This applies to both the enforcer and blocker modifier meshes and paint-on supports. Also the fact that the enforcers take precedence over blockers is indicated by sorting the enforcer meshes below the blocker modifiers at the side panel (the volume lower in the list always takes precedence over a volume upper in the list) #1870 #1997#2801#3741#3831 #5105#5748. A new configuration value "support_material_bottom_contact_distance" has been added to complement "support_material_contact_distance". If "support_material_bottom_contact_distance" is positive, it defines separation gap between the object top surfaces and bottom of support towers, while "support_material_contact_distance" defines gap between the support and object bottom surfaces. If "support_material_bottom_contact_distance" is set to zero, the old "support_material_contact_distance" applies to both top and bottom distances. Similarly, a new configuration value "support_material_bottom_interface_layers" has been added to complement "support_material_interface_layers". If "support_material_bottom_interface_layers" is non negative, it defines number of dense support interface layers between the object top surfaces and bottom of support towers, while "support_material_interface_layers" defines number of dense support interface layers between the support and object bottom surfaces. If "support_material_bottom_interface_layers" is set to "same as top" (value -1), the old "support_material_interface_layers" is used to define both. If "support_material_interface_layers" is set to zero, neither top nor bottom support interface layers are being created #4288. The support 1st layer density and expansion is newly configurable with "raft_first_layer_density" and "raft_first_layer_expansion", allowing to disable support 1st layer expansion completely. While the two configuration values start with "raft_", they are applied to the 1st support layer if the raft is disabled #1165 #2568#3772. The support interface pattern is newly configurable with "support_material_interface_pattern" to "default", "rectilinear" and "concentric". Default is concentric for soluble interfaces and rectilinear for non-soluble support interfaces. We expect this settings to be useful for printing with soluble interfaces: While the concentric pattern may produce smoother surfaces at sides of an object, rectilinear support interface may produce nicer horizontal surfaces #1197. Improved soluble support interfaces over non-soluble support base columns (#5823). Printing a soluble interface directly over non-soluble sparse support is not a good idea. Soluble support material often does not stick properly to non-soluble material and the soluble material may not bridge the gaps between sparse support lines. Based on #5903by @spiky2021, PrusaSlicer newly extrudes half of the support interface layers with the support base material, so that the dense soluble support interface material is extruded over a dense base interface material layer. While the soluble interface pattern is now configurable with "support_material_interface_pattern", the non-soluble dense interface is always extruded with rectilinear pattern, which bridges better over the sparse support. The FDM sparse zig-zag infill algorithm was redesigned to support dense support interface layers reliably #2969 #4295#4951. Brim is newly calculated around the object, not around the 1st layer of the support and supports are printed over the brim on other layers #713 #1156#3395#3396. A single perimeter line is newly extruded around the support 1st layer to improve print bed adhesion #756 #2101. Support first layer used to be printed with concentric pattern for soluble materials, it is newly printed with rectilinear infill all the time #684 #1445. UI related, paint-on supports: Extra dialog for auto setting by angle gizmo was removed, the slider is now embedded in the main paint-on supports gizmo dialog. FDM support generator bugfixes Fixed spilling of FDM supports using the old "grid" support style due to some numerical inaccuracy issues #5209 #6067. Reduced leakage of FDM supports using the old "grid" support style through object holes. The leakage was significant with thin walled objects. Newly the supports are only allowed to fill a grid cell, never to expand into a neighboring support grid cells, and the risk of leakage through thin walls was reduced by over-sampling the support grid #5054. Fixed excessive cooling slow down over supports. Cooling was incorrectly calculated from the time to print a support layer when the support layer was printed at its own Z height. PrusaSlicer may print a support layer at its own Z height not synchronized with any other object print Z height to guarantee the support contact Z distance. As the cooling slow down was incorrectly applied to each layer independently, a support only layer and the successive object layer were slowed down unnecessarily. Newly PrusaSlicer applies a cooling slow down logic to all support layers together with the object layer being supported #984. Fixed paint-on supports on horizontal surfaces, where the painted regions were assigned incorrectly to one layer below or one layer above the painted regions due to numerical issues #5948. Fixed excessive 1st layer support raft expansion. PrusaSlicer used to fill holes in the 1st layer support raft on purpose to improve adhesion, however this behavior was found too aggressive. Filling holes in the support 1st layer is disabled now while the user may newly apply a higher raft_expansion if one wants a stronger 1st layer adhesion #430. Fixed leakage of 1st layer support raft through thin object walls during the 1st layer support raft expansion. The 1st layer support raft is newly expanded carefully with multiple steps to avoid the leakage #2245. Fixed unnecessary support interafaces created by aggressively merging concentric support interfaces #4570. Re-enabled "Enforce support for first N layers" even if "Generate supports" is disabled #470. FDM Raft enhancements #1277 #2823#3425#6053 The raft newly supports separate configuration of "raft_contact_z_distance". Indeed, we want the "raft_contact_z_distance" to be smaller than "contact_z_distance", as we value the quality of the 1st object layer over raft interface and it is easy to remove raft with a blade. "raft_expansion" is newly configurable. First object layer above the raft interface is no more printed with a bridging flow, but a normal flow. This produces much nicer bottom object surface. Because the first object layer above the raft interface is no more printed with a bridging flow, the bottom infill pattern is newly respected #3507. Speed and acceleration of first object layer above the raft interface is newly configurable with "first_layer_speed_over_raft" and "first_layer_acceleration_over_raft" #6166 #6623. The raft rework is based on #6003 thanks @nemart69 for the contribution. First layer height The following properties of the FDM support generator changed: The "first_layer_height" parameter was made global to the print, it is no more object specific. We consider the 1st layer height to be a property of the print. Also the skirt and brim are calculated and printed for multiple objects in a single step, therefore allowing different 1st layer height for different objects was questionable from the start. Because now first_layer_height is print specific, the "first_layer_height" no more supports relative values with respect to object layer height. Thus "first_layer_height" defined relative to the object layer height is newly converted to an absolute value when importing a config file or a project file. Brim and skirt enhancements Inner brims, brim per object Previous PrusaSlicer versions only generated outer brim, leaving any possible holes in the first layer without brim and forcing users to use workarounds using extra thin object parts etc. Starting with this release, it is possible to generate outer brims, inner brims or both. Also, brim settings are now object specific and brim is not generated for all objects at once, but for each of them separately. This allows to turn brim on just for some of the objects, use different brim width for individual objects etc. #286 #651#1033#2182#2290#2455 Brim and elephant foot compensation, configurable brim offset Purpose of the brim is to increase adhesion of the object to the print bed, meaning that it must be fused to the object. On the other hand, it must be possible to remove the brim without damaging the object itself. This means that the gap between the object and the brim must be chosen carefully. This issue is further alleviated by elephant foot effect, always present on the first layer of a print. In previous versions, elephant foot compensation (EFC) was applied on the first layer of the object, while the brim was left as if no EFC was applied. This leads to a small gap between the object and the innermost loop of the brim, which should be filled due to the elephant foot effect. However, this made the actual sticking of the brim quite sensitive to z-height adjustment of the nozzle and sometimes led to inadequate attachment of the brim to the object. Starting with this release, the brim is generated after EFC of the object. The offset of the brim can be further adjusted by a new configuration parameter "brim_separation" (which is independent on EFC), allowing the user to fine tune the brim offset to his or her liking. #4850 #3779 As long as brim offset is set to zero, the EFC should never detach the brim from the object. #3870 #6795#4736#3949#3915#4736# Draft shield Skirt printed around the printed objects is present in PrusaSlicer for years (and it was in original Slic3r before). There are several uses the skirt can serve and that people use it for. Priming of the nozzle at the beginning of the print, priming after a toolchange, or using a very high skirt as a draft shield are the most usual. Skirt is a multi-purpose tool and this release brings several changes in its configuration and behavior to make its use more intuitive (especially regarding its usage combined with a brim). The old boolean configuration option "draft_shield" is now an enum and allows following selection: Disabled: the skirt is not used as a draft shield, it is printed around all objects' brims to the specified height Limited: the skirt is as close to the objects as specified by "skirt_distance" (possibly intersecting brims), it is built to the specified height ("skirt_height") Enabled: same as 'Limited', except "skirt_height" is ignored and the skirt is as tall as the tallest object This allows the brim to improve draft shield print bed adhesion and to push the draft shield as close to the object as possible, while not creating any skirt/brim intersections when the user does not intend to use skirt in place of a draft shield. #4802 #5056#4736#3692#6544 When draft shield is used, skirt loops are printed uninterrupted and brim loops are cut. While it may make more sense to do it the other way round, shortening skirt is unacceptable because of "min_skirt_length" parameter and possible usage for nozzle purging. Negative volumes, modifier & extruder override rules PrusaSlicer newly supports "negative volumes" to subtract pieces of geometry from a model #4920. While there was a way to achieve a similar effect by setting zero number of top / bottom layers, zero perimeters and no infill in earlier versions of PrusaSlicer, the new "negative volumes" are much easier to use and they are processed faster and the old workaround produced artifacts as in #5095. Read more in the Documentation. PrusaSlicer newly clips the volumes and applies the modifiers in the order they are presented at the side panel, latter volume clipping the former one, latter modifier overriding the former modifier or volume. The configuration values applied to objects, volumes and modifiers are newly collected in the following order: Global parameters Object parameters Volume parameters Layer range parameters Modifier parameters Extruder ID by Multi-material painting This is a breaking change, where in earlier PrusaSlicer versions modifier parameters were applied over object parameters, ignoring parameters of volumes, layer range modifiers and other modifier meshes with which they overlap #5986. This was particularly painful for multi-material prints, where an application of a modifier mesh to set an infill rate resetted the extruder ID to the object default one #2657 #3012#6091. Also newly a "Default" extruder assigned to a modifier mesh or a layer range modifier does not change the extruder of the underlying geometry. Mutual clipping of multi-material volumes newly respects the order at the object list while in the earlier PrusaSlicer versions the volumes were first grouped by an extruder ID and then clipped #3272 #3318#4114#5831. Please note that the clipping order was changed as well: The latter volume newly clips the former volume. This is a breaking change, however we believe it is worth it as the new order is natural especially for the chaining of modifier attributes. Following bugs were fixed during the refactoring: Modifiers applied over an object with contour simplification (parameter 'resolution') produced gaps inside an object along the modifier boundary #6451 thanks @supermerill for pointing out the issue. Fuzzy skin #2010 We have ported the popular Fuzzy Skin feature of Cura into PrusaSlicer, thanks Cura team for keeping Cura open source. The Fuzzy Skin feature in PrusaSlicer works the same as in Cura: Fuzzification is applied to external perimeters only, hole perimeters may or may not be fuzzified. The perimeter is being resampled with a random step size and each new sample point is being shifted inside or outside of the perimeter by a random length. This simple algorithm produces surprisingly nice results suitable for tool handles or just to give the print surface a new interesting look or to hide print imprecisions. Read more in the Documentation. Multi-material wipe tower Soluble filament is known to not bind to other materials well. Thus for the wipe tower stability, PrusaSlicer newly does not use soluble filament for wipe tower perimeters or wipe tower sparse infill #1948. Soluble filament is known to not bridge well. Thus PrusaSlicer newly never wipes a soluble filament over a sparse wipe tower, but it prints a dense layer of non-soluble filament at the layer below for the soluble filament to stick to #2818. Wipe tower first layer is newly printed with non-soluble material if possible by reordering the 1st layer extrusions to start with the soluble material, thus the soluble material will not be purged at the 1st layer #3953. Fixed an issue where the travel speed was not used when moving from a custom tool change position to the wipe tower #5483. Wipe tower 1st layer is newly extruded with first_layer_speed. Improved placement of extruder priming regions on circular beds #6459. Before moving to the wipe tower, filament is newly retracted using a normal retraction length, while it was retracted using the tool change retraction length before. Wipe tower brim width is newly adjustable. Support for 3DLabPrint airplane models PrusaSlicer newly supports slicing of 3DLabPrint airplane models. These 3DLabPrint models were designed to be sliced with Simplify3D with a single perimeter and no infill to produce a single perimeter wing surface reinforced by single perimeter ribs. From the solid geometry point of view, these models contain overlapping bodies, thus they are not valid solid models. After the model is sliced, polygons in each layer are merged and further processed with a Clipper library by most of the FDM slicers, including PrusaSlicer, Cura and most likely by the closed source Simplify3D as well, however the slicers differ in what fill rule they apply by default. Simplify3D always uses the Even-Odd fill rule, while Cura and PrusaSlicer use the Positive fill rule by default. To allow slicing the 3DLabPrint models, PrusaSlicer implements a new "Slicing Mode" option, allowing one to switch between the "Positive" (default) and "Even / Odd" rule. Yet another new "Slicing Mode" option "Close Holes" makes PrusaSlicer to fill in all internal structures #3062#3708. Sequential print When sequential print is active, there is always a risk that the print head will hit some of the objects. It is possible to set extruder clearance distance and height so that PrusaSlicer would check for possible collision. The clearance areas are now also visualized in the scene when moving objects around and in case of a collision #4195. Because we do not support Color Print with sequential print, we newly indicate the fact by showing the "Color Print" icon at the vertical slider of the G-code viewer grayed out and we also newly show a tooltip explaining why the action is not available #5437. Aligned seam did not work correctly when printing sequentially bd2cbea G-code generator, firmware flavors Support of modern Marlin firmware Prusa's MK2 and MK3 printer firmware is running on an 8-bit Atmel microcontroller and it is based on a heavily modified legacy Marlin, while the Prusa3D Mini printer and our upcoming 3D printer models are equipped with 32 bit boards running Marlin 2 as a motion controller. Until now, PrusaSlicer produced G-code for the legacy Marlin firmware only. We newly split the Marlin firmware flavor to 'Marlin (legacy)' and 'Marlin 2' to be able to support new Marlin 2 features, above all the more fine grained acceleration control, separating the acceleration while traveling from acceleration while extruding #1089 #1994#6457. With the 'Marlin (legacy)' firmware flavor active, M204 Pa Rb Ta is emitted at the G-code preamble, where a, b are the values from machine limits, while M204 S... is emitted for feature type dependent acceleration settings. With the 'Marlin 2' firmware flavor active, M204 Pa Rb Tc is emitted at the G-code preamble, where a, b, c are the values from machine limits, while M204 P... is emitted for feature type dependent acceleration settings, not overriding the travel acceleration. Other new features Added new parameter to enable / disable gap fill. Until now one was able to disable gap fill by setting gap fill speed to zero, which was counter intuitive #2956 #5999thanks @xorza. One may newly set the travel speed for the Z axis independently from travel speed in other axes. The new "travel_speed_z" configuration value defaults to zero, meaning that the "travel_speed" is used instead, thus being backward compatible with the old profiles and project files #2945 #3995#6365#6369thanks @martinbudden. RepRapFirmware specific: Use "M204 P" instead of "M204 S" to control acceleration #5740 thanks @rsobik. PrusaSlicer newly generates M73 code with the remaining times to the next color change or pause print event. The remaining time G-code M73 has been extended with two new remaining times: Cxx and Dxx for normal vs. stealth (silent) printer mode. Added macro processing of color_change_gcode, pause_print_gcode and template_custom_gcode custom G-codes when emitting them into the output G-code. #5782 Added new placeholder for custom tool change gcode (toolchange_z), which provides Z coordinate of the tool change at the top of a wipe tower, while layer_z provides the Z coordinate of the last object layer printed. The two Z coordinates differ in case the wipe tower was generated without sparse layers #3834. G-code post-processor is newly executed before the G-code is copied to the target location. Indeed, running a post-processing script on SD card is not a good idea. Please note that the G-code viewer still visualizes G-code before post-processing #6000 thanks @xorza. G-code post-processor framework has been extended: #6042 New environment variable SLIC3R_PP_HOST contains one of "File", "PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ... New environment variable SLIC3R_PP_OUTPUT_NAME contains the name of the G-code file including path (for SLIC3R_PP_HOST == "File") or a name that will be given to the file after it is upload to the host (PrusaLink, Octoprint ...) The post-processing script may suggest a new output file name (likely based on SLIC3R_PP_OUTPUT_NAME) by saving it as a single line into a new "output name" temp file. The "output name" file name is created by suffixing the input G-code file name with ".output_name". Configuration stored into G-code is newly delimited with "; prusaslicer_config = begin" and "; prusaslicer_config = end". These delimiters look like any other key / value configuration pairs on purpose to be compatible with older PrusaSlicer versions trying to parse configuration from G-code. The G-code viewer reads the "; generated by PrusaSlicer ...." header and if the G-code was generated by PrusaSlicer 2.4.0-alpha0 and newer, it expects that the configuration block is enclosed by the new delimiters. This makes the G-code parser more robust going forward and G-codes can now be loaded by the G-code viewer even if an OctoPrint plugin adds its own comments at the end of the G-code after PrusaSlicer's configuration #6730. The following G-code generator bugs were fixed: PrusaSlicer emits various annotations for its own use, namely to augment the G-code for viewing. For example, layer height could not be guessed from the G-code reliably for bridges or for layers over supports, thus PrusaSlicer emits ";HEIGHT:xxx" when the current layer height changes. There is a risk however, that the user may enter the same annotation into some of the custom G-code block thus confusing the G-code viewer. The PrusaSlicer newly checks for the reserved comments in custom G-codes and isses a warning both when such a G-code comment is entered into custom G-code parameter and when a G-code is produced using such a questionable custom G-code block #5538. Fixed an issue in "avoid crossing perimeters" with the extruder wipe enabled, where there were unnecessary travels produced in the opposite direction of the wipe travel 8f293f0. 613f961 Fixed a bug in fan speed ramp up formula #5893. Fixed initialization of the random number generator for the custom G-code macro processor #5219(comment). Fixed first layer slow down in case the "autospeed" feature was enabled. Fix merged from upstream slic3r, thanks @alranel #5829. Fixed hang-up with very low infill rates due to rounding to zero followed by a division by zero#5910. Reworked the skirt generator to generate skirt just at non-empty layers (layers that actually extrude object or support) and to respect minimum layer height. Skirt generator stops at the first layer where those two conditions cannot be met simultaneously.#5652. Fixed unnecessary splitting of solid fill surfaces. This was a regression issue introduced in PrusaSlicer 2.3.0 during the implementation of infill anchoring#4437#5988. Fixed application of painted seams in case the painted triangles were strictly vertical. Fixed "Iron all surfaces" feature#5703. Fixed G-code export for "No extrusion" firmware flavor by not emitting the E axis. The fix is partial as no extrusions are shown by the final G-code preview#6023. Fixed unreliable application of filament overrides to custom G-code sections. Sometimes the main config value was used instead of a filament override and vice versa #3649. G-code viewer improvements The following new features were implemented for the G-code viewer: The G-code newly supports visualization of seams#6755. The G-code viewer also newly supports visualization of the G-code snippet centered around the active G-code line. The G-code snippet is shown once the extruder position is moved using the horizontal slider. A current G-code line number is now shown now at the horizontal slider instead of an index of a move#5611. Extrusions produced by the custom start G-code were not visualized as extrusions, but as travel lines. They are newly displayed correctly as custom extrusions and they are visualized as if extruded at the 1st layer independent of their Z position and extrusion height. The G-code may be newly colored by the temperature of the active extruder#4402#6106thanks @combolek. The printing time of the first layer is newly available at the G-code legend#5763. Filament used (length and weight) per extruder and per Color Change interval is newly shown at the G-code legend#2825#5980. The G-code legend may not fit small screens, thus it has newly been made scrollable. The following bugs were fixed: The used filament weight and cost are newly correctly shown for PrusaSlicer generated G-codes by the stand-alone G-code viewer by parsing the filament density and cost from the G-code config section. Prusa's own G-codes Tc, Tx and T? specific to Multi Material Upgrade (MMU) no more produce warnings to the console#6006. PrusaSlicer generated G-codes are now imported correctly even if the G-code is prefixed with an additional header, for example generated by ArcWelder#6117. Extended the G-code processor to read G28 (move to origin)#5843. Improved compatibility with newer Simplify3D G-codes by extracting the print bed size from their G-code.Similar to the Marlin 2 firmware, RepRapFirmware expects M204 P instead of M204 S to set the acceleration while extruding#5599#5740 thanks @rsobik. Fixed configuration pop-up menu of the horizontal slider - enabling / disabling "Show estimated time" and "Show object height" did not work correctly#6650. Multi-material specific: Horizontal slider did not work correctly with "No sparse layers" enabled for the wipe tower, where the wipe tower layers are not necessarily extruded at the same height as object layers. This is now solved by starting a new "layer" at the vertical scroll bar every time the print Z changes (Z is lowered down to a sparse wipe tower or Z goes up back to top of an object)#6232. Improved parsing of Simplify3D G-code: Filament densities and diameters are newly extracted, allowing us to calculate used filament length and weight for S3D G-codes a2788f3. Arrangement, SLA auto-orientation Arrangement will now search for suitable rotation when arranging items larger than the bed 49c6ce7 Arrangement ignores objects which can't fit into a single bed, the user is notified when it happens c30ac4b In PrusaSlicer 2.3.0 we have changed the SLA auto-orientation algorithm. Some users were not happy about the change, thus we newly provide a configuration dialog at the Rotate gizmo allowing one to select the auto-orientation algorithm. #5714 SLA improvements and bugfixes Cancellation of slicing was very slow when attempted during rasterization step. This should now be fixed.#6253 Exporting STL function no longer produces inverted normals when mirroring is applied#6406 978b359 SLA preview now does not show full object when slider is at 1st layer c54ce89 Trimming after hollowing in SLA modee57eca 082954ba SLA Drill holes are now drilled one by one and a warning is displayed when the operation fails. This will hopefully increase robustness when dealing with complicated or broken meshes .4b9de03 .. 3e5e020 A notification to save changes first is shown when attempting to slice or save the project during SLA support points editing. 3fd36f0 7057348 Fixed a possible crash when deleting an object during SLA support points editing (bug introduced between 2.2.0 and 2.3.0)#5736 macOS specific: Backspace in SLA gizmo now deletes selected points (like a delete would) and not the whole object, which was quite unexpected. b30a6d5 Project state #5671 #6212#5998#6473 Due to technical limits of internal architecture inherited from original Slic3r, PrusaSlicer did not have any concept of opened project. That is, it did not track whether current plater contents was modified since it was loaded etc. This led to desperate moments when a user closed the application and instead of being asked about unsaved changes, they would all be discarded without a warning. This release introduces this concept of edited project. When a 3MF is loaded and the objects are modified, an asterisk is shown in the title bar as an indication of unchanged changes in the project. This disappears after the changes are saved. Attempting to close the application, to open another project etc will open a dialog about whether the changes should be saved first. The currently edited project is reset to an empty project when a new project is created (File->New Project). A confirmation dialog is shown when there are unsaved changes in current project. While the plater content is still recoverable by Undo after opening a new project, the link to the previously opened project will not be recovered and the objects will be considered as parts of the new (unsaved) project. The same applies to 'Undo/redo', i.e., it undoes the action but does not change the correspondence to a project, so when you for example open project1, move object, open project2, undo and save, the content of project1 will be saved into project2. Also, creating New Project does not affect modified profiles. Modifying configuration parameters in selected profiles is also considered as a change in the currently active project. When attempting to close the application with such an unsaved change, the user would again be asked whether to save the project. In case they select 'Yes', the modified profile will be saved into the 3MF and the application will close. However, answering 'No' will close the unsaved project and the "Unsaved changes dialog" (introduced in PrusaSlicer 2.3.0) will pop-up asking whether the modification of the profile should be saved (not into the 3MF, but into the profile). Moving the object below the print bed #1513 We are newly allowing an object to be moved below the print bed to print just the part of the object above the print bed. Arguably this was already doable with the "Cut" tool, but the new way is much simpler to use and very handy for example if one just needs to flatten the bottom of an uneven object to be printable without a raft. We do not allow the object to be lifted above the print bed: Elevated objects are not printable without a raft and supports. If an object is not flat, raft shall be enabled for the object by the user. An object is either on the print bed or below the print bed. If an object is on the print bed, the software behaves as before: After rotating and scaling, the object Z position is adjusted to touch the print bed. On the other hand, if an object is partially below the print bed, scaling and rotation does not change object's Z position as long as the object is not elevated above the print bed. If an object is elevated above the print bed, it is again lowered to touch the print bed. There is also a new button "Drop to bed" at the object manipulation panel to move the object back to the print bed, however the same action may be done just by elevating the object above the print bed with the move gizmo and letting it drop back to the print bed. If the object is partially below the print bed, a white contour is drawn along the object - print bed intersection to indicate where the object will be trimmed. When manipulating the object with a move / rotate / scale gizmos or when hovering over the object with a mouse cursor, the white intersection contour is drawn not clipped by the object to make it easier to flatten an uneven bottom of an object. When in painting gizmo, the part below the print bed is being clipped and painting on the print bed clipping plane is not allowed. Moving objects below print bed is not allowed in SLA mode for now as it would make the placement of SLA supports confusing. Thus when switching from an FDM printer to a SLA printer, all objects below the print bed are being lifted to touch the print bed. Automatic Color Print for signs After slicing a sign object, a notification is newly shown in the G-Code preview informing that the object looks like a sign and that one may want to use the Color Print feature to manually switch the filament. If one agrees with the suggestion by clicking on the notification hyperlink, the color change events are inserted into the vertical scroll bar. This feature was proposed by @richrap, thanks for the suggestion. Shape Gallery #6703 We have implemented a Shape Gallery offering both system shapes distributed with PrusaSlicer installation and user shapes installed into user's configuration directory. The Shape Gallery could be used to insert a shape on the plater, as an additional part of an object or as a modifier similarly to how a built in shape (cube, cylinder, sphere) has been inserted by earlier PrusaSlicers. The Shape Gallery could be used for example to emboss a recycling code to the bottom of an object #4349, for loading Mickeymouse brims to augment brims etc. STL and OBJ files may be loaded by the "Add" button or by drag & dropping into the Gallery window. A thumbnail is generated for a user shape automatically, which is saved as an PNG image file, however the user may want to replace the generated thumbnail image with her/his own. The Shape Galery is not available in Simple mode. Windows Dark Mode #4493 Based on the popular request, we have implemented Dark Mode for Windows and we have also fixed the High Contrast mode #3038. While PrusaSlicer supports dark mode on OSX and Linux for some time already, Dark Mode on Windows was the one from the hard basket. PrusaSlicer's user interface is implemented using a wxWidgets multi-platform library, which wraps around the native controls the platform provides. On Windows, wxWidgets wrap around the aging Win32 controls, for which there is no official Dark Mode support provided by Microsoft since the introduction of the Dark Mode into Windows 10 in fall 2018. Unfortunately Microsoft just implemented an undocumented API for the controls used by Windows Explorer to switch to Dark Mode. If a Win32 control is not used by Windows Explorer main window, it is not Dark Moded and it never will be, and the API for those controls that are supported is not official, thus it may be changed without notice. We have done our best using the undocumented Dark Mode API and skinning of Win32 controls. We even implemented our own replacements for some Win32 controls, which were not skinnable, for example the tabbed notebook that we use to switch between the Plater / Print / Filament / printer profiles (this one fixes speed of switching the tabs on 4k displays #6309). Still some of the controls are not skinned properly, for example the scroll bars, status bar or the spin control buttons, thus PrusaSlicer may not look quite polished in Dark Mode. Therefore for now we decided to not switch PrusaSlicer into Dark Mode following the Windows system settings, but we are letting the user to select dark mode from Preferences using the "Use Dark color mode (experimental)" checkbox. We were inspired by the Notepad++ effort, which released its Dark Moded version just recently. We are using source code borrowed from Notepad++ interfacing with the unpublished Dark Mode API, which is based on this project. As far as we are aware of, Notepad++ is the only Win32 open source application which implements Dark Mode to a reasonable extent. As an alternative to the "tabbed notebook" control to switch between the Plater / Print / Filament / printer profiles, we newly allow these tabs to be placed into the application menu, which may be welcome on small laptop screens. "Did you know" aka "Tip of the day" notifications PrusaSlicer grows more powerful every day offering many unique features not found in other slicers. To streamline everyday slicing, many features are accessible through hot keys and keyboard modifiers (Ctrl / Alt + mouse key). We newly present "Did you know" hints inside a notification, often providing a hyper link to highlight a user interface element (toolbar button, configuration parameter) or to open a help page in web browser. The tips may be disabled in preferences, however we believe you will find them useful. Upload progress Many of our users run a small or not so small print farm, thus they may use a single PrusaSlicer session to slice and upload G-codes to multiple 3D printers in succession. To better support this workflow, we implemented the following improvements: The existing "Print Host Upload Queue" dialog newly supports sorting by columns and a file size column has been added. Size and position of the "Print Host Uplad Queue" dialog is newly persistent. A notification is popped up in the 3D view for each upload task initiated showing an upload progress. Thus in most cases one will not need to open the old "Print Host Upload Queue" dialog at all. Mesh simplification Sometimes the model imported into PrusaSlicer is excessively detailed, slowing down speed of user interaction, slicing and producing project files (3MF/AMF) of excessive sizes. We newly provide a model simplification tool based on Quadric Edge Collapse algorithm, thus our implementation produces similar results to Microsoft 3D Builder model simplification or to MeshLabQuadric Edge Collapse simplification tool. The simplification rate is controlled either by required level of detail (which internally uses estimates of maximum geometric error with respect to the original model) or by the fraction of triangles to be removed. A very high simplification rate may be used to achieve a "Low Poly" effect. Other UI improvements Confirmation dialog on "Delete All" was removed, it now works the same way as if the objects were removed one by one. The confirmation dialog had its purpose until Undo / Redo was implemented #3886. In addition to reloading an existing object or volume geometry from disk, PrusaSlicer newly allows to replace the geometry with a different file#3856. PrusaSlicer newly displays the decimal separators according to user's locales, while a dot was displayed before. "Split to objects" feature newly supports splitting a multi-volume object into multiple objects, while this feature used to split just a single volume into multiple objects before. If the object has multiple volumes, its volumes are assigned each to its own object. First after the object has a single volume only, "Split to objects" will split a volume into multiple disconnected objects if possible. Added border to filament color in right panel combo box to improve visibility of light filaments.#5914, thanks @scottmudge. Added possibility to compare configuration profiles (Window->Compare presets) 4cdcfe6 Added hot keys "1-9" for assigning an extruder number to an object or a volume with the keyboard focus at the object list, "0" assigns the "default" extruder. Similarly, a new hotkey "p" toggles the "printable" flag of the selected objects or volumes.#6216. The "Printable" menu item is newly available for multiple object selection as well 3a53606. macOS specific: Enabled the platform standard "Cmd+M" hot key to minimize the application. The "3DConnexion legacy set sensitivity dialog" hot key was changed to "Cmd+Shift+M" on macOS. The background of the XYZ fields in the "Object manipulation panel" may newly be colored with the color of the gizmo axes (red, green, blue). Configurable in Preferences by "Use colors for axes values in Manipulation panel", disabled by default#4931. Once the user paints support enforcers and supports are not enabled, a notification is newly shown suggesting to enable supports by clicking on a hyperlink#5307. Fixed minor text alignment issue in G-code viewer vertical scroll bar#6182. Multi-material specific: The "Color Change" dialog newly allows to generate random extruder swap sequences, producing a rainbow effect #1866. Settings of colors indicating the difficulty of configuration options (Simple / Advanced / Expert) was moved to Preferences to be easy to discover#5489. With the paint-on supports gizmo inactive, it is not clear whether an object has any supports painted. The similar applies to the painted seams, multi-material painted segmentation or variable layer height features. If any of these tools were used on an object, the fact is newly indicated at the object list by an extra line (clicking this line opens editing of the respected property, Del key can be used to remove it). Similarly it is indicated at the object list if an object is partially below the print bed (this is a new feature in PrusaSlicer 2.4.0-alpha1). In addition, we open a notification after loading a project indicating which of these features were applied to at least a single object. Updated MK2 & MK3 textures 57a73c5 Linux specific: PrusaSlicer defines icons for many menu items, however many Linux desktops are configured so that no menu icons are shown by GTK2/GTK3 based applications, most likely because these icons are often huge. PrusaSlicer newly forces GTK2/3 to always display its tiny icons in its menus ignoring desktop defaults. Other new features and improvements Zipping 3MFs now uses ZIP64 format, thus our 3MFs are no more limited to 4 GB of uncompressed file and total archive size. Because Microsoft 3MF implementation does not support ZIP64, we only use the ZIP64 extension if necessary #6193. Windows specific, upload to print host: If the upload is secured using a self-signed SSL certificate, the Windows system often refuses the self-signed certificate because it cannot check its revocation. PrusaSlicer newly allows one to suppress the revocation check #1781. Linux specific, also applies to Linux on Chrome OS: Desktop integration support (conditionally compiled) allows one to install desktop integration files (PrusaSlicer.desktop, PrusaSlicer-gcodeviewer.desktop and the icons) into user's desktop. The desktop integration is offered by the installation wizard and desktop integration may also be installed / deinstalled manually from the Configuration menu. Manual desktop integration is quite useful if one experiments with multiple AppImages of different PrusaSlicer versions, the last one for which the desktop installation is performed wins #1431. Bugs fixed UI bugs fixed OSX specific: Fixed handling of spin controls at the Purging Volumes dialog, the spin control values were sometimes not accepted #6056. Multi-material specific: Fixed crashing after decreasing number of printer extruders and accessing object popup menu#6094. Fixed inconsistency when copying an object, which is marked as not to be printed#5619. Linux / GTK specific: Fixed asserts emitted by the Platter preset combo boxes#5510. Linux / GTK specific: Fixed assert in installation wizard, on filament selection page#5152. Multi-material specific: After deleting all but the last volume from an object, the object's default extruder is newly initialized with the extruder of the last volume remaining. This has not been done before leading to the object being sliced with the extruder of the volume, while just the color of the object's extruder was shown in the object list. 03dee86 Linux / GTK specific: Fixed the "view" combo box at the bottom of the screen, which centered the active item around the mouse cursor, thus often pushing most of the combo box items out of the screen. This is an unfortunate behavior of GTK Choice control, which we have now replaced with a Combo Box control#6110. Fixed installation wizard issue newly introduced in wxWidgets 3.1.4, where the spin controls to define nozzle and filament diameters did not accept commas. Worked around by replacing these spin controls with text inputs. Linux / GTK specific: Fixed surprising opening of an edit field when one pressed a letter key with the object list focused b87c03f. Fixed a rare crash when deleting last object from plater 0c7095d. Windows specific: Fixed focus issue after closing a "parameter validation error" message box and returning the focus to the parameter page 3c37aed. Linux / GTK3 specific: Fixed insufficient height of combo boxes on the plater side panel #5163#5505. Fixed copy / paste of multiple objects with different attributes assigned (for example with different infill rate) leading to "Unsupported Selection" error#5517. Fixed extrusion width validation logic in case the extrusion width was specified wrt. layer height#4631. Fixed updates of combo boxes: Enter key did not make the combo box to accept a new value, thus the slicing back-end was not being updated#6692. Fixed crash when trying to open a pop-up menu of one modifier while parameters of another modifier were editable at the side panel. This was a regression since PrusaSlicer 2.3.0#6782. With the settings configured as floating in its own non-modal window and with the non-modal window minimized, selecting a settings page with the Ctrl-2/3/4 hot keys or from the PrusaSlicer menu did not restore the minimized window. This is now fixed#6548. Installing / uninstalling filaments or SLA materials using the Configuration Wizard did not work reliably#6436. Fixed a glitch, where editing the top solid infill type and speed was disabled in vase mode #4241. Presets Fixed a loophole in PrusaSlicer, where the user was allowed to save his own profile name under the name of a system profile alias (aka symbolic name). For example, user was able to save the "0.2mm QUALITY @MK3" profile as "0.2mm QUALITY" user profile, which is the symbolic name of the system profile#5638. Fixed a crash when importing a config bundle as a config file. This was broken for multi-material configs with different filament profiles selected.#5825 Fixed reload from disk after a project is loaded from a 3MF. Reload from disk worked for a fresh project, but for a project loaded from 3MF the "reload from disk" feature did not reload a geometry at the same position and scale#5541. Reload from disk was not available for geometries imported from a 3MF or AMF format (for example if the 3MF or AMF was exported from SolidWorks) #5071. Fixed storing of "pause print" custom G-code message into a project file. The "pause print" message was correctly emitted into G-code for a fresh project, but not after the project was loaded from 3MF #5888. Fixed activation of printer specific "default" print / filament / sla print / sla material profiles after the first printer ever is installed by the Configuration Wizard. Fixed storing / loading of the list of printer profiles associated with a Physical printer profile. printer profile names containing semicolons or leading / trailing spaces were not handled correctly. The list of printer profiles is saved using an old "preset_name" config key the old unreliable way for compatibility with PrusaSlicer 2.3.3. In addition the list of profiles is stored in a robust way using a new "preset_names" key #5503. Implemented automatic conversion from meters to millimeters on loading of extremely small objects, which most likely were exported in meters. Also new menu items were added to convert from / to meters manually #4521. Fixed loading of project files referencing system profiles, which are not installed at the target machine. In that case the old PrusaSlicer activated some random profiles, while the new PrusaSlicer temporarily installs the missing profiles until PrusaSlicer is closed and the user is being informed with a notification. Other bug fixes Windows specific: Fixed "Fix by Netfabb" for scaled volumes, which were scaled twice after they were fixed. Windows specific: ASUS and MSI install applications, which use libraries from Nahimic. These Nahimic libraries are then injected into our PrusaSlicer on start-up and they lead to a crash of PrusaSlicer on start-up on some dual screen setups. We were not able to fix the issue as we were not able to get our hands on such a system, thus we implemented detection of black listed DLLs being injected into PrusaSlicer, we report them and advise to disable those services. Also the black listed DLLs injected into PrusaSlicer are being shown by the System Info dialog #2142#2522#3689#4793#5091#5573. Linux specific: Fixed invocation of PrusaSlicer by referencing prusa-slicer binary with a $PATH variable or symlink #5542 #5751. Fixed command line slicing with no printer technology (FDM or SLA) specified. Slicer should slice in FDM mode when no printer_technology is provided. This was broken between 2.2.0 and 2.3.0 (1bffc2b), where 2.3.0 sliced in SLA mode by default, but saved the output as .gcode #5029. Fixed crash in arrangement when the polygons to be arranged contained duplicate points #5749. Fixed parsing of --scale-to-fit command line parameter, reworked the scaling algorithm and placing objects to bed, which have been broken since PrusaSlicer 2.0. Also added a new command line parameter '--ensure-on-bed', which is 'true' by default: When an object is placed on the print bed, it is being aligned in Z to sit on the print bed, which corresponds to what the PrusaSlicer would do when an object is imported into the UI #5772, #6788. Fixed crash when splitting models from command line using the '--split' command line parameter and empty meshes are created during the splitting #5979 #5991thanks @combolek. Initialization of PrintConfig derived classes was not thread safe #6475, thanks @supermerillfor pointing out that issue. Fixed deadlock when canceling the slicing while gcode is creating thumbnails #6476, thanks @supermerillfor pointing out the issue. New 3rd party printer profiles Added gCreate gMax printer profiles, thanks @gordo3di Localization Dictionaries for CZ, DE, ES, FR, IT and PL were updated by Prusa Research.Contributors are welcome, please check the localization guide Korean localization update #6314 thanks @ulsanether. Architecture, infrastructure We removed libglut dependency, which is one little step forward to deprecate legacy OpenGL. We updated ImGUI to version 1.83 to support localized decimal separator (dot versus comma). Windows specific: Enabling /utf-8 on MSVC should fix compilation errors on Chinese Windows #5583. Windows specific: Visual Studio newly supports Address Sanitizer. PrusaSlicer newly supports ASAN builds on Windows using the -DSLIC3R_ASAN=on CMake switch the same way as on POSIX platforms. We have fixed huge number of compiler warnings. We are striving to keep our builds warning free on all major platforms. OSX specific: We increased the minimum required OSX version from 10.9 to 10.10 due to an update of wxWidgets, that does not compile on OSX 10.9. CMakeLists was updated to require MINIMUM_BOOST_VERSION 1.66.0 due to Base64 dependency #3375 #5508thanks @pmjdebruijn. When compiling wxWidgets as a static dependency, wxMediaCtrl support is no more compiled in as we don't need it and wxMediaCtrl requires unexpected compile dependencies on Linux #5815 #6160. Linux / GTK specific: Fixed compilation against wxWidgets 3.0 #5752 thanks @sebastianha. Updated boost version from 1.70.0 to 1.75.0 due to an issue with newest Xcode / clang incorrectly reporting that it supports __cpp_lib_uncaught_exceptions while it does not if targeting older platforms. This issue has been worked around first in boost 1.74.0. When building static dependencies, the dependency script used to always download sources from internet. Because the Linux / Snap build system prohibits internet connection, we extended the build system to build dependencies with no internet connection by specifying a DEP_DOWNLOAD_DIR pointing to required source code packages already downloaded. Updated the Catch2 framework from v2.13.3 to v2.13.6, fixes compilation on Fedora Rawhide #6518 thanks @ausil. Fixed boost dependency URL as the original host's lifetime has ended #6349 thanks @krisrok. Some components of Thread Building Blocks (atomics, mutexes) were recently deprecated with standard library equivalents #6590 thanks @zavorka Add a simple Windows command-line build script (#6674) thanks @jshuh Linux specific: Fixed FHS install dirs #5930 thanks @dimitry-ishenko. Documentation Linux build instructions were improved #5042 thanks @cpinamtz macOS build instructions were improved #6047thanks @Bougakov. Windows build instructions were improved #3743#5069#6111thanks @AndreasReitbergerand @Drachenkaetzchen. Localization guide was updated aa19870. DOWNLOAD;
3.10.1 Firmware for MK3, MK3S, MK3S+, MK2.5 and MK2.5S   29 Relevance 4 years ago Same Old Shane General discussion, announcements and releases
  Hello all!We are happy to announce the release of the new 3.10.1 firmware for our MK series of printers. All the information, download, and installation instructions are below. 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 Arduino boards definition updated Build script updated Algorithm for reading SN in EEPROM improved Spanish translation fixed Firmware version parsing removed Bug fixes This is the final release of firmware 3.10.1, which introduces improved functionality and several bug fixes. These release notes also include information provided in the previous release RC1. Before we describe all the new features, improvements and changes, we would like to thank the entire Prusa community members for their feedback - especially @gudnimg and @Panayiotis-git who helped us test and debug this firmware release. Your input is very much appreciated! 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. Arduino boards definition updated The developers have merged several pull requests from the community. These commits changed the logic for parts of the code that are dependent on the board version, moving that dependent information directly to the boards.txt file. This simplifies the board version-dependent actions to be done by the compiler and makes them more transparent. Other compilation optimization changes have been made as well. This will not change the printer functionality but the built code quality and bug tracking is improved. The board definition was updated to v1.0.4. For more detailed information, see please links below: prusa3d/Arduino_Boards#8 prusa3d/Arduino_Boards#10 prusa3d/Arduino_Boards#11 prusa3d/Arduino_Boards#12 Build script updated For our community members, who besides printing also enjoy coding, we have updated our build script to version 2.0, which focuses on improving the MK404 project, which is an MK3 printer family simulator. Adding this project to the PF-build.sh will enable users to compile the Prusa-Firmware and immediately start the simulator with the correct hex file and correct printer. The credit for this great simulator goes to VintagePC. 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. Bug fixes Temperature display glitch This bug is related only to 3.10.1-RC, where after a manual filament update the printer might display the hotend temperature at the top row of the screen, even though the user was in a different part of the menu. We would like to thank user Panayiotis-git for reporting this issue and providing a suggestion for a fix. More information can be found in the following pull requests PR#3214 and PR#3303. Build error if TMC service code is enabled fixed In case you are building your own firmware from the code with parameter TMC2130_SERVICE_CODES_M910_M918, then the build process resulted in an error. This bug was introduced recently to 3.10.1-RC. We would like to thank user gudnimg for reporting this issue and providing a suggestion for a fix. More information can be found in the following pull requests PR#3285 and PR#3304. This fixes the issue #3284. Premature file list closure fixed In certain scenarios, the folder/file list opened and closed immediately after the SD card was inserted, which required the user to reinsert the card again. This was happening due to a timeout and the current fix is making sure lcd_timeoutToStatus.start() is called in the specific case when the SD card is inserted into the printer after it was removed beforehand. We would like to thank again user gudnimg for reporting this issue and providing a suggestion for a fix. More information can be found in the following pull requests PR#3269 and PR#3305. Occasional missing error message In the initial release 3.10.1-RC1 our testing team was able to achieve a specific scenario (either Preheat error or Thermal runaway), when the printer correctly turned off the heating, but the error message was not displayed. The developers have found and fixed this issue. "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. Please report any bug here: Download Link: How to flash the firmware: As always, we wish you happy printing!
PrusaSlicer 2.2.0-alpha2   28 Relevance 6 years ago Jakub Dolezal PrusaSlicer
  Hi guys, This is a new testing release of PrusaSlicer 2.2.0-alpha2 introducing many new features. This version is recommended to experienced users. What is new? These release notes are a mix of the alpha1 and alpha2 release. Please install the alpha2 version since it includes several bug fixes. Support for third party 3D printer vendors Filament installation, filament & print preset aliases (logical profile names) Insert pause or custom G-code at a certain layer Color Print for MMU2 Adaptive Elephant foot compensation Automatic variable layer height Wipe tower without sparse layers 3dconnexion SpaceMouse(r) support SD eject, Save to SD Reload from disk Better path planning SLA Pad around object enhancements Other new features and improvements Translations Bugs fixed (alpha1 & alpha2) Architecture, infrastructure Known issues What is in the working This is the first alpha release of PrusaSlicer 2.2.0, introducing support for 3rd party printer vendors, filament installation, pause at height, Color Print for MMU2, adaptive elephant foot compensation, automatic variable layer height, wipe tower without sparse layers, 3dconnexion support, OSX dark mode, export to removable media and eject, reworked Reload from disk and path planning, 3MF thumbnails, Flash Air support, Japanese translation and much more. To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. The PrusaSlicer 2.2.0-alpha1 brings the following new features: Support for third party 3D printer vendors We have extended the Installation Wizard and configuration layer to support 3rd party 3D printer vendors. A 3D printer vendor may provide a versioned Config Bundle to us. We will store these 3rd party Config Bundles into resources/profiles directory of PrusaSlicer, and once any of the 3rd party printer is installed, PrusaSlicer will pull updates of these Config Bundles from the internet. For starter, we have created profiles for the Creality Ender-3 printer. Please consider this profile experimental, we expect the community members to build upon our initial draft. We will publish a guide for contributors on how these Config Bundles are structured and how to contribute them. Filament installation, filament & print preset aliases (logical profile names) PrusaSlicer stores the Print, printer, SLA Print and SLA materials in separate lists and the names of the profiles are required to be unique inside their respective groups. For example, a "Prusament PLA" profile is used by the "MK3S" and "MK2S MMU1" printers, while a "Prusament PLA MMU2" is used by the "MK3S MMU2" printer due to different MMU ramming parameters. Before this release, the full "Prusament PLA MMU2" profile name was shown at both the Plater and at the Filament parameter page. Starting with this release, a shorter "logical name" aka "alias" is shown at the Plater, while the full profile name is shown at its respective parameter page. The "logical name" aka "alias" is defined in two ways: First, the "@" sign in the preset name is interpreted as a separator of a logical name from the full name. For example, the full Print profile name "0.15mm QUALITY MK3" has been renamed to "0.15mm QUALITY @mk3" (the difference is in the @ sign), and the part before the @ sign - "0.15mm QUALITY" is considered a logical name. In a similar sense, the "Prusament PLA MMU2" has been renamed to "Prusament PLA @MMU2", so that a logical name "Prusament PLA" applies to both the MMU and non-MMU variant of the filament profile. The second way to assign a logical name to a profile without the use of the "@" sign in the profile name is through an "alias" configuration value of a profile. Starting with this release, the Filament and SLA Materials provided by various 3D printer vendors may be installed in a similar way to how the printers are already installable. The filament and SLA materials are referenced by their logical names in the installation wizard, so one filament or SLA material profile is being installed for multiple installed printers at once. Insert pause or custom G-code at a certain layer The Color Print tool is highly praised as extremely easy to use and intuitive, but until now it only supported filament switches and it was limited to single extruder printers. Based on the feedback from our customers and the community, we generalized the Color Print tool to support print stops to insert magnets, weights, bearings, nuts or a custom G-code. Color Print for MMU2 Color Print newly works with MMU2 as well. There are two use cases for this new feature: Printing signs unattended. Here a filament switch event is inserted at a selected layer height, which will trigger the MMU2 unit to switch filaments automatically while wiping the extruder into a wipe tower. In this scenario there will be just a handful of filament switches performed, therefore many layers of the wipe tower will be printed with sparse layers. Check the other new feature "Wipe tower without sparse layers" on how to reduce material waste and print time when printing with MMU2 Color Print. Extending the number of colors of MMU2 prints above 5. One may assign a single extruder to two parts separated in Z axis (for example shoes and eyes of a standing figure), and then plan filament exchange (M600 G-code) in between. The Color Print also newly supports generating color bands at regular intervals: Adaptive Elephant foot compensation The Elephant foot compensation feature shrinks the contours of the first layer FDM slice inwards to compensate for the first layer squash. The first layer squash is often ugly and it complicates fitting of multiple printed parts together, therefore quite often the elephant foot needs to be filed or scraped off after the print, which is a tedious process and which may negatively influence accuracy and surface quality. While PrusaSlicer implements the Elephant foot compensation for a long time, it was used much less than it deserves due to the following drawback: The old algorithm shrank the first layer contours evenly, thus shrinking thin protrusions as well as large areas, leaving the thin protrusions unsupported. This PrusaSlicer release brings an adaptive version of the Elephant foot compensation, which ensures, that no area is made narrower than the width of two perimeter lines, minimizing the necessity of post-processing of the print while ensuring good print adhesion to the print bed. Automatic variable layer height We have added automatic initialization of the smooth variable layer height profile to PrusaSlicer. The adaptive variable layer height profile algorithm may not always produce the desired result. One wants to make sure the salient features of an object are printed accurately, while hidden cavities may be discretized coarsely to print faster with little effect to print quality. We, therefore, let the user to initialize the smooth variable layer height profile automatically with a button from the smooth variable layer editing tool while allowing the user to adjust the proposed layer height curve manually. We have experimented with various metrics for surface quality. The metrics by Florens Wasserfall et al. implemented in Slic3r limits the maximum discretization error (largest Euclidean distance of the stepped surface from the source model), while Cura limits the maximum distance of contour lines in the XY plane, producing more intuitive results than the metric by Waserfall. In the end, we have implemented yet another metric, limiting the cross-section area between the stepped surface and the source model. The following graph shows the layer height limit of various metrics depending on the surface slope: Wipe tower without sparse layers The Wipe tower generator newly supports skipping the sparse layers (layers without a tool change), thus saving material and in almost all cases reducing the print time. On our set of multi-material projects, this feature reduced the total print time by 3.16% and the filament deposited on the wipe tower was reduced by 16.17%. As PrusaSlicer currently does not check for collisions of the extruder with the printed object when lowering down to the top of the wipe tower, this feature is marked as experimental, and it is recommended to place the wipe tower to the rear right corner of the MK3S's print bed, while the object is placed to the opposite corner. The wipe tower without sparse layers feature is very useful together with the newly introduced Color Print for MMU2, where only a handful of filament switches are needed to print a colored sign unattended thus saving a lot of material compared to a full wipe tower. 3dconnexion SpaceMouse(r) support We have added support of 3dconnextion SpaceMouse(r) devices for camera manipulation in the 3D scene. We have tested three generations of the device: Space Navigator(R) (Wired), Space Mouse(R) Wireless and SpaceMouse(R) Pro Wireless. On Windows, both wired and wireless connection works, while on OSX only wired connection works, and we have mixed results on Linux (sometimes wireless works, sometimes wired works). On Linux, one needs to install the 90-3dconnexion.rules file into the /etc/udev directory for the device to be accessible by a regular user. The 3D mouse sensitivity may be set from a dialogue, that pops in the 3D scene on Control-M key press. We were unable to get the drivers, API description or any other support from the 3Dconnection company. If you believe that we at Prusa Research could do better integrating the SpaceMouses devices, please bug the manufacturer to provide us with the necessary support. Otherwise, we are left with googling of what others managed to reverse engineer or do the reverse engineering ourselves, which is likely not the most efficient use of our time. SD eject, Save to SD When exporting G-code, the file dialogue is newly initialized with a path to an SD card or USB flash drive if detected. If multiple SD cards or USB flash drives are detected, the file dialogue is opened at the last visited removable media. Once a G-code is exported to a removable media, an "Eject" button is shown next to the "Export G-code" button. Reload from disk #552 #1471 #1890 #1996 #3075 The "Reload from disk" feature has been fully reworked for this release. Now full paths of the imported geometries are remembered for each volume. If geometry is imported from a 3MF / AMF file, then full path of the 3MF / AMF is remembered including the index of the object and object's volume in the source 3MF / AMF file. The "Reload from disk" action may newly be called on multiple selected objects from the pop-up menu. If the referenced files are moved thus not found, the "Reload from disk" feature will ask for an alternate path on loading and the new path is remembered. Please note that the following operations break the link to the source geometry file: Split to Objects, Split to Parts, Cut by Plane, Anisotropic scaling along arbitrary axis (not X, Y or Z). Better path planning #375 #409 #1942 #2713 We have reworked the path planning algorithm in PrusaSlicer to produce shorter paths with fewer travels. Optimal path planning is NP hard, thus one will hardly achieve a perfect solution in a reasonable time, though some heuristics are better than the others. The issue is complicated by the fact, that the slicer has to chain segments, not points as in the case of the Traveling Salesman Problem. Until now, PrusaSlicer used the simplest heuristics possible: Add the next closest point to an existing path. The new path planning algorithm starts with a Multi-fragment approximation, which is then improved with 2-opt exchanges, generating a shorter path in general. A couple of bugs were fixed as well (infill path planning for islands inside holes of other islands, path planning for multiple object instances). SLA Pad around object enhancements SLA Pad generation received an upgrade which enhances its shape and makes more accurate deduction of its geometry when used with zero elevation (pad around object feature). Parts of the pad which don't host any supports are now reliably removed. If the pad shall be used as a brim around the printed model, a checkbox is added to force the pad everywhere. The following new parameters were added to control the pad: pad_around_object_everywhere: Force parts of pad not occupied with supports pad_brim_size: How far out should the pad stretch. Other new features and improvements OSX Dark Mode is newly supported by PrusaSlicer. The dark mode seems to work on one of our co-worker's Linux box. On Windows, we are waiting until Microsoft finishes Dark Mode API for Win32 controls. The 3D scene thumbnails are newly stored into the 3MF and SL1 files. The 3MF thumbnails are shown by Windows File Explorer #3252. The SLA slicing statistics newly shows the print weight and cost based on the following new SLA material properties: bottle_cost, bottle_volume, bottle_weight and material_density. The skirt is newly allowed to overlap with the brim, so that the skirt used as a wind draft shield is stabilized by the brim. Brim lines are split at the intersections so there is no overextrusion #724. Color bars are newly painted in the extruder selection combo box at the object list and at the MMU purge amount dialogue #1484. The Gyroid and 3D honeycomb infills were reworked, so that their infill lines now follow the perimeters as in the case of grid and cubic infills #1690, thanks @supermerill. The Gyroid infill discretization was reworked to produce less segments thus shortening the G-code and printing smoother on low power 3D printer control boards #1690, thanks @wavexx. A new [total_toolchanges] placeholder is supported for the output filename and custom G-code templates. The statistics section at the end of the GCODE has been extended with the number of tool changes as well #1775, thanks @BryanSmithDev. Added FlashAir support for host upload #2215, thanks @stephanr. When slicing from command line, the object is newly centered around the center of the print bed shape if available #2424, thanks @luketaverne. Generic box / sphere / cylinder objects may newly be added to the plater by right clicking at an empty space in the 3D scene or at the object list #2865. The G-code preview newly supports coloring by fan speed #2922, thanks @jschuh. Translations Japanese translation is provided by Prusa Research, Brazilian Portuguese translation has been submitted by @BoaImpressao3D. The following languages are being translated by PrusaResearch: cs, de, es, fr, it, ja, pl. Dear contributors, please provide localization updates for the other languages. Bugs fixed - alpha1 Fixed spurious infill below bridges in case the infill density was set to 0% #442. Fixed unnecessary splitting of infill regions by a modifier mesh, if the modifier mesh does not influence infill parameters #1005. Fixed missing anchors for bridges in case the infill density was set to 0% #1185 #1301 #2686. Fixed crash with multi-material prints requiring a wipe tower, where one object was fully separated from another object with a vertical gap to be filled with supports #1266 #2258. Fixed spurious gap fill inside the inner most perimeters for infill density 0% (which also applies to Vase mode) #1476. Fixed some unexpected bridging issues due to a missing update of the slicing back end in case the support is enabled / disabled while the soluble supports are configured, as the bridging is disabled for soluble supports, while the bridging is enabled with supports disabled #1482. Fixed compilation of OSX dependencies #2264. Fixed missing update of the slicing back end when the "Bridge flow ratio" is changed #2359. The brim path newly takes into account the wipe tower #2378, thanks @tcm0116. Fixed G-code export on Linux and OSX to permissionless filesystems as FAT32 or Samba #2521 #3102. Fixed a crash when slicing an object standing on a narrow edge or a pointy tip, where the first layer would produce an empty layer. Such situation is newly detected and an error is emitted stopping the slicing process. In the future versions we may try to lower the object and continue slicing #2581. a co #1479? Fixed a buggy check in single-extruder multi-material mode, which prevented usage of layer range parameter modifiers when printing multiple objects #2835. Fixed arrangement of objects larger than the print bed #2897. Fixed one more issue of the admesh library on big endian architectures #2879. Fixed validation of the layer height parameter: Maximum allowed layer height now defaults to 3/4 * nozzle_diameter if the extruder maximum layer height is not specified #2892. Fixed a crash when downloading the latest PrusaSlicer application version from the Internet and garbage is returned by a proxy server #2927. Fixed an unreliable numeric entry into the layer height table, where the number sometimes reverted to the old value on enter #2946. Increased the maximum range to account for large custom print bed or printer models #2948. Fixed crash on update of 3D print path preview with no retractions #2988. OSX specific: Fixed an old issue, where sometimes the first column of the object list was extremely narrow initially #1774 #1927. Fixed an assert in "Set number of instances" #2953. Fixed deselection of an object in the 3D scene after adding an instance with autocenter active #2972. Fixed a crash on arrange #2973. Fixed a crash when deleting an object from the plater #2977. Replaced "mm3/s" with "mm³/s" in UI texts and localizations #2978. Fixed a crash when holding the Shift key and clicking on an empty space in the object list #2997. Fixed color change update after changing layer height. Not all color change events were adjusted to the new layer heights and it was not possible to remove them #3002. Fixed missing or disappearing print bed texture on some computers: The maximum size of the texture allocated for the print bed is now limited to half of the maximum texture size reported by the OpenGL driver, and the print bed texture mip map is calculated down to the 1x1 size #3008. Fixed processing of G92 code (set offset of coordinate system) by the G-code analyzer, fixing 3D print path preview #3010. Implemented M132 code (load the current home position from EEPROM) for Makerbot to fix 3D print path preview #3108. The single-extruder multi-material wipe tower generator newly emits the M220 B/R codes for Marlin firware only. Also a pull request has been accepted by upstream Marlin to implement the Prusa3D M220 B/R G-codes. Fixed some crashes at the object list, where some menu items shown in a context menu for an object instance were not applicable to an instance #3275. Fixed G-code preview for the Machinekit and Mach3/Linuxcnc firmware flavors, which use the A axis for the extruder instead of E #3287. The bundled avrdude has been updated from upstream to fix the use of deprectated gethostbyname() function #2918. Fixed clipping plane visualization in SLA support gizmo for mirrored objects. Bugs fixed - alpha2: Fixed crash on OSX Dark Mode #3342. Fixed export of G-codes. The G-codes are newly stored with a .tmp extension when exported onto a removable media and verified before renaming to a target file name. We have introduced this procedure to lower the risk of failed prints when a cheap removable media is used, or when the media is removed too early. There was a bug in the first alpha, where the temp file was not being renamed correctly #3343. Fixed crash when switching infill to 100% due to an incorrect format of localized text of Italian, French, Spanish, Ukrainian and Traditional Chinese #3366. Fixed minimum supported OSX version number declared by PrusaSlicer. The minimum OSX version was set to 10.14 by mistake, it is now set to OSX 10.9 Maveric as in previous PrusaSlicer versions. Architecture, infrastructure Starting with PrusaSlicer 2.2, we are fully supporting C++17 on our build servers and we are encouraging our contributors to use C++17 features. We are using the following tools to build PrusaSlicer: Visual Studio 2019 on Windows, supporting Windows 7 and newer. Xcode 11.1 on OSX with OSX 10.14 SDK and the minimum supported OSX version (aka depolyment target) 10.9, supporting OSX 10.9 and newer. Linux builds are built on CentOS 6 with devtoolset-7 (gcc 7.3.1), thus producing binaries compatible with most of current and long term support Linux distributions. We have introduced a testing framework Catch2 and we have started to use it actively for new development. Many unit tests testing libslic3r were ported from the upstream Slic3r, thanks @lordofhyphens. We newly test our OSX and Linux builds internally with the Address Sanitizer enabled. The Address Sanitizer builds (aka ASAN) allow us to catch subtle memory access errors much quicker than before. We will test ASAN builds on Windows once Microsoft finishes their Address Sanitizer support in Visual Studio. Known issues The "Reload from disk" feature requires the paths of the imported objects to be stored into the project file. When sharing such projects on PrusaPrinters, Thingiverse or elswhere, some people may consider sharing paths of their hard drives or company shared drives a security risk. We will provide a way to disable storing the paths into the project file by default, and we will provide a way to export a 3MF file without the paths if the full paths are stored by default. We plan to make the ColorPrint feature for MMU2 a bit more intuitive to better fit the two distinct MMU2 use cases (unattended sign prints versus muti-colored objects printed with more than 5 colors). The automatic redirection to the removable media when exporting a G-code may not always be wanted. We will add a way to save to a non-removable media eve if a removable medium is plugged in. We have renamed many Print, Filament and SLA material profiles due to the introduction of logical names, which breaks the "derived from" property of user profiles and profiles stored into project files. We plan to add a list of "renamed from" profile names to the preset profiles, so that these "derived from" links between profiles are maintained. What is in the working We are working diligently on hollowing for SLA. The feature did not make it yet into the first alpha as it turned out to be quite a tough one, but we are positive we will finish it for the 2.2 final release. We are also working on a Raspberry PI 4 build of PrusaSlicer. Supported printers: Original Prusa i3 MK3S MMU2S Original Prusa i3 MK3S Original Prusa i3 MK3 MMU2 Original Prusa i3 MK3 Original Prusa i3 MK2.5S MMU2S Original Prusa i3 MK2.5S Original Prusa i3 MK2.5 MMU2 Original Prusa i3 MK2.5 Original Prusa i3 MK2/S MMU1 Original Prusa i3 MK2/S Original Prusa SL1 Original Prusa MINI (new) Download link: github.com/prusa3d/PrusaSlicer/releases/tag/version_2.2.0-alpha2 Please report any bug here: github.com/prusa3d/PrusaSlicer/issues We look forward to your feedback!
Firmware 3.9.1-FINAL for Original Prusa i3 MMU2S   26 Relevance 6 years ago Jakub Dolezal General discussion, announcements and releases
  Summary Major improvements to LA15 Support for parts from selected vendors Ambient temperature check PC Blend preheat added Stack corruption fixed More precise Belt test Octoprint causing M112 fixed This is the final release of the firmware 3.9.1 introducing improved functionality and several bug fixes. These release notes include information provided in the previous release 3.9.1-RC1. Before we dive into the detailed description, we would like to thank the entire Prusa community for the feedback, and our special thanks go to all active members, who helped us with this firmware release. Your input is very much appreciated! This release required: 350 different samples of print objects 1500+ printing hours of the final tests 20 pull requests 95 commits over 20 participating community members Major improvements to LA15 The Linear Advance 1.5 (LA15) functionality was first introduced in the firmware release 3.9.0 and brought several improvements both to the print speed and quality. However, in certain scenarios, the algorithm didn't perform as expected during deceleration, leaving artifacts on specific geometries. The issue was discovered in a bad timer check, which prevented fast LA ticks to be scheduled, effectively limiting LA as speed increased (such as in long stretch of perimeters or during infill) or with shorter intervals due to geared extruders (commit 173aa2d). This also combined with a bad sign check that would cause over-retraction as extrusion speed/nozzle size increased (commits c08f37d & fb5f09d). Several other tweaks were done to improve the print quality in specific scenarios and also to reduce CPU load allowing for better results with either high-resolution models or faster printing speeds. See PR #2785 for a detailed list. After several weeks of tests and hundreds of printed objects, it was clear that aside from fixing the above-mentioned issues, the K-factors also needed adjustments. This has affected not only the LA15 K-factors but also the “LA10 to LA15” conversion curve. Here are the most important changes: The start K-factor is now K10 => K0.01 (the previous minimum was K15) For PLA K30 => K0.05 (previously K=0.07, optimal range is 0.045-0.06) For PETG K45 => K0.08 (previously K=0.13, optimal range* is 0.07-0.11) *Based on the observations, the PETG optimal K-factor values depend greatly on the material composition (e.g. Prusament PETG differs from other PETG material) and also the temperature of the hotend/nozzle plays an important role. More information below. The G-codes sliced in PrusaSlicer since March of 2020, might include K-factors for LA15, which are updated with this release. Therefore it is strongly recommended to update the G-codes from this time period. First, make sure you are running the latest PrusaSlicer and print profiles, then you have two options: Use the original model (.stl. .3mf) and reslice it again. Open the G-code in a text editor and change the values for M900. Example of PETG:Replace all M900 K0.13 with MK900 K0.08 Older G-codes with Linear Advance 1.0 (K-factors greater than 10) remain unaffected and will be converted correctly to the LA15 using the new conversion curve. The results of our research can be seen in the two pictures below, the first with blue test objects is representing the PLA material with two different K-factors. Setting the K-factor too high can lead to missing material or distorted corners in certain geometries. An even stronger effect of the K-factor can be seen while experimenting with the PETG. The picture below shows the corners of four different boxes printed with individual K-factors. Even a relatively small numerical change (0.12 vs 0.08) can have a great effect on the final print quality. We will continue testing improving the LA15 and its capabilities and for most of the cases, the firmware together with the PrusaSlicer should provide correct parameters. Therefore no user calibration is needed. However, we can't test every available material on the market. In case you are using exotic material, or you are unsatisfied with the print results, we have created calibration patterns, which are used to help you select the most suitable K-factor for a given scenario. To learn more about the K-factor calibration, please visit our article at help.prusa3d.com. Support for parts from selected vendors The Covid-19 virus is negatively impacting worldwide supplies and in order 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. This has an impact on the firmware, which must be capable of automatic detection and adjustments based on the used part. One example is the hotend cooling fan, located on the side of the MK3S extruder. Because different fans from different manufacturers have their own specific speed (RPM) and airflow, starting with this release, the firmware is capable of adjusting the parameters using a technique called pulse-width modulation (PWM). This brings some challenges, which are explained below. For a printer with stock parts, there are no visible changes to the firmware and no user interaction is needed. When a printer is run for the first time after the assembly, the firmware will automatically detect the fan and set appropriate PWM. This value is stored permanently in the EEPROM memory, stays the same after future firmware updates, and can be only deleted after performing a factory reset. For modded community printers using different than stock fans, this firmware update will not change anything as stated in the previous paragraph. The only scenario, when the user has to intervene on the modded printer might be after the factory reset when the printer will try to recognize the fan and set the PWM, which might affect the fan's performance. For this scenario, we have prepared a solution in the form of a hidden service menu. To turn the PWM off and run the fan on 100 % like in the previous firmware releases, 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 “service menu” will be opened, where you will see the option “Altfan detection” (Altfan det.) and you can toggle between ON/OFF. Note that setting a custom value of the PWM is currently not possible. Ambient temperature check (MK3S/MK3) Every Einsy board is equipped with an NTC thermistor, which is used to measure the surrounding ambient temperature. The sensor is located right above the main power connector at the bottom of the board. This release is introducing two error states, that can occur “AMBIENT_MINTEMP” and “AMBIENT_MAXTEMP”. The “AMBIENT_MINTEMP” is used to check whether the thermistor works properly ensuring that the second “MAXTEMP” state will be triggered correctly. In a rare case, when this error is displayed, the printer will halt any operation and the Einsy board must be checked by a technician and possibly replaced. Don't operate the printer, until the problem is resolved. The “AMBIENT_MAXTEMP” is set to 100 °C, if this temperature is reached, the printer will immediately cut power to the heaters and motors to reduce power draw. Resuming the print is not possible. The only allowed operation is resetting the printer, the user is also highly advised to inspect the board for problems before attempting to continue printing. PC Blend preheat added The list of preheat materials is now expanded with the polycarbonate Prusament PC Blend (“PC” in the menu). The default preheat values are 275 °C for the nozzle and 110 °C for the bed. To learn more about this material, please visit our blog article. Side note to Linear Advance 1.5, the optimal value for this firmware is currently K=0.07, for the previous releases (3.8.1 and 3.9.0) please use the PrusaSlicer profiles, where K=0.09. Stack corruption fixed A bug has been discovered in the temperature and filament sensor interrupts that could unpredictably cause the return address to be corrupted and result in a system crash. The root of this issue seems to be the "Static memory overwritten" error messages randomly happening when stepping at high frequency (when ISR is preempted more frequently) and a number of other infrequent and hard-to-reproduce issues such as inexplicable extruder moves. See PR #2791 for further details. More precise Belt test (MK3S/MK3) The Belt test was improved in the previous release 3.9.0 in order to make the measurement process more sensitive and detect any degradation of bearings and rods in the early stages. During the Belt test, the Trinamic stepper motors are supplied by lower current value in comparison with standard operation. The built-in StallGuard function (detecting the movement resistance by an increase of motor current) is, therefore, more sensitive. This change to the sensitivity might lead to slightly different values measured by the printer compared to measurements done in the past. However, the range is the same as in the previous releases, your printer should be still within 240-300. If your printer measures value below 240, you should check the belt tension first. On an older printer with hundreds of hours of print time, this value indicates your rods and bearings need closer inspection and possibly maintenance. It is also important to note that the test gives a recommendation, it won't disable any printing functions, even if the measured values are out of range. To learn more about the Belt test, please visit our article at help.prusa3d.com. Octoprint causing M112 fixed The previous firmware versions sometimes incorrectly dropped some parts at the start of communication while connected over a serial line. This resulted in a scenario, where for example the Octoprint evaluated the printer as unavailable and sent G-code M112, which is a full emergency stop. More about the G-code M112 in our article at help.prusa3d.com. This issue is now fixed and the printer communicates properly over the serial line. Supported printers: Original Prusa i3 MK3S MMU2S Original Prusa i3 MK3S Original Prusa i3 MK3 Original Prusa i3 MK2.5S MMU2S Original Prusa i3 MK2.5S Original Prusa i3 MK2.5 Download link: prusa3d.com/drivers/ Note that MK3S, MK3, MK2.5S and MK2.5 are different printers! Each has its own firmware file!!! Firmware flashing guide: Please report any bug here: As always, we wish you happy printing and look forward to your feedback!
Firmware 3.9.1-FINAL for Original Prusa i3 MK2.5S & MK2.5   26 Relevance 6 years ago Jakub Dolezal General discussion, announcements and releases
  Summary Major improvements to LA15 Support for parts from selected vendors Ambient temperature check PC Blend preheat added Stack corruption fixed More precise Belt test Octoprint causing M112 fixed This is the final release of the firmware 3.9.1 introducing improved functionality and several bug fixes. These release notes include information provided in the previous release 3.9.1-RC1. Before we dive into the detailed description, we would like to thank the entire Prusa community for the feedback, and our special thanks go to all active members, who helped us with this firmware release. Your input is very much appreciated! This release required: 350 different samples of print objects 1500+ printing hours of the final tests 20 pull requests 95 commits over 20 participating community members Major improvements to LA15 The Linear Advance 1.5 (LA15) functionality was first introduced in the firmware release 3.9.0 and brought several improvements both to the print speed and quality. However, in certain scenarios, the algorithm didn't perform as expected during deceleration, leaving artifacts on specific geometries. The issue was discovered in a bad timer check, which prevented fast LA ticks to be scheduled, effectively limiting LA as speed increased (such as in long stretch of perimeters or during infill) or with shorter intervals due to geared extruders (commit 173aa2d). This also combined with a bad sign check that would cause over-retraction as extrusion speed/nozzle size increased (commits c08f37d & fb5f09d). Several other tweaks were done to improve the print quality in specific scenarios and also to reduce CPU load allowing for better results with either high-resolution models or faster printing speeds. See PR #2785 for a detailed list. After several weeks of tests and hundreds of printed objects, it was clear that aside from fixing the above-mentioned issues, the K-factors also needed adjustments. This has affected not only the LA15 K-factors but also the “LA10 to LA15” conversion curve. Here are the most important changes: The start K-factor is now K10 => K0.01 (the previous minimum was K15) For PLA K30 => K0.05 (previously K=0.07, optimal range is 0.045-0.06) For PETG K45 => K0.08 (previously K=0.13, optimal range* is 0.07-0.11) *Based on the observations, the PETG optimal K-factor values depend greatly on the material composition (e.g. Prusament PETG differs from other PETG material) and also the temperature of the hotend/nozzle plays an important role. More information below. The G-codes sliced in PrusaSlicer since March of 2020, might include K-factors for LA15, which are updated with this release. Therefore it is strongly recommended to update the G-codes from this time period. First, make sure you are running the latest PrusaSlicer and print profiles, then you have two options: Use the original model (.stl. .3mf) and reslice it again. Open the G-code in a text editor and change the values for M900. Example of PETG:Replace all M900 K0.13 with MK900 K0.08 Older G-codes with Linear Advance 1.0 (K-factors greater than 10) remain unaffected and will be converted correctly to the LA15 using the new conversion curve. The results of our research can be seen in the two pictures below, the first with blue test objects is representing the PLA material with two different K-factors. Setting the K-factor too high can lead to missing material or distorted corners in certain geometries. An even stronger effect of the K-factor can be seen while experimenting with the PETG. The picture below shows the corners of four different boxes printed with individual K-factors. Even a relatively small numerical change (0.12 vs 0.08) can have a great effect on the final print quality. We will continue testing improving the LA15 and its capabilities and for most of the cases, the firmware together with the PrusaSlicer should provide correct parameters. Therefore no user calibration is needed. However, we can't test every available material on the market. In case you are using exotic material, or you are unsatisfied with the print results, we have created calibration patterns, which are used to help you select the most suitable K-factor for a given scenario. To learn more about the K-factor calibration, please visit our article at help.prusa3d.com. Support for parts from selected vendors The Covid-19 virus is negatively impacting worldwide supplies and in order 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. This has an impact on the firmware, which must be capable of automatic detection and adjustments based on the used part. One example is the hotend cooling fan, located on the side of the MK3S extruder. Because different fans from different manufacturers have their own specific speed (RPM) and airflow, starting with this release, the firmware is capable of adjusting the parameters using a technique called pulse-width modulation (PWM). This brings some challenges, which are explained below. For a printer with stock parts, there are no visible changes to the firmware and no user interaction is needed. When a printer is run for the first time after the assembly, the firmware will automatically detect the fan and set appropriate PWM. This value is stored permanently in the EEPROM memory, stays the same after future firmware updates, and can be only deleted after performing a factory reset. For modded community printers using different than stock fans, this firmware update will not change anything as stated in the previous paragraph. The only scenario, when the user has to intervene on the modded printer might be after the factory reset when the printer will try to recognize the fan and set the PWM, which might affect the fan's performance. For this scenario, we have prepared a solution in the form of a hidden service menu. To turn the PWM off and run the fan on 100 % like in the previous firmware releases, 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 “service menu” will be opened, where you will see the option “Altfan detection” (Altfan det.) and you can toggle between ON/OFF. Note that setting a custom value of the PWM is currently not possible. Ambient temperature check (MK3S/MK3) Every Einsy board is equipped with an NTC thermistor, which is used to measure the surrounding ambient temperature. The sensor is located right above the main power connector at the bottom of the board. This release is introducing two error states, that can occur “AMBIENT_MINTEMP” and “AMBIENT_MAXTEMP”. The “AMBIENT_MINTEMP” is used to check whether the thermistor works properly ensuring that the second “MAXTEMP” state will be triggered correctly. In a rare case, when this error is displayed, the printer will halt any operation and the Einsy board must be checked by a technician and possibly replaced. Don't operate the printer, until the problem is resolved. The “AMBIENT_MAXTEMP” is set to 100 °C, if this temperature is reached, the printer will immediately cut power to the heaters and motors to reduce power draw. Resuming the print is not possible. The only allowed operation is resetting the printer, the user is also highly advised to inspect the board for problems before attempting to continue printing. PC Blend preheat added The list of preheat materials is now expanded with the polycarbonate Prusament PC Blend (“PC” in the menu). The default preheat values are 275 °C for the nozzle and 110 °C for the bed. To learn more about this material, please visit our blog article. Side note to Linear Advance 1.5, the optimal value for this firmware is currently K=0.07, for the previous releases (3.8.1 and 3.9.0) please use the PrusaSlicer profiles, where K=0.09. Stack corruption fixed A bug has been discovered in the temperature and filament sensor interrupts that could unpredictably cause the return address to be corrupted and result in a system crash. The root of this issue seems to be the "Static memory overwritten" error messages randomly happening when stepping at high frequency (when ISR is preempted more frequently) and a number of other infrequent and hard-to-reproduce issues such as inexplicable extruder moves. See PR #2791 for further details. More precise Belt test (MK3S/MK3) The Belt test was improved in the previous release 3.9.0 in order to make the measurement process more sensitive and detect any degradation of bearings and rods in the early stages. During the Belt test, the Trinamic stepper motors are supplied by lower current value in comparison with standard operation. The built-in StallGuard function (detecting the movement resistance by an increase of motor current) is, therefore, more sensitive. This change to the sensitivity might lead to slightly different values measured by the printer compared to measurements done in the past. However, the range is the same as in the previous releases, your printer should be still within 240-300. If your printer measures value below 240, you should check the belt tension first. On an older printer with hundreds of hours of print time, this value indicates your rods and bearings need closer inspection and possibly maintenance. It is also important to note that the test gives a recommendation, it won't disable any printing functions, even if the measured values are out of range. To learn more about the Belt test, please visit our article at help.prusa3d.com. Octoprint causing M112 fixed The previous firmware versions sometimes incorrectly dropped some parts at the start of communication while connected over a serial line. This resulted in a scenario, where for example the Octoprint evaluated the printer as unavailable and sent G-code M112, which is a full emergency stop. More about the G-code M112 in our article at help.prusa3d.com. This issue is now fixed and the printer communicates properly over the serial line. Supported printers: Original Prusa i3 MK3S MMU2S Original Prusa i3 MK3S Original Prusa i3 MK3 Original Prusa i3 MK2.5S MMU2S Original Prusa i3 MK2.5S Original Prusa i3 MK2.5 Download link: prusa3d.com/drivers/ Note that MK3S, MK3, MK2.5S and MK2.5 are different printers! Each has its own firmware file!!! Firmware flashing guide: Please report any bug here: As always, we wish you happy printing and look forward to your feedback!
Firmware 3.9.1-FINAL for Original Prusa i3 MK3S & MK3   26 Relevance 6 years ago Jakub Dolezal General discussion, announcements and releases
  Summary Major improvements to LA15 Support for parts from selected vendors Ambient temperature check PC Blend preheat added Stack corruption fixed More precise Belt test Octoprint causing M112 fixed This is the final release of the firmware 3.9.1 introducing improved functionality and several bug fixes. These release notes include information provided in the previous release 3.9.1-RC1. Before we dive into the detailed description, we would like to thank the entire Prusa community for the feedback, and our special thanks go to all active members, who helped us with this firmware release. Your input is very much appreciated! This release required: 350 different samples of print objects 1500+ printing hours of the final tests 20 pull requests 95 commits over 20 participating community members Major improvements to LA15 The Linear Advance 1.5 (LA15) functionality was first introduced in the firmware release 3.9.0 and brought several improvements both to the print speed and quality. However, in certain scenarios, the algorithm didn't perform as expected during deceleration, leaving artifacts on specific geometries. The issue was discovered in a bad timer check, which prevented fast LA ticks to be scheduled, effectively limiting LA as speed increased (such as in long stretch of perimeters or during infill) or with shorter intervals due to geared extruders (commit 173aa2d). This also combined with a bad sign check that would cause over-retraction as extrusion speed/nozzle size increased (commits c08f37d & fb5f09d). Several other tweaks were done to improve the print quality in specific scenarios and also to reduce CPU load allowing for better results with either high-resolution models or faster printing speeds. See PR #2785 for a detailed list. After several weeks of tests and hundreds of printed objects, it was clear that aside from fixing the above-mentioned issues, the K-factors also needed adjustments. This has affected not only the LA15 K-factors but also the “LA10 to LA15” conversion curve. Here are the most important changes: The start K-factor is now K10 => K0.01 (the previous minimum was K15) For PLA K30 => K0.05 (previously K=0.07, optimal range is 0.045-0.06) For PETG K45 => K0.08 (previously K=0.13, optimal range* is 0.07-0.11) *Based on the observations, the PETG optimal K-factor values depend greatly on the material composition (e.g. Prusament PETG differs from other PETG material) and also the temperature of the hotend/nozzle plays an important role. More information below. The G-codes sliced in PrusaSlicer since March of 2020, might include K-factors for LA15, which are updated with this release. Therefore it is strongly recommended to update the G-codes from this time period. First, make sure you are running the latest PrusaSlicer and print profiles, then you have two options: Use the original model (.stl. .3mf) and reslice it again. Open the G-code in a text editor and change the values for M900. Example of PETG:Replace all M900 K0.13 with MK900 K0.08 Older G-codes with Linear Advance 1.0 (K-factors greater than 10) remain unaffected and will be converted correctly to the LA15 using the new conversion curve. The results of our research can be seen in the two pictures below, the first with blue test objects is representing the PLA material with two different K-factors. Setting the K-factor too high can lead to missing material or distorted corners in certain geometries. An even stronger effect of the K-factor can be seen while experimenting with the PETG. The picture below shows the corners of four different boxes printed with individual K-factors. Even a relatively small numerical change (0.12 vs 0.08) can have a great effect on the final print quality. We will continue testing improving the LA15 and its capabilities and for most of the cases, the firmware together with the PrusaSlicer should provide correct parameters. Therefore no user calibration is needed. However, we can't test every available material on the market. In case you are using exotic material, or you are unsatisfied with the print results, we have created calibration patterns, which are used to help you select the most suitable K-factor for a given scenario. To learn more about the K-factor calibration, please visit our article at help.prusa3d.com. Support for parts from selected vendors The Covid-19 virus is negatively impacting worldwide supplies and in order 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. This has an impact on the firmware, which must be capable of automatic detection and adjustments based on the used part. One example is the hotend cooling fan, located on the side of the MK3S extruder. Because different fans from different manufacturers have their own specific speed (RPM) and airflow, starting with this release, the firmware is capable of adjusting the parameters using a technique called pulse-width modulation (PWM). This brings some challenges, which are explained below. For a printer with stock parts, there are no visible changes to the firmware and no user interaction is needed. When a printer is run for the first time after the assembly, the firmware will automatically detect the fan and set appropriate PWM. This value is stored permanently in the EEPROM memory, stays the same after future firmware updates, and can be only deleted after performing a factory reset. For modded community printers using different than stock fans, this firmware update will not change anything as stated in the previous paragraph. The only scenario, when the user has to intervene on the modded printer might be after the factory reset when the printer will try to recognize the fan and set the PWM, which might affect the fan's performance. For this scenario, we have prepared a solution in the form of a hidden service menu. To turn the PWM off and run the fan on 100 % like in the previous firmware releases, 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 “service menu” will be opened, where you will see the option “Altfan detection” (Altfan det.) and you can toggle between ON/OFF. Note that setting a custom value of the PWM is currently not possible. Ambient temperature check (MK3S/MK3) Every Einsy board is equipped with an NTC thermistor, which is used to measure the surrounding ambient temperature. The sensor is located right above the main power connector at the bottom of the board. This release is introducing two error states, that can occur “AMBIENT_MINTEMP” and “AMBIENT_MAXTEMP”. The “AMBIENT_MINTEMP” is used to check whether the thermistor works properly ensuring that the second “MAXTEMP” state will be triggered correctly. In a rare case, when this error is displayed, the printer will halt any operation and the Einsy board must be checked by a technician and possibly replaced. Don't operate the printer, until the problem is resolved. The “AMBIENT_MAXTEMP” is set to 100 °C, if this temperature is reached, the printer will immediately cut power to the heaters and motors to reduce power draw. Resuming the print is not possible. The only allowed operation is resetting the printer, the user is also highly advised to inspect the board for problems before attempting to continue printing. PC Blend preheat added The list of preheat materials is now expanded with the polycarbonate Prusament PC Blend (“PC” in the menu). The default preheat values are 275 °C for the nozzle and 110 °C for the bed. To learn more about this material, please visit our blog article. Side note to Linear Advance 1.5, the optimal value for this firmware is currently K=0.07, for the previous releases (3.8.1 and 3.9.0) please use the PrusaSlicer profiles, where K=0.09. Stack corruption fixed A bug has been discovered in the temperature and filament sensor interrupts that could unpredictably cause the return address to be corrupted and result in a system crash. The root of this issue seems to be the "Static memory overwritten" error messages randomly happening when stepping at high frequency (when ISR is preempted more frequently) and a number of other infrequent and hard-to-reproduce issues such as inexplicable extruder moves. See PR #2791 for further details. More precise Belt test (MK3S/MK3) The Belt test was improved in the previous release 3.9.0 in order to make the measurement process more sensitive and detect any degradation of bearings and rods in the early stages. During the Belt test, the Trinamic stepper motors are supplied by lower current value in comparison with standard operation. The built-in StallGuard function (detecting the movement resistance by an increase of motor current) is, therefore, more sensitive. This change to the sensitivity might lead to slightly different values measured by the printer compared to measurements done in the past. However, the range is the same as in the previous releases, your printer should be still within 240-300. If your printer measures value below 240, you should check the belt tension first. On an older printer with hundreds of hours of print time, this value indicates your rods and bearings need closer inspection and possibly maintenance. It is also important to note that the test gives a recommendation, it won't disable any printing functions, even if the measured values are out of range. To learn more about the Belt test, please visit our article at help.prusa3d.com. Octoprint causing M112 fixed The previous firmware versions sometimes incorrectly dropped some parts at the start of communication while connected over a serial line. This resulted in a scenario, where for example the Octoprint evaluated the printer as unavailable and sent G-code M112, which is a full emergency stop. More about the G-code M112 in our article at help.prusa3d.com. This issue is now fixed and the printer communicates properly over the serial line. Supported printers: Original Prusa i3 MK3S MMU2S Original Prusa i3 MK3S Original Prusa i3 MK3 Original Prusa i3 MK2.5S MMU2S Original Prusa i3 MK2.5S Original Prusa i3 MK2.5 Download link: prusa3d.com/drivers/ Note that MK3S, MK3, MK2.5S and MK2.5 are different printers! Each has its own firmware file!!! Firmware flashing guide: Please report any bug here: As always, we wish you happy printing and look forward to your feedback!
Sortie du Firmware 3.9.1 pour MK3, MK3S, MK2.5 et MK2.5S   26 Relevance 6 years ago Olivier-Saraja Discussion générale, annonces et nouveautés
  C'est ici: Et ça parle de: Summary Major improvements to LA15 Support for parts from selected vendors Ambient temperature check PC Blend preheat added Stack corruption fixed More precise Belt test Octoprint causing M112 fixed This is the final release of the firmware 3.9.1 introducing improved functionality and several bug fixes. These release notes include information provided in the previous release 3.9.1-RC1. Before we dive into the detailed description, we would like to thank the entire Prusa community for the feedback, and our special thanks go to all active members, who helped us with this firmware release. Your input is very much appreciated! This release required: 350 different samples of print objects 1500+ printing hours of the final tests 20 pull requests 95 commits over 20 participating community members Major improvements to LA15 The Linear Advance 1.5 (LA15) functionality was first introduced in the firmware release 3.9.0 and brought several improvements both to the print speed and quality. However, in certain scenarios, the algorithm didn't perform as expected during deceleration, leaving artifacts on specific geometries. The issue was discovered in a bad timer check, which prevented fast LA ticks to be scheduled, effectively limiting LA as speed increased (such as in long stretch of perimeters or during infill) or with shorter intervals due to geared extruders (commit 173aa2d). This also combined with a bad sign check that would cause over-retraction as extrusion speed/nozzle size increased (commits c08f37d & fb5f09d). Several other tweaks were done to improve the print quality in specific scenarios and also to reduce CPU load allowing for better results with either high-resolution models or faster printing speeds. See PR #2785 for a detailed list. After several weeks of tests and hundreds of printed objects, it was clear that aside from fixing the above-mentioned issues, the K-factors also needed adjustments. This has affected not only the LA15 K-factors but also the “LA10 to LA15” conversion curve. Here are the most important changes: The start K-factor is now K10 => K0.01 (the previous minimum was K15) For PLA K30 => K0.05 (previously K=0.07, optimal range is 0.045-0.06) For PETG K45 => K0.08 (previously K=0.13, optimal range* is 0.07-0.11) *Based on the observations, the PETG optimal K-factor values depend greatly on the material composition (e.g. Prusament PETG differs from other PETG material) and also the temperature of the hotend/nozzle plays an important role. More information below. The G-codes sliced in PrusaSlicer since March of 2020, might include K-factors for LA15, which are updated with this release. Therefore it is strongly recommended to update the G-codes from this time period. First, make sure you are running the latest PrusaSlicer and print profiles, then you have two options: Use the original model (.stl. .3mf) and reslice it again. Open the G-code in a text editor and change the values for M900. Example of PETG:Replace all M900 K0.13 with MK900 K0.08 Older G-codes with Linear Advance 1.0 (K-factors greater than 10) remain unaffected and will be converted correctly to the LA15 using the new conversion curve. The results of our research can be seen in the two pictures below, the first with blue test objects is representing the PLA material with two different K-factors. Setting the K-factor too high can lead to missing material or distorted corners in certain geometries. An even stronger effect of the K-factor can be seen while experimenting with the PETG. The picture below shows the corners of four different boxes printed with individual K-factors. Even a relatively small numerical change (0.12 vs 0.08) can have a great effect on the final print quality. We will continue testing improving the LA15 and its capabilities and for most of the cases, the firmware together with the PrusaSlicer should provide correct parameters. Therefore no user calibration is needed. However, we can't test every available material on the market. In case you are using exotic material, or you are unsatisfied with the print results, we have created calibration patterns, which are used to help you select the most suitable K-factor for a given scenario. To learn more about the K-factor calibration, please visit our article at help.prusa3d.com. Support for parts from selected vendors The Covid-19 virus is negatively impacting worldwide supplies and in order 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. This has an impact on the firmware, which must be capable of automatic detection and adjustments based on the used part. One example is the hotend cooling fan, located on the side of the MK3S extruder. Because different fans from different manufacturers have their own specific speed (RPM) and airflow, starting with this release, the firmware is capable of adjusting the parameters using a technique called pulse-width modulation (PWM). This brings some challenges, which are explained below. For a printer with stock parts, there are no visible changes to the firmware and no user interaction is needed. When a printer is run for the first time after the assembly, the firmware will automatically detect the fan and set appropriate PWM. This value is stored permanently in the EEPROM memory, stays the same after future firmware updates, and can be only deleted after performing a factory reset. For modded community printers using different than stock fans, this firmware update will not change anything as stated in the previous paragraph. The only scenario, when the user has to intervene on the modded printer might be after the factory reset when the printer will try to recognize the fan and set the PWM, which might affect the fan's performance. For this scenario, we have prepared a solution in the form of a hidden service menu. To turn the PWM off and run the fan on 100 % like in the previous firmware releases, 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 “service menu” will be opened, where you will see the option “Altfan detection” (Altfan det.) and you can toggle between ON/OFF. Note that setting a custom value of the PWM is currently not possible. Ambient temperature check (MK3S/MK3) Every Einsy board is equipped with an NTC thermistor, which is used to measure the surrounding ambient temperature. The sensor is located right above the main power connector at the bottom of the board. This release is introducing two error states, that can occur “AMBIENT_MINTEMP” and “AMBIENT_MAXTEMP”. The “AMBIENT_MINTEMP” is used to check whether the thermistor works properly ensuring that the second “MAXTEMP” state will be triggered correctly. In a rare case, when this error is displayed, the printer will halt any operation and the Einsy board must be checked by a technician and possibly replaced. Don't operate the printer, until the problem is resolved. The “AMBIENT_MAXTEMP” is set to 100 °C, if this temperature is reached, the printer will immediately cut power to the heaters and motors to reduce power draw. Resuming the print is not possible. The only allowed operation is resetting the printer, the user is also highly advised to inspect the board for problems before attempting to continue printing. PC Blend preheat added The list of preheat materials is now expanded with the polycarbonate Prusament PC Blend (“PC” in the menu). The default preheat values are 275 °C for the nozzle and 110 °C for the bed. To learn more about this material, please visit our blog article. Side note to Linear Advance 1.5, the optimal value for this firmware is currently K=0.07, for the previous releases (3.8.1 and 3.9.0) please use the PrusaSlicer profiles, where K=0.09. Stack corruption fixed A bug has been discovered in the temperature and filament sensor interrupts that could unpredictably cause the return address to be corrupted and result in a system crash. The root of this issue seems to be the "Static memory overwritten" error messages randomly happening when stepping at high frequency (when ISR is preempted more frequently) and a number of other infrequent and hard-to-reproduce issues such as inexplicable extruder moves. See PR #2791 for further details. More precise Belt test (MK3S/MK3) The Belt test was improved in the previous release 3.9.0 in order to make the measurement process more sensitive and detect any degradation of bearings and rods in the early stages. During the Belt test, the Trinamic stepper motors are supplied by lower current value in comparison with standard operation. The built-in StallGuard function (detecting the movement resistance by an increase of motor current) is, therefore, more sensitive. This change to the sensitivity might lead to slightly different values measured by the printer compared to measurements done in the past. However, the range is the same as in the previous releases, your printer should be still within 240-300. If your printer measures value below 240, you should check the belt tension first. On an older printer with hundreds of hours of print time, this value indicates your rods and bearings need closer inspection and possibly maintenance. It is also important to note that the test gives a recommendation, it won't disable any printing functions, even if the measured values are out of range. To learn more about the Belt test, please visit our article at help.prusa3d.com. Octoprint causing M112 fixed The previous firmware versions sometimes incorrectly dropped some parts at the start of communication while connected over a serial line. This resulted in a scenario, where for example the Octoprint evaluated the printer as unavailable and sent G-code M112, which is a full emergency stop. More about the G-code M112 in our article at help.prusa3d.com. This issue is now fixed and the printer communicates properly over the serial line.
3.12.0 Firmware for MK2.5 and MK2.5S(+)   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 release for our MK2 series of printers (MK2.5 and MK2.5S(+)). Please read the updates and you will find the download links at the bottom of the post. ( apologies to those before who might have panicked over "final", final as in out of beta and release candidate and final version of 3.12.0) 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: (same process for the MK2 series as well as the MK3)
Page 1 / 5 Next
Share:
  Forum Statistics
598 Forums
71.2 K Topics
500.1 K Posts
14 Online
82 K Members

Latest Post: INDX and "Full Spectrum" prints 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