As our dev team grows we are able to push out improvements faster than ever before. We just released the new 3.0.6 FW. There is so many new neat features over 3.0.3, which was the latest stable firmware, that I thought I would share them here with you 🙂
- Improved calibration flow
- Calibrate XYZ – automatic calibration and correction of skewed X/Y axes
- Improvements of the Live Adjust function
- New feature: Bed leveling adjustment
- Improvements to fire safety
- Toshiba FlashAir SD card support
- Fixed the “Stop Print” function
- Marlin planner improvements
- Menu has been reorganised
- Internal improvements of the menu system
- Fixed a stack overflow
- Enabled a high power mode when first booted up on a brand new RAMBo board
- Updated Spanish, Italian and Polish texts
- “Calibrating nth point” message is shown during mesh bed levelling
- Improved unload filament function
- Z-MIN set to 0.15mm
Detailed description of changes:
Improved calibration flow
We improved the calibration flow, which is now much easier to understand for newcomers to 3D printing. And we made some nice diagrams! 🙂 Feel free to check our awesome updated 3D Printing Handbook.
Read more about the magic behind this function in The First Printer to Automatically Correct it’s Geometry in All Axes post!
Automatic calibration point locating:
- Printer finds the calibration points automatically during the Calibrate XYZ function
Automatic compensation of skewed X and Y axes:
- Printer detects it’s geometry during the Calibrate XYZ and corrects the print to achieve great accuracy even if the printer is poorly built.
Printer protects it’s print surface.
- In the last round of Calibrate XYZ function (or via Calibrate Z function) the height above the 9 sensor points is measured and stored into a nonvolatile memory for reference. Printer compares values measured during the mesh bed levelling to those stored and this way can detect compromised calibration and save the print surface.
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.
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 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.
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.
Marlin planner improvements
- Fixes most shifting layers issues. The bug has been in Marlin for ages. Marlin handles jerk speeds wrongly and occasionally put the XY JERK speed on Z axis which prevented the Z axis to go up and the nozzle then crashed on previous layers.
Toshiba FlashAir SD card support has been made switchable:
- Printer shows the FlashAir IP in the support menu when it is enabled.
- 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.
Menu has been reorganised:
- 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.
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.
“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.
Improved unload filament function:
- Should keep less filament in the hotend and prevent some cases of jamming when loading new filament.
Z-MIN set to 0.15mm.
- Properly set minimum Z cords to match the V2 calibration.