1.6.0 Firmware for SL1 and SL1S SPEED is out!
1.6.0 Firmware for SL1 and SL1S SPEED is out!
Hello, we are pleased to announce the latest firmware update for the Prusa SL1 / SL1S. All information on what changes, additions, corrections and fixes are listed below along with the download link.
- SL1 and SL1S SPEED differences
- Updated Wizards
- Updated Selftest wizard
- SL1S SPEED print profiles
- Speed of first layers
- Automatic print adjustments (large objects
- )New power button behavior
- Transition to DBus for IPC
- Improved translations and localisations
- Improved screensaver
- Improved logging procedure
- PrusaLink updates
- Print display time counter
- Improved cooling
- Screen compositor Weston
- Redesigned error pages
- Other improvements
- Bug fixes
This is the final release of firmware 1.6.0, the first firmware release with support for both the SL1 and the new SL1S SPEED. The firmware is universal, capable of automatic recognition of printer types - it sets the system parameters accordingly. Differences between SL1 and SL1S SPEED are described below.
There are major changes to the firmware’s code. Compared to the previous release, 1.5.0, there are 689 commits and 127 bug fixes. Kudos to the community for reporting the issues!
SL1 and SL1S SPEED differences
Both printers share a similar outer casing, however, it is an entirely different story inside. The SL1S SPEED has a new monochrome screen and redesigned UV LED set, new lens, new Booster Board and an external PSU. In other words, a vast majority of the electronics were replaced, which brings a new challenge to firmware development. You can learn more about SL1S SPEED in the following blog article.
We aimed to keep the firmware unified, thus providing updates to the SL1 simultaneously with the SL1S SPEED. Upon the boot, the system checks for the available connected display, and based on the response, it either loads settings for the monochrome LCD (SL1S SPEED) or RGB display (SL1). Thus, some parts of the firmware are shared, others differ completely.
Here are some of the most important differences between the SL1S SPEED and its predecessor SL1:
New project format
A quick look at the new screen reveals that it’s larger than the previous one (25 % larger, actually). However, it is also completely different on the inside. First, there is a different resolution 2560x1440p vs 2560x1620p. For this reason, there are two file extensions, “.sl1” and “.sl1s” respectively, for each printer. In the future, the new project format “.sl1s” will bring new features.
New print display autocalibration
Every time you replaced the display in the SL1, a process called UV calibration was required. It has to be done with the user’s assistance using a UV calibrator, which connects to the front USB port and measures the display multiple times through 15 sensors, then compensates the UV LED array below the screen accordingly.
The newer SL1S SPEED improves the user experience by completely eliminating the need for an external UV calibrator. Each screen is thoroughly measured in the factory, and data are written in the screen's memory, which wasn't possible before. Once the screen is replaced, the printer loads the data directly from the screen and finishes the entire process without the need for user intervention.
Resin sensor and new resin tank
SL1S SPEED introduces a brand new resin tank, which is made from a different material and also has a different size, compared to the SL1. Also, the print platform is larger to utilize the larger print screen fully. These changes affect the resin sensor, which is responsible for measuring the volume of the resin in the tank.
The firmware expects that the user uses the correct platform and tank for SL1S SPEED. Inserting an older platform or resin tank from the SL1 is not recommended as it might confuse the measuring algorithm. For larger objects, the platform won't be able to cover the entire area of the screen. Combining the older tank and newer platform may lead to potential problems - such as resin overflowing, so this is generally not recommended.
SL1S SPEED print profiles
SL1S SPEED is pushing the SLA technology close to its limits. Prints, which previously took up to 11 hours, can now be printed in 4 hours. Layer exposure can be pushed from 6-8 seconds all the way to 1.4 seconds. Similarly, the tilt speed was significantly increased, cutting down the time needed for each layer.
Our print specialists meticulously tested the resin profiles and tuned them for the fastest available print speed, yet still keeping them on the safe side. However, the current profiles cannot account for all the different geometries, resin properties and conditions.
For this very reason, starting with firmware 1.6.0, there is a new option (available before the print is started) called “Print profile”. Currently, there are two options, “Faster” and “Slower,” where Faster is default and should cover most cases without a need for user intervention.
However, in some scenarios, it may be better to switch to the slower profile. For example, printing a very thin and tall structure can result in unwanted artifacts and distortions, which aren't caused by the printer per se but by the physics and properties of such structures. In another example, printing from a dense resin requires a different approach, as this viscous liquid needs slightly more time to flow below the printing platform after each layer is cured compared to the “regular” tough resin. For these special occasions, the user has an option to switch to the “Slower” print profile, which slightly slows down the overall process, ensuring a successful print.
As noted in the beginning, SL1S SPEED is getting closer to the material and physical limits of the SLA. We will continue to improve the speed further while keeping the print procedure autonomous. Rest assured we’re staying true to our company’s spirit, so the list of available print options will expand, allowing experienced users to further tweak and optimize their specific prints to perfection.
We are also bringing this feature to the SL1, where it can help in similar situations.
Speed of first layers
While printing the first few layers, it is crucial to ensure that the print adheres perfectly to the printing platform. We have optimized the surface of the platform to a point where it can lift an unsecured resin tank (don't try this at home). Yet, in some scenarios, the first few layers of the object require slightly more time, which is automatically added by the printer. The effect on the overall print time is almost negligible.
Automatic print adjustments (large objects)
Printing larger objects (cross-section area) requires a different approach than printing a small object since there is greater contact between the FEP film and the printing platform. Also, in the real world, the cross-section area may vary depending on the current height of the object.
New power button behavior
The front power button functionality is now improved. There are new functions implemented and we also added new UI graphics. Previously, in case of an emergency, the only option was to turn the printer off. Now, the system behavior is smarter.
For example, in case the printer is printing or performing any Wizard, the power button is used for a quick cancellation. Hold it for 3 seconds and any ongoing action will be canceled. In case the button is held longer than 5 seconds, the printer forcibly shuts down. If the user pushes the button in any menu, a regular turn-off procedure is engaged. After 3 seconds, the printer is turned off.
Transition to DBus for IPC
Until now, the communication between the Frontend and Backend of the system was done using Websockets. For this release, we have completely restructured the firmware internally and transitioned to a more advanced DBus, which is a standard IPC bus in Linux systems and is broadly supported by various kinds of software. We are using this interface as an interconnection between all main software components in the printer, such as touchscreen UI, the firmware itself, service responsible for updates and more. This will also increase the speed of developing new features.
Improved translations and localisations
Due to the addition of SL1S SPEED and its monochromatic print display, it was necessary to add multiple new text strings across the entire system. Also, internally the developers have merged the firmware translations into one repository. Previously there was a separate file for the frontend, backend and web interface. This will ensure smoother and faster translations for our colleagues and in the future for our community.
Since there is a lot of changes to firmware 1.6.0, our translators have rechecked all the language strings. Should you find any incorrect translations, please let us know.
The printer’s firmware constantly checks what percentage of the display is covered by the print and applies a set of rules to ensure that the print finishes successfully. Once the area size is below a certain threshold, the printer continues printing for a few layers with the current set of rules and then reevaluates the conditions to maximize the print speed.
A screensaver option was introduced in the previous release. With version 1.6.0, we are further extending its functionality. If the display is turned off, and the printer requires user interaction or encounters an error, it lights the screen back up and stays ON until the user resolves the situation.
Improved logging procedure
System logs play an important role in troubleshooting for such a complex operating system like the one in both SL1 and SL1S SPEED. Our developers constantly improve the logs by adding new records and simultaneously optimizing the size and reliability. Starting this release, any performed “Wizard” procedure is saved to the logs, including measured values.
If our support team requires a system log, you can either download it to a USB drive or send it to a secured Prusa server directly from the printer.
The web interface of both the SL1 and SL1S enables users to take full control over the printer, upload new projects and start prints on a previously prepared printer. In this release, we are changing the name from “Prusa Connect Local” to “PrusaLink,” which is happening across the entire line-up of Prusa printers.
Besides changing the name of webUI, the developers have also done some tweaks to the code, which is now faster. They also fixed several minor bugs found during the improvement phase.
Print display time counter
Displays used for SLA printing are exposed to UV light, which slowly reduces their life span. For this very reason, it is important to correctly count the overall exposure and reset the counter if a new screen is installed. We have updated this feature in this release to distinguish internally between SL1 (RGB) and SL1S (Monochrome) screens. In the future, we plan on improving this feature further.
Improved coolingSL1S utilizes an almost five times stronger source of UV light than its predecessor, the SL1. UV LED is very efficient, but it still produces a significant amount of heat. For this release, we have further tweaked the firmware to cool both the SL1 and SL1S properly. Also, to keep the noise at a minimum, there is an algorithm, which gradually increases and decreases the speed of the cooling fans based on the current system temperature.
Screen compositor Weston
In the previous releases of the firmware, different methods were used to communicate with each screen (touch and print display). The touchscreen used DRM via EGLFS, and the print display was fed over a DRM frame buffer. In this release, we are introducing Weston for overall display management. It unifies the communication channel with both screens. This will also allow us to tune the speed of sending an image to the exposure screen which impacts the print speed.
Redesigned error pages
All error and exception pages now have a uniform look and contain a QR code leading to a localized support web page. The “Unknown error” page now shows the specific raw error which caused it. It is now also possible to update the printer FW from an exception page. A new addition are "warning" pages used to inform the user about non-critical issues (e.g. fan warning).
Hard errors (red screens) contain an option to update FW. The name of the exception is displayed when an unknown error occurs.
- Previously the time estimation algorithm didn't consider all variables, thus the displayed times sometimes didn't match the reality. This is now fixed and the precision of the calculation is improved. Also, when the user adjusts any print-related settings, the system reevaluates the time.
- In the 1.5.0 release, a notification about successful file upload wasn't interactive. This is now fixed. Upon clicking the message, the user is taken to the “preprint” screen with settings.
- The was a bug in the amount of resin required by the printer, which was a fixed value. Now, the printer requires the exact amount based on the printed object.
- After a failed resin test, the printing platform sometimes didn't move back up. This is now fixed.
- While calibrating the tilt position, the values on the screen didn't reflect the current position. This delay is fixed in this release.
- Tilt times displayed after a successful calibration were sometimes a little inaccurate, causing wrong time estimates during the print. The developers have fixed this issue.
- The heatmap of the print display wasn't until now included in log export. Now, the system correctly exports all values.
- Fixed project metadata extraction in PrusaLink (webUI).
- Routine for fixing the stuck print by the user wasn't working properly. This is now fixed.
- Overheating and fan warnings during print weren't shown during an active print job. Now, the system correctly displays all errors and warnings.
- Once the flashing of MC failed, the system was no longer able to communicate with it. Now, it tries to flash the respective firmware again.
- Low resin "!" icon fixed in touch UI and also PrusaLink wasn't displayed, this is now fixed.
- USB automounting fixed, it is now faster and more reliable.
Supported printers: Original Prusa SL1 / SL1S
Please report any bug here:
Shane (AKA FromPrusa)
Is it really open source if Prusa ignores contributions?
When might you all actually get to the outstanding CW1 firmware PRs that have been ignored since November and January?
Contributions from the community
sorry for not responding to your pull requests, I will talk to the firmware team to be more responsive. Your ideas weren't ignored, quite the contrary. Both will be part of the firmware. Extension of drying time is already in the latest release 3.1.0. With the rotation to both sides, our devs run into some issues, so it will be in the next release.
Thanks for the contribution 🙂