Skip to content

Releases: prusa3d/Prusa-Firmware

3.0.10 firmware for Prusa i3 MK2

14 Feb 15:01
Compare
Choose a tag to compare

3.0.10 firmware for Prusa i3 MK2

This is final version of 3.0.10 firmware. This version fixes issues in previous version 3.0.10-RC1. For detailed desription of all features see also https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.0.10-RC1

Summary:

  • Loose pulleys test added
  • Statistics fixed
  • PID tuning fixed and saving parameters to EEPROM enabled
  • Stop print function fixed
  • Load filament function improved
  • Stack guard added
  • Xyz calibration updated
  • Factory reset has new menu
  • Missing "Move Z" option fixed
  • Improved messages in Italian and Spanish languages
  • German language added

Description of changes with respect to 3.0.10-RC1:

Loose pulleys test:

Selftest was sometimes indicating that Y pulley is loose even in case that it was not true. This has been fixed. Auto home was added at the end of selftest procedure. This leads to predictable behavior when moving axis after selftest was run.

Statistics fixed:

Total print time were not displayed correctly in some cases and number of hours displayed could be higher than 24. It has been fixed. There is no need to reset statistics data to display total print time correctly.

Languages:

Spanish messages were improved and initial version of German language was added.

Live adjust limitation

Live adjust is now limited to range from -10 mm to 0 mm. This should prevent setting live adjust values to excessive values and decrease heatbed damage probability.

Gcodes checking added

Some invalid gcodes caused undesirable printer behavior (stopping imidiately, invalid serial response). This has been fixed.

3.0.10-RC1 firmware for Prusa i3 MK2

03 Feb 14:18
Compare
Choose a tag to compare
Pre-release

3.0.10-RC1 firmware for Prusa i3 MK2

Summary:

  • Loose pulleys test added
  • Statistics fixed
  • PID tuning fixed and saving parameters to EEPROM enabled
  • Stop print function fixed
  • Load filament function improved
  • Stack guard added
  • Xyz calibration updated
  • Factory reset has new menu
  • Missing "Move Z" option fixed

Detailed description of changes:

Loose pulleys test added:

Selftest now contains detection of loose X and Y motor pulleys. This was one of the main causes of xyz calibration errors.

Statistics fixed:

Total filament used values were wrong in some cases. It was caused by storing negative numbers into unsigned variables which led to underflow and than storing wrong number (aproximately 43 km) into EEPROM. This has been fixed and should not occure in the future, but it is necessary to reset statistics if there is suspicion that data stored in EEPROM are not correct.

PID tuning fixed and saving parameters to EEPROM enabled:

Using M301 and M304 led to unreadable serial output. Now it is fixed and it is possible to run PID tuning and store settings to EEPROM using M500.

Stop print function fixed:

Starting new print right after stoping print could lead to printing with heater or bed target temperature set to zero. Now it is fixed and it not possible to start new print before stop print sequence is finished. Status messages during stop print process has been updated to provide better information about the process.

Stopping print before homing happened and axis positions were known could led into crashing. It has been fixed and stop print sequence now contains no movements in X or Y direction unless axis positions are known.

Load filament function improved:

Load filament function was extended. In the end of loading process, user is asked if color is clear. If extruded material color is still mixed with previous filament color, it is now possible to choose "no" to easily extrude more filament.

Status messages have been updated to provide better information about the loading process.

It is now possible to use M701 for filament loading.

Stack guard added:

This feature detects if static variables are being overwritten by stack. It should prevent unpredictable behavior and improve overall reliability.

XYZ calibration updated:

  • There is new automatic heater and bed cooling at the beginning of xyz calibration. User is also remainded by new message that he should control nozzle to bed distance during first calibration steps. This should minimize risk of heatbed damage.
  • Bed level correction is reset at the beginning of xyz calibration
  • Improved some of the final messages in xyz calibration

Factory reset menu:

New factory reset menu is accesible by holding the knob after reset. In this menu are currently four items:

  • Language: resets language to english (default)
  • Statistics: resets total print time and total filament used
  • Shiping prep: resets Z calibration flag, prepare printer for shipping
  • All data: Erases EEPROM

Factory reset menu will be extended by additional service menu functions in next releases.

Missing "Move Z" option fixed

Move Z option was missing when print was stopped. It has been fixed and moving Z axis is now treated the same way as moving X and Y axis.

Other improvements:

  • Reset xyz calibration resets live adjust also
  • Live adjust is not allowed during homing
  • Some menu items were hidden when print is paused. It has been fixed.
  • When print was paused and then stopped, some menu items remained hidden because of paused print flag remained set. It has been fixed.
  • Messages in Italian language corrected
  • M702 is used to unload filament
  • Unloading filament status message added

3.0.8 firmware for Prusa i3 MK2

01 Sep 16:22
Compare
Choose a tag to compare

3.0.8 firmware for Prusa i3 MK2

Summary:

This version improves some inconveniences of the XYZ/Z calibration and improves the print quality.

  • More descriptive user messages during the XYZ/Z calibration, some of the messages are now multi screen.
  • XYZ/Z calibration does not time out.
  • Bugfix of the XYZ/Z calibration: Feedrate multiplier will be maintained over the duration of the XYZ/Z calibration.
  • The live adjust height will now be reset to zero after the XYZ calibration.
  • Smoother prints of complex objects at higher print speeds.
  • Smoother prints of diagonal lines.

Detailed description of changes:

More descriptive messages on the XYZ/Z calibration:

  • Support multi screen messages in the XYZ/Z calibration - "move the Z carriages up" step.
  • Support up to three lines in the XYZ/Z calibration messages.
  • Added a new message "Measuring reference height of calibration point xx of 9".
  • Changed the "move the Z carriages up" message to suggest rotating the knob.
  • Changed the "live adjust not set" message to reference the manual chapter and section.

Smoother prints of complex objects at high print speeds:

The path planner in the firmware consumes a considerable amount of computing resources. Each time a new movement is added to the planner queue, the complete planner queue of length 15 is recalculated. If a complex object is printed, the firmware cannot keep up and the printer starts to stutter: As the print queue dries up, the printer slows down. Then the planner queue fills, the printer accelerates and the cycle repeats. We rewrote some of the time critical parts of the planner from floating point to fixed point arithmetic to reduce the path planner stutter with complex objects at high print speeds.

Smoother prints of diagonal lines.

The Marlin firmware uses a Bresenham line discretization algorithm, where the fastest axis dictates the discretization rate of the slower axes. This technique introduces a jitter in the discretization of the slower axes, which manifests itself with high frequency ringing on diagonal lines. We improved the accuracy of diagonal moves by oversampling the Bresenham line discretization up to 8x. The oversampling rate is limited by the CPU speed.

Other changes:

Removed debugging serial line output on Z calibration from the release build.
Removed the non-working pressure advance feature from the firmware code base.
Multi-screen messages are now displayed with a "next page" indicator.

MK2 firmware 3.0.6

10 Aug 15:19
Compare
Choose a tag to compare

Final version of 3.0.6 firmware for Prusa i3 MK2

Summary:

  • Menu has been reorganized
  • Internal improvements of the menu system
  • Fixed a stack overflow
  • Improvements of the Live Adjust function (please rerun the First layer calibration)
  • Fixed the "Stop Print" function
  • Enabled a high power mode when first booted up on a brand new RAMBo board
  • Updated Spanish, Italian and Polish texts
  • Toshiba FlashAir SD card support is now switchable
  • "Calibrating nth point" message is shown during mesh bed levelling
  • New feature: Bed leveling adjustment
  • Improvements to fo fire safety
  • Improved unload filament function
  • Z-MIN set back to 0.15mm

Detailed description of changes:

Menu has been reorganized:

  • The old Settings menu has been split to Settings and Calibration menus, where the Settings menu references the often used actions, while the Configuration menu references the rarely used actions.
  • "Calibrate Z" was redefined to let the user move the X axis up to the Z end stoppers and to re-calibrate the 9 bed point reference values after the printer has been shipped or re-seated.
  • New "Mesh Bed Leveling" menu item was added to the Calibration menu, doing what the "Calibrate Z" was doing before.

Internal improvements of the menu system:

  • Use a shared menuData union for multiple menu screens to reduce memory allocation,
    therefore reducing the risk of a stack overflow leading to crashes or an unexpected behavior.

Fixed a stack overflow:

  • Fixed a stack overflow leading to an unexpected behavior or a crash when moving a machine axis from the menu multiple times. This was a bug inherited from the original Marlin firmware.

Improvements of the Live Adjust function:

  • Stepper driver timing was fixed in the baby step function. The original author of the Marlin firmware used a lengthy purposeless calculation to introduce a delay, but this sequence was recognized by the compiler as having no effect, therefore removed, leading to too short pulses, possibly having the effect of skipped steps in the Z axis during the Live Adjust.
  • Loading / reverting the Live Adjust offset after the 9 point bed leveling has been reworked to use the normal move planner instead of the questionable baby stepping routine.
  • Bugfix of the Live Adjust menu: Show the correct value instead of zero when the Live Adjust menu is entered.

Fixed the "Stop Print" function:

  • Now the printer will maintain a valid coordinate system during the print stop, so it will not crash into the end stops when moving the print head to a rest position.

Enabled a high power mode when first booted up on a brand new RAMBo board.

  • Newly manufactured printers will be configured to a power mode by default.

Updated Spanish, Italian and Polish texts.

  • The langtool.pl was extended to understand annotations on the maximum text length and the maximum number of lines of mutli-line texts, which ensures, that the translated texts will be displayed completely.
  • The annotations were added to the English texts.
  • The threshold for hiding the Live Adjust menu was increased from 0.5mm to 2mm above the bed.

Toshiba FlashAir SD card support has been made switchable:

  • It is off by default. We had some feedback indicating, that some rare SD cards do not work properly with the FlashAir support.
  • The "Toshiba FlashAir" status display was improved to not force IP address query on each display refresh when in the "Support" menu and to update status of the Toshiba FlashAir on SD card insert / removal.

"Calibrating nth point" message is shown during mesh bed levelling:

  • Message will now be shown on the display even if initiated from a SD card G-code.
  • The Z height will not be displayed on the status screen during the 9 point calibration, as this number is confusing, because it changes rapidly and it does not reflect the final Z height measured.

Bed leveling adjustment:

  • Adjustability at the left / right / front / rear side to fine tune the 1st layer squish.
  • The bed adjustment feature is accessible from the Calibration menu and as new L R F B codes of the G80 G-code.
  • The values are entered in micrometers, the maximum allowed correction is +-50 microns. In most cases this feature is not needed at all, but in rare cases when this feature is useful, we found that a correction in the order of 30 microns is enough to make the squish even.

Improvements to fo fire safety:

  • Original Marlin FW and previous Prusa3D firmwares just stopped when printer detected risky behaviour. Now it stops the print, spins up both fans at 100% power and starts beeping. Both fans can keep hotend at safe temperatures even if the hotend mosfet would malfunction and was on 100% of the time.

Improved unload filament function:

  • Should keep less filament in the hotend and prevent some cases of jamming when loading new filament.

Z-MIN set back to 0.15mm. RC2 had an error.

  • Properly set minimum Z cords to match the V2 calibration.

MK2 firmware 3.0.7

23 Aug 08:56
Compare
Choose a tag to compare

3.0.7 firmware for Prusa i3 MK2

Summary:

  • Typos fixed
  • First start flow reorganised
  • Z_MIN problem fixed
  • Calibration routine made safer
  • Stop print routine improved

Detailed description of changes:

Typos fixed:

  • We found typo in XYZ calibration output in English and Italian language which led to users confusion.
  • In English language when printer had X and Y axis severally skewed, the LCD showed that X/Z axes are skewed which was wrong.
  • In Italian language the problem was the same, except it showed XYZ axis skewed which is incorrect too.

First start flow reorganised:

  • In previous build the user had to read Czech message that the printer is not calibrated yet and then was forced to select language. Now it's language selection first.

Z_MIN problem fixed:

  • We received multiple notes that after printer homes, the Z cords were still set to 0.2 mm, which was true, but the printer was able to move lower as it supposed to.
  • Now the printer homes to Z_MIN -> 0.15 mm.
  • YOU WILL NEED TO RECALIBRATE YOUR PRINTER.

Calibration routine made safer:

  • When the printer does mesh bed leveling process, it'll raise the Z axis before returning home from probing last point to avoid danger situations.

Stop print routine improved:

  • When the user forced the printer to stop by selecting "Stop print", there was possibility that the printer lost it's calibration if the user won't reset the printer.
  • Now the printer stays calibrated at all times.