Summary
- Support for custom extruders
- Thermal regulation for custom extruders
- Extended print statistics
- Nozzle pressurizing improved
- Translations updated
- BSOD caused by a broken thermistor fixed
- Print timer fixed
This is the final release of firmware 4.3.3. This changelog is a summary of the previous release candidate 4.3.3-RC with additional changes introduced in this release. The main focus was to add features requested by the community, provide improved print statistics and fix certain bugs.
Compared to the previous release 4.3.2, there are 48 commits in 13 merge requests.
Support for custom extruders
We received requests from our community members to add configuration options for custom extruders. This release brings new functionality enabling the users to tune settings for a custom extruder on the MINI and MINI+. Previously, this was only possible with custom firmwares.
Installing a custom extruder is a significant change to the entire printer and might require multiple adjustments afterward. Therefore we recommend using this feature only in case you already have experience in this field.
To adjust settings for your custom extruder, go to LCD Menu -> Settings -> HW settings -> then long-press the knob. Similarly to the MK3S+, a new “Experimental” submenu will appear on the screen, where you can adjust the following:
- Save and return - while exiting this dialogue any adjusted value will be automatically saved
- Z-axis length - here you can adjust the length of the Z-axis based on your needs. In case you want to increase its length significantly, don't forget you might get limited by the cables.
- Default Z length - the system will fall back to its default value, which is 185 mm.
- Extruder steps per unit - different extruders might require different stepping
- Default steps per unit - the system will set the factory value, which is 325
- Extruder direction - there are two choices of spin, “Prusa” and the second is obviously “Wrong” 😉
- Default directions - set the direction back to the default (Prusa)
Once parameters are adjusted, click on “Save and return”, the printer will ask you whether you want to save the changes to the EEPROM and then restarts itself. When the printer boots up again, the changes are applied across the system. This was done to ensure that even with adjusted parameters the printer will be still able to perform First Layer Calibration, Live Adjust Z and, of course, print.
Thermal regulation for custom extruders
Due to the support of custom extruders, we received requests from the community to enable Marlin PID in the firmware. We have performed multiple tests using different materials to verify the “Prusa” thermal regulation works correctly on both stock and custom extruders. The results below show clearly that the current algorithm (a feed-forward driving + PID tuning of the steady state) is capable of correct thermal regulation in all tested scenarios including the sudden start of a cooling fan.
Test results for custom extruder:
Material: PLA
Temperature: target 215 °C, max 216 °C, min 213.9 °C
Material: ASA
Temperature: target 260 °C, max 263.1° C, min 258.9° C
Material: FLEX
Temperature: target 240 °C, max 241.6° C, min 238.4° C
Material: POLYCARBONATE
Temperature: target 275 °C, max 279° C, min 273.3° C
Also, the implementation of two regulating algorithms and switching between them creates a risk of a bug or failure, which can possibly lead to printer damage. Moreover, based on the results the default Marlin PID performs worse in some scenarios (e.g. when the cooling fan is suddenly started). Since the provided algorithm works as expected even for custom extruders, we have decided to keep it unchanged.
Extended print statistics (previously Odometer)
Another frequent request by our community is implemented in this firmware release. The printer now stores information not only about the filament used and print time but also about the distance traveled at each axis (X, Y, Z), which is displayed in meters.
For the final release, the developers have changed the name from Odometer to Statistics to match the terminology used in Prusa printers. Also, the graphics of this submenu were adjusted to fit the overall design of the user interface.
This feature opens the door for multiple features, some of them will be introduced in the upcoming releases. For example:
- Planned printer maintenance - once the bearings or other components reach a certain threshold, the printer will inform the user and provide instructions on how to clean, maintain or replace selected parts.
- Storing print statistics to a server - once the printer is connected to the upcoming Prusa Connect service, it will send the statistics and enable easier management of larger farms.
- Becoming a 3D printing grandmaster - the printer is capable of storing a print time of 9999 days 99 hours. The first user to reach this value on a final release without any tricks will become a grandmaster of 3D printing.
All print data is stored in the EEPROM. To optimize the number of writes to the memory, only finished or stopped prints are saved. In the case of a watchdog reset mid-print, the data is not stored.
Nozzle pressurizing improved
In some scenarios, after a filament change, the printer created a blob imprinted in the object. Removing this surface irregularity was hard once the filament solidified and for this reason, the developers have improved the algorithm responsible for the filament change. It is based on the one used in the MK3S+.
Once the proper filament change is confirmed by the user by selecting “Color correct”, the printer starts to pressurize the nozzle to achieve even filament distribution. This results in a thin string of filament being pushed out of the nozzle. It is necessary that the user removes this string with pliers or another tool before the nozzle reaches back to the printed object. It is important to note that the NOZZLE IS VERY HOT at this point, thus removing the string by fingers will inevitably result in burns.
This behavior is now used by default every time a filament change is triggered during the print by command M600. If the printer is stationary and load/unload/filament change is selected manually by the user, then the nozzle pressurizing is not activated.
Translations updated
Due to the new features introduced in this release, all languages were updated. The only exception is the experimental menu, which remains untranslated, as it includes advanced settings and requires the user to be proficient in English. This update also solves issue #1575.
BSOD caused by a broken thermistor fixed
The developers have identified an incorrect printer behavior in a situation when the print is run remotely using Octoprint and the thermistor either gets broken or is accidentally removed from the Buddy board.
Instead of properly displaying the red screen (THERMAL RUNAWAY/MINTEMP), the printer crashed to BSOD or the Watchdog reset screen. This is now fixed and this might also resolve other situations, where the printer is showing the Watchdog reset.
Print timer fixed
The developers have accidentally introduced a bug into the previous release 4.3.3-RC. In some scenarios the system didn't stop counting the elapsed time, even after the print was already finished. This is now fixed while printing from the USB flash drive.
Note that while printing over the serial line (e.g. Octoprint/Pronterface), the system does not run the timer at all as it is difficult to determine the exact start and finish of the print in general.