Firmware 3.5.0-FINAL for Original Prusa i3 MK3
UPDATE: New version 3.5.1 is out https://shop.prusa3d.com/forum/general-discussion-announcements-and-releases-f61/firmware-3-5-1-final-for-original-prusa-i3-mk3-t26634.html
Hi guys,
new firmware 3.5.0-FINAL is out! This is a final release recommended to all users 😎
There were two stages of the firmware: RC1 and FINAL, list of the new features and bug fixes is merged from both versions.
What is new?
Summary:
3.5.0-FINAL
-Z-levelling fix
-M500 - M503 fix
-Translation corrected
-Progress bar display during M600 fixed
-Pause print communication timeouts fixed
3.5.0-RC1
- Pause print improved
- Preheat error improved
- Mesh bed levelling fail runs Z calibration
- Faster filament loading
- Min. extrude temp. changed to 175 °C in all variants
- Time remaining > 100 h screen fix (issue #1231)
- Improved Wizard for assembled printers
- Fixed bug in statistics (issue #1151, #931)
- Filament change (M600): make space for opening idler
- Bed power monitor (MK3)
- Standard G-codes for setting TMC currents (MK3)
- Crash detection -> stop print bug fixed (MK3)
- The French language added
- Other general improvements
Improvements specific for printers with MMU2:
3.5.0-FINAL
-FINDA dependency on optical sensor fixed (MMU2)
3.5.0-RC1
- Improved printing in single material mode (new Tx, Tc codes and T? fixed)
- Load to nozzle added
- Manage response improved: possibility to preheat nozzle
- Fixed First layer calibration/Wizard
- Filament sensor (dependency on optical sensor fixed)
- T? menu changes feedrate fixed
- Extruder stepper disabled during T-code execution (MK3)
- SpoolJoin (previously Auto deplete) menu improved
- Filament change (M600): improved message synchronization
Detailed description of changes:
Z-levelling fix: 3.5.0-FINAL
A feature called "Mesh bed levelling fail triggers Z-levelling" was added in previous firmware version. However, there was one bug which caused that after Z-levelling coordinates were shifted in Z. This has been fixed.
FINDA dependency on optical sensor fixed (printers with MMU2): 3.5.0-FINAL
In the previous firmware version, we have improved FINDA independency on the optical filament sensor. However, there was still a scenario where FINDA was disabled in case that optical sensor was damaged or disconnected. This has been fixed.
M500 - M503 fix: 3.5.0-FINAL
In previous firmware version, we have improved functions for storing settings to EEPROM and restoring them (M500 - M503) to provide improved reliability in the future and prevent issues which we had encountered in 3.4.0 firmware. Now we have fixed initialization of new variables, which were added to M500 recently. If you have encountered some issues with slow Z-axis movements in 3.5.0-RC1 version, please upgrade to 3.5.0. Otherwise, there is no change from the user's point of view.
Pause print improved:
New pause print reacts immediately (without waiting to finish movements which are in progress and without waiting for execution all currently buffered commands).
Preheat error improved:
On older firmware version there was a zone where preheat error was not working properly. If thermistor would be damaged during the preheating phase in a particular way (resistance of damaged thermistor would be in the range corresponding to the measured temperature > 150 °C), preheat error was not triggered.
Improved preheat error now works in full range.
Improved printing in single material mode (printers with MMU2):
When using the multi-material printer for printing in single material mode (using just one filament), the user is asked which filament will be used during print. There is G-code "T?" which invokes menu for choosing filament and then loads chosen filament into the nozzle. Thus, the printer must be preheated when "T?" code is executed. This means that user must wait until preheat is done and the menu is invoked. To make single material print more user-friendly we have added new "Tx" and "Tc" codes. Tx invokes menu for choosing filament and loads chosen filament near the Bondtech gears. This G-code can be executed on the printer with a cold nozzle. Tc code then continues with loading (from Bondtech gears to nozzle). This two G-codes ensure that user can choose filament at the beginning of print without waiting for the nozzle to reach the target temperature. This two G-codes are not implemented in Slic3r settings yet. If you want to try it, here is part of G-code start sequence as an example:
M73 P0 R3
M73 Q0 S3
M201 X1000 Y1000 Z1000 E5000 ; sets maximum accelerations, mm/sec^2
M203 X200 Y200 Z12 E120 ; sets maximum feedrates, mm/sec
M204 P1250 R1250 T1250 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
M205 X8.00 Y8.00 Z0.40 E1.50 ; sets the jerk limits, mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec
M107
M107
M115 U3.4.1 ; tell printer latest FW version
M83 ; extruder relative mode
M104 S215 ; set extruder temp
M140 S60 ; set bed temp
Tx
M190 S60 ; wait for bed temp
M109 S215 ; wait for extruder temp
G28 W ; home all without mesh bed level
G80 ; mesh bed levelling
G21 ; set units to millimetres
;go outside the print area
G1 Y-3.0 F1000.0
G1 Z0.4 F1000.0
; select extruder
Tc
; purge line
G1 X55.0 E8.0 F2000.0
M73 Q0 S3
M73 P0 R3
G1 Z0.3 F1000.0
G92 E0.0
G1 X240.0 E25.0 F2200.0
G1 Y-2.0 F1000.0
G1 X55.0 E25 F1400.0
G1 Z0.20 F1000.0
G1 X5.0 E4.0 F1000.0
We have also fixed "T?" G-code function. There was a bug which caused that it didn't work for USB printing (for example with Octoprint).
Mesh bed levelling fail triggers Z-levelling:
In previous firmware versions, if mesh bed levelling failed, calibration was stopped with an error message, the user was forced to reset the printer and then fix the issue. Mesh bed levelling fails if Z coordinate where P.I.N.D.A. sensor triggers is higher or lower than expected or it does not trigger at all. If there is no hardware issue (P.I.N.D.A. cables etc.), this issue is caused by uneven X-axis and can be easily fixed by re-running Z calibration. In current firmware version, the user is not forced to reset printer in case that mesh bed levelling fails. Instead of that informative message appears and the procedure called Z-levelling is then invoked. Z-levelling is actually the first part of Z-calibration which is responsible for moving Z-axis to the top and levelling the axis. After Z-levelling is finished, mesh bed levelling is automatically re-run and printer continues printing.
Load to nozzle menu added (printers with MMU2):
There is now a possibility to load filament from the menu not only to MMU2 but also directly to nozzle. This is useful when printing older MK3/MK2.5 G-codes on the printer with MMU2.
Manage response improved (printers with MMU2):
If printer enters the state which requires the user to manually fix the issue on MMU2 (signalled by blinking LEDs on MMU2: for example failed load caused by missing filament during T-commands) and remains in that state for more than 5minutes, printer turns off heater and park extruder to the certain position. After the issue is fixed on MMU2, printer preheats nozzle, unparks and continues printing. However, sometimes it might be necessary (for example if unload failed and the user wants to repeat the action) or just useful (preheating nozzle in advance can save some time) to preheat nozzle before fixing manually issue on MMU2. In current firmware version, we have added the possibility to recover saved nozzle target temperature by a single click. Also, the nozzle temperature is always shown on the last line of printer display.
Fixed first layer calibration/Wizard for printers with MMU2:
The sequence for choosing/loading PLA filament which will be used during first layer calibration has been improved. When running Wizard on the printer with MMU2, it is possible to unload or eject current filament before loading new PLA filament.
SpoolJoin menu improved (printers with MMU2):
SpoolJoin (previously Auto deplete) function can be now turn on/off during print from tune menu. Dependency on filament sensor was added (in case that filament sensor is turned off, SpoolJoin is shown as "not available" in menu etc.).
Filament sensor for printers with MMU2 (dependency on optical sensor fixed):
There was a bug which caused that filament sensor (F.I.N.D.A.) couldn't be turned on printers which had optical filament sensor damaged or disconnected. This has been fixed.
Extruder stepper disabled during T-code execution (MK3 printers with MMU2):
This saves power, makes it easier to manually pull filament from Bondtech gears if necessary and lowers risk of filament damage when MMU2 is loading filament to the point right above Bondtech gears (especially in the case when MMU2 is not calibrated correctly).
Improved Wizard for assembled printers:
Wizard for assembled printers now contains all steps, which are described in our manuals and which are necessary for getting printer ready for printing:
- removing shipping helpers
- removing test print
- Z calibration
- unloading current filament
- loading new filament
Bed power monitor (MK3):
We have added the bed power monitor. It can be shown from menu "Support -> Voltages". Normal values are around 24 V. If value shown in the menu is zero it means that fuse is blown and needs replacement.
Setting TMC currents (G-codes) (MK3):
Standard M907 G-code can be now used for setting motor currents on MK3. Usage is the same as on MK2 printers: M907 Sxxx, where xxx is in mA. Please note that setting current too high leads to printer damage. Non-standard G-codes M910-M918 have been disabled. However, these G-codes can be still used by uncommenting line #ifdef TMC2130_SERVICE_CODES_M910_M918 in Configuration_prusa.h and rebuilding.
Crash detection -> stop print bug fixed (MK3):
After three consequent crashes print is paused and the user is asked if he wants to stop the print. There was a bug in stop print triggered by crash detection. This has been fixed.
M600: message synchronization, make space for opening the idler
Load filament messages synchronization for printers with MMU2 were improved.
If unload fails during filament change, the user is asked to open idler and manually pull the filament out. We have added extruder movement to make more space for this operation.
French language added
We have added the French language. However, it is still work in progress and will be finished in final 3.5.0 firmware.
---
Supported printers:
Original Prusa i3 MK3
Original Prusa i3 MK3 Multi Material 2.0
Original Prusa i3 MK2.5
Original Prusa i3 MK2.5 Multi Material 2.0
Download link:
https://www.prusa3d.com/drivers/
Previous releases:
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.5.0-RC1
Firmware flashing guide:
https://manual.prusa3d.com/Guide/Upgrading+the+firmware+v1.4/66
Please report any bug here:
https://github.com/prusa3d/Prusa-Firmware/issues
As always, we wish you happy printing and look forward to your feedback!
/ Knowledge Base
The guy behind Prusa assembly manuals...
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
Is there a reason that MMU_M600_SWITCH_EXTRUDER is not defined in this build? I think M600 should allow me to select a different extruder. I started looking at the code to see where that might be added, and lo I discovered that the support already exists, but seems to have been hidden inside an #ifdef block, and the triggering tag (MMU_M600_SWITCH_EXTRUDER) is not otherwise referenced.
Since M600 is mostly used to switch filaments without the MMU, it seems a natural thing for printers with MMUs to offer the ease of switching extruders to change the filament. I want this so much, I'm tempted to install the compiler so I can create my own one-off firmware .hex file so I can enable this. However, if this support will be released soon, my efforts would be better spent in other areas.
Thanks in advance for any reply regarding this.
--Mark Galbraith (Mk3 with MMU)
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
Am i missing something or is there a problem with filament auto-loading in 3.5.0? After installing 3.5.0.RC1(and with final version, too) my printer doesn't do autoload. Sensor itself is working, because it detected broken filament, it just won't autoload. Autoload IS set to "on" in menu.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
I compiled the firmware 3.5.0 myself from the source on github. The resulting hex file size is 632,552 bytes while the size of the official prusa hex files is 860,082 bytes. Does anyone have an idea what might causes this difference?
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
I edit gcode for color change often and with the new firmware during the M600 the print fan stays on blowing the purged filament across the bed making it hard to grab before it starts printing.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
i should have waited... is anyone else having very strange loading? when i first select to load filament it slowly retracts, then goes to the right front and asks to unload and load. I do that and then it will load.
I think it is retracting far too far while printing. which is causing me problems as well.
anyone else?
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
When I tried to load filament the first time after applying the firmware, after a couple times clicking no on the question "is the filament coming through yet?" question it must have got stuck in a loop and just kept continually feeding filament through until I reset the printer.
Other than that, it seems to be working fine.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
Hello,
would be possible to lift Z on total TOP after print finish? Now, it lifts only a few centimeters, but when getting steel sheet out I would need more space....
Thank you
Regards
Jakub
P.S. I assume some gcode could be added, but don`t see any reason why to do not that directly from printer...
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
P.S. I assume some gcode could be added, but don`t see any reason why to do not that directly from printer...
To do it directly from the printer, hold down the selector knob and the move z-axis screen will appear. From here you can raise it as high as you like.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
[...] P.S. I assume some gcode could be added, but don`t see any reason why to do not that directly from printer...
As richard.l notes, you can already do this easily from the front panel by pressing and holding the knob.
If you want to modify the gcode, just go into Printer Settings->Custom G-code->End G-code and modify the following line:
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+60, max_print_height)}{endif} ; Move print head up
Change that layer_z+60 from 60 to whatever value you want. The if condition will take the greater of the calculated position or the max Z position.
and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
Having also issues with filament autoload after going with this firmware. Hard to describe. But usually the autoload does not work at all, does not detect any filament inserted (maybe color dependand it does not work with white or ivory, it worked once with red, but before 3.5.0 I had no issues with the same colors). Also manual filament entry acts very strange and unpredictable.
Last time I had to reset print to avoid damage. Will try to describe what happend.
I unloaded old filament. After couple of seconds it starts load fillament, withouth having touched anything. It finishes. I select the the filament is load correctly to stop the action. Started to prepare the new filament. Sudenly it started to unload filament. Then it started to move the extruder right until it crashed to the right side (kept crashing for about 3 seconds). Then it randlomly chosen a file from SD and do a print preparation (preheat). I did not choose any print to start, not even using SD, going with Octoprint. During this it moved back to the middle of printer and starts to load the filament again. Then I hit reset. This was the most strange, but not the only wrong filament load behaviour I got with this firmware. I will risk it for a couple of days with it to have a chance better catch the behaviour and desribe. But then I will definitelly revert back. There is some very wrong coding behind.
With older firmware I have never had issues with filament senzor or autoload, it worked for me with any filament I have. Even if there were some posts on forum, about wrong functinality, never had an issue with. This and the firmware just before are terible.
Milos.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
Thinking about it, it acts when I choose some choice from the menu (I only answered the questions about if the filament is loaded corretly etc.) like it in fact does completely different actions. I really did not do any choice to print from SD and the marvin standard gcode was selected to print suddenly.
Milos.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
I did the extrusion linarity calibratrion, and then I wanted to save the value to the printer, BUT the value is not beeing saved over a powercycle. (After switching the printer off/on the value is [off] again).
Instructions for the calibration: https://github.com/prusa3d/Prusa-Firmware/wiki/Extruder-linearity-correction-calibration
BTW: which is the Gcode to set the correctin factor? I find a suspicious
TMC_SET_STEP_Exx
with xx being some value ... but what exactly, I don't know.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
So I built my printer this weekend, printed perfect prints from the start and printed for around 8-9 hours.
Then I upgraded firmware to 3.5, and after that the printer seemed to start crashing into the wall when doing the 9 point calibration?
And prints started to come loose, the head knocked down the print, so it seems like the Z axis was off.
Then I started the wizard to start from scratch, and I now are getting Selftest error, Axis Length, Axis Y.. What happened now?
Edit: So.. well.. the cable for the heatbed tempsensor came kinda loose, wonder if I skipped a step in the build instructions there, but the cable managed to hook it self into the frame or something, so it held back the y axis.
Looks like this: https://www.instagram.com/p/Bq5xCTxAl3B/
I taped it with Kapton, so I hope it will hold.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
P.S. I assume some gcode could be added, but don`t see any reason why to do not that directly from printer...
To do it directly from the printer, hold down the selector knob and the move z-axis screen will appear. From here you can raise it as high as you like.
Thank you Richard. I know that solution you proposed, thank you again, but the Bobstro`s answer helped me more.
Thank you all.
Regards
Jakub
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
This firmware works for me without any issues. The dreaded reloading of filament problem has not yet reared its ugly head.
Well, twice it did, once when I ran out of filament and once when I had the springs way too lose so the filament stopped moving through the extruder. Both times it worked as it should. 🙂
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
I've had a lot of strange problems since loading this filament. Suddenly having issues with nozzle clogs that I didn't previously had, not remedied by filament or even nozzle changes (mainly happening with PLA - PET is fine)
I am experiencing strange things with filament sensor and reloading - several times I have had the load cycle into a loop and had to switch off or it didn't stop.
Also am finding strange things happening with speed - whereas previously if I turned down the speed manually using the dial, it would take about half a minute to slow down extrusion. Now it doesn't seem to be slowing down at all on the dial. It could be my imagination, but printer seems to be trying to go like the clappers since I installed this firmware and software update.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
I'm also having filament jams toward the end of the heatbreak, not the nozzle, at reliably the same point in prints. Prior to the new firmware I had never seen this happen.
Silent mode on/off made no difference.
You can find me at https://pcburn.com and now in videos on YouTube: https://www.youtube.com/channel/UCgItLzb2PnHYKeNAFSx0jpA
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3 still a lot of problems
I have never had so many problems with my prusa except with the last two updates. Before i would get 1 failed print for every 15 to twenty prints. Now its a five failed prints for one good one.
Issues
1. Hotend just stops moving in mid print for a couple of seconds and says preheating. Display shows low hotend temperature by 4 to 5 c then starts moving again when temp setpoint reached. Then it stops again and repeats again. This almost always causes the print to fail.
After having these problems with holding temp I have calibrated hotend PID loop to 245c under calibrations menu after these failures.
2. Printing with first layer set to 235c. Rocks dead solid 235c. Second layer and the rest of print are set to 245c. Starting second layer the display shows xxx/245c for hotend. But the xxx still stays around 235c. 1 degree drift above or below 235c. It looks like the 245c is not the new setpoint. Then the print stops giving a preheating error after acouple of minutes. I have to press reset button to get error to go away. But if i set temperature to 245 on settings menu it holds it just fine.
I have tried this on a couple of different prints same problem the hotend will not heat up to new second layer temp. But this is where it gets strange. If I pause the print before preheat error and then resume the hotend goes to 245c and holds correctly. There is a serious bug somewhere. But i just found this out it might help track this bug down.
I never had these issues before this update. It is truely strange behavior.
2. Filament sensor still not working correctly. It works better but not for everything. I still leave it turned off.
I like a lot of what was added . But these etxra features have caused major instability during printing. I think you guys are hitting the max limits of the rambo board. I think you need to remove some features in order to get the machine to run properly. I know that people will get pissed but it needs to be done. it looks like the 8bit board is overloaded with all the extra work load of all these features. On the next i3 you need to move to 32bit architecture and then you can add these cool features back in.
Re: Firmware 3.5.0-FINAL for Original Prusa i3 MK3
I finally gave up and went back to 3.4.1. Reprinted with same filament and file no problems. print is great.
PLEASE pull 3.5.0 I wasted almost a week trying to get it to work along with a spool of filament. It has way to many problems to be FINAL.