Releases: 3d-gussner/Prusa-Firmware
3.9.1-BETA-3476 Firmware for MK3, MK3S, MK2.5 and MK2.5S
This is a Beta firmware to test some potential fixes. This is a replacement for v3.9.1-BETA-3464
- LA1.5 fix, please see and report back here Report: LA1.5 fix
- Altfan menu
NEVER let the printer unattended using this firmware
3.9.1-BETA-3464 Firmware for MK3, MK3S, MK2.5 and MK2.5S
This is a Beta firmware to test some potential fixes. This is a replacement for v3.9.1-BETA-3459
- LA1.5 fix, please see and report back here Report: LA1.5 fix
- Belt test fix, please see and report back here Report: Belt test fix
NEVER let the printer unattended using this firmware
3.9.1-BETA-3459 Firmware for MK3, MK3S, MK2.5 and MK2.5S
This is a Beta firmware to test some potential fixes.
- LA1.5 fix, please see and report back here Report: LA1.5 fix
- Belt test fix, please see and report back here Report: Belt test fix
NEVER let the printer unattended using this firmware
MK3: 3.1.3-HP firmware for Prusa i3 MK3 + Hyperfine Bed Leveling + PINDA-Fix
MK3: 3.1.3 firmware for Prusa i3 MK3 + Hyperfine Bed Leveling + PINDA-Fix
Disclaimer: This is a modified firmware based on Prusa firmware MK3 v3.1.3 release. We are not responsible for any damage/issue this modification may cause . It is the users choice which firmware she/he installs. PLEASE read the Notes carefully otherwise your printer might behave strange.
UPDATE 04. April 2018
- Fixed EEPROM space being used twice
- Attempt to enable D codes for all FW_DEV_VERSIONS
!!! As Prusa added new features which are stored in the EEPROM you HAVE TO do some things before updating from 3.1.1-HP to 3.1.3-HP or from 3.1.1-HP to original Prusa 3.1.3 firmware to get stable results!!!
- Please write down you Hyperfine Bed Leveling values from your printer
- Reset these values to 0 (zero) BEFORE you update any firmware
- Update the firmware to 3.1.3-HP
- Add your Hyperfine Bed Leveling values back to your printer
If you are new to this firmware and had stock firmware before then you don't need to follow these steps above.
I'll try to explain why you have to do that:
As bed leveling values has to be stored in the EEPROM i write them to unused space in the actual firmware. This also done by Prusa, so by them adding new features which need EEPROM space their and my used EEPROM space overlaps and this needs attention. I move the Hyperfine Bed Leveling always at the end of the actual firmware and so we have to reset the values before and write them back after the firmware update.
I hope one day Prusa will add Hyperfine Bed Leveling to the stock firmware, last time 3 requests didn't make it.
Summary:
This is final version of 3.1.3 firmware for MK3. Here the changes from the previous version 3.1.1-HP MK3 firmware:
Please read changes done by Prusa since:
- https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.3
- https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.3_RC1
- https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.2
- https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.2-RC1
plus
- Hyperfine Bed Leveling (mod by @jeffjordan and PJR, implemented by @3d-gussner)
- PINDA2 Calibration Tuning Fix (by @TheZeroBeast)
Hyperfine Bed Tuning
All the credit for the Hyperfine bed tuning goes to @Jeff-Jordan or JeffJordan and PJR who are incredible active, innovative, helpful and nice persons and can be found quite often in the Prusa forums !!! Also a big THANKS to @robrps who ported this idea to github!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Hyperfine bed tuning please use the Prusa Forum Topic Hyperfine bed leveling?
The Hyperfine Bed leveling/correction is an advanced 'Bed level correct' version of the original Prusa code, which allows to manually adjust Left/Right/Front/Rear bed heights. Next to the default Left/Right/Front/Rear it now allows to adjust the four corner points FrontLeft/FrontRight/RearRight/RearLeft.
Best explanation can be found here by JeffJordan https://shop.prusa3d.com/forum/prusa-i3-kit-building-calibrating-first-print-main-f6/hyperfine-bed-leveling--t4330-s110.html#p41311
If you use different material here my Hyperfine_Calibration.STL files.
To slice them them correctly in Slic3rPE you need:
- Add... 'center_HyperCal.stl'
- Double click on HyperCal.stl
- Load part... and choose all other stl files from a_HyperCal.stl to h_HyperCal.stl or just one for the corner you need.
You also can slice these with PrusaControl: - Go to 'File' and 'Import multipart model file'
- Choose all files
Helpful Hyperfine Bed Leveling commands:
G80 = Meshbed leveling
G81 = This will report out the interpolated Z values for a 7 x 7 array that composes the mesh bed. It needs G80 run before
Advanced gcodes:
M45 V20 = Run XYZ-Calibration in verbose mode and lot of information
G80 V20 = Run Meshbed leveling in verbose mode and lot of information
PINDA2 Calibration Tuning Fix
All the credit for PINDAv2 Calibration Tuning fix goes to @TheZeroBeast
Please read for maore information:
prusa3d#439 and prusa3d#421
Helpful PINDAv2 G-code commands:
G75 and D8 = Read PINDA temperature offset values
G76 = Run PINDAv2 temperature calibration
MK2.5: 3.1.3-HP firmware for Prusa i3 MK2.5 + Hyperfine Bed Leveling + PINDA-Fix
MK2.5: 3.1.3 firmware for Prusa i3 MK2.5 + Hyperfine Bed Leveling + PINDA-Fix
Disclaimer: This is a modified firmware based on Prusa firmware MK2.5 v3.1.3 release. We are not responsible for any damage/issue this modification may cause . It is the users choice which firmware she/he installs. PLEASE read the Notes carefully otherwise your printer might behave strange.
This is final version of 3.1.3 firmware for MK2.5 plus
- Hyperfine Bed Leveling (mod by @jeffjordan and PJR, implemented by @3d-gussner)
- PINDA2 Calibration Tuning Fix (by @TheZeroBeast)
Previous firmware version (https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.3-RC1) was initial firmware version for MK2.5.
Hyperfine Bed Tuning
All the credit for the Hyperfine bed tuning goes to @Jeff-Jordan or JeffJordan and PJR who are incredible active, innovative, helpful and nice persons and can be found quite often in the Prusa forums !!! Also a big THANKS to @robrps who ported this idea to github!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Hyperfine bed tuning please use the Prusa Forum Topic Hyperfine bed leveling?
The Hyperfine Bed leveling/correction is an advanced 'Bed level correct' version of the original Prusa code, which allows to manually adjust Left/Right/Front/Rear bed heights. Next to the default Left/Right/Front/Rear it now allows to adjust the four corner points FrontLeft/FrontRight/RearRight/RearLeft.
Best explanation can be found here by JeffJordan https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-assembly-and-first-prints-troubleshooting/hyperfine-bed-leveling/paged/6/#post-41311
If you use different material here my Hyperfine_Calibration.STL files.
To slice them them correctly in Slic3rPE you need:
- Add... 'center_HyperCal.stl'
- Double click on HyperCal.stl
- Load part... and choose all other stl files from a_HyperCal.stl to h_HyperCal.stl or just one for the corner you need.
You also can slice these with PrusaControl: - Go to 'File' and 'Import multipart model file'
- Choose all files
Helpful Hyperfine Bed Leveling commands:
G80 = Meshbed leveling
G81 = This will report out the interpolated Z values for a 7 x 7 array that composes the mesh bed. It needs G80 run before
Advanced gcodes:
M45 V20 = Run XYZ-Calibration in verbose mode and lot of information
G80 V20 = Run Meshbed leveling in verbose mode and lot of information
PINDA2 Calibration Tuning Fix
All the credit for PINDAv2 Calibration Tuning fix goes to @TheZeroBeast
Please read for maore information:
prusa3d#439 and prusa3d#421
Helpful PINDAv2 G-code commands:
G75 and D8 = Read PINDA temperature offset values
G76 = Run PINDAv2 temperature calibration
Prusa
Changes with respect to 3.1.3-RC1 for MK2.5:
Temperature calibration fixes:
Current version of temperature calibration works best without steel sheet.
At the beginning of temperature calibration, user is asked if there is steel sheet on heatbed. If he chooses "yes" option, he is asked to remove steel sheet and printer waits for knob pressing. In previous firmware version, there was no movement in Z axis during this procedure and thus removing steel sheet was often difficult and usually only option was to restart printer, move Z manually and then start calibration again.
In current firmware version, if user chooses that steel sheet is on heatbed, printing head moves to certain position which makes it possible to easily remove steel sheet and waits until the user removes steel sheet and presses the knob.
If printer hasn't been homed yet (position of nozzle is not known yet) and user starts temperature calibration, there is auto home at the beginning. Printer first homes x and y axes and then, moves to certain xy position and then z axis homing proceeds. PINDA probe should be above left front calibration point when homing Z axis without steel sheet. In previous firmware version, PINDA probe has some offset in Y axis, which caused, that PINDA probe triggered lower then desired and nozzle could touch heatbed after auto home without steel sheet and then damage heatbed surface when temperature calibration proceeds. In current firmware version auto home position has been corrected and nozzle on correctly assebled printer is now always in safe distance from heatbed after auto homing without steel sheet.
Other changes:
- Czech language translation corrected
- "Development version" warning message removed
3.1.1-HP firmware for Prusa i3 MK3 + Hyperfine Bed Leveling + PINDA-Fix
3.1.1 firmware for Prusa i3 MK3 + Hyperfine Bed Leveling + PINDA-Fix
Disclaimer: This is a modified firmware based on Prusa firmware MK3 v3.1.1 release. We are not responsible for any damage/issue this modification may cause . It is the users choice which firmware she/he installs.
UPDATE 05. February 2018
Prusa changed the official 3.1.1 release on the 05. February 2018 from build 197 to 201. This includes the pull request prusa3d#462
Due to the official release change, I decided also to update this release.
Notice that you may need to redo specific changes which has been written to YOUR EEPROM with M500 gcode, like PID tuning, E-steps, etc.
Before you update to this firmware make a copy of your EEPROM settings using gcode M503 and compare it to the results after updating
End of UPDATE
Summary:
- Filament sensor reliability improvements
- Print reliability improved
- More detailed fail stats
- Fan error pauses print
- Long pause/print fan error improved
- Hyperfine Bed Leveling (mod by @jeffjordan and PJR, implemented by @3d-gussner)
- PINDA2 Calibration Tuning Fix (by @TheZeroBeast)
Release notes for previous firmware version can be found here:
https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.1.1-RC5
Summary of previous releases can be found here:
https://www.prusa3d.com/drivers/
Detailed description of changes:
Filament sensor reliability improvements
Filament sensor function was optimized, which leads to lower number of false detections.
Print reliability improved
Extruder resolution has been changed to 32 microsteps and stepper routine timing has been optimized.
This ensures that stepper movements are fluent even with high feedrates and printing over serial is reliable. Lower microstep resolution has no negative effect on print quality.
Linear advance feature is still disabled in current firmware version.
Users who saved parameters on previous firmware versions to EEPROM using M500 or by running PID calibration are informed on printer startup that default setting were loaded. This ensures that correct microstep resolution and extruder steps/mm will be used. If "default settings were loaded" message occurs on printer starup, it is recommended to re-run PID calibration or redo custom changes which were stored by M500 on previous firmware versions.
More detailed fail stats
In previous firmware versions, there was just one fail stats menu which contained statistics about power failures, filament runouts and detected crashes. We have split these statistics into "Last print" and "Total" menus.
We have also split detected crashes and now we have separate statistics for X and Y axis.
Fan error pauses print
If fan error occures when printing over serial line using Octoprint, print is paused using action commands (http://docs.octoprint.org/en/master/features/action_commands.html). This should be helpful in cases that fan is blocked by some obstacle and user can remove the obstacle and continue printing. In previous firmware versions connection between printer and Octoprint were lost during fan error and it was not possible to continue printing.
Long pause/print fan error improved
If long pause or print fan error occured during rehoming (for example during crash detection), there was wrong Z coordinate used when resuming paused print (or SD card print paused by fan error). This has been fixed and in current firmware version pause print is postponed until rehoming is finished.
Other
- Menu options aligned with encoder clicks/positions
- Invalid unknown gcodes reported on serial
- Preheat temperatures updated
- Added temperature calibration warnings which inform user about all necessary conditions
- Firmware version check fix
- M600 unload current lowered to avoid damage of filament sensor
Hyperfine Bed Tuning
All the credit for the Hyperfine bed tuning goes to @Jeff-Jordan or JeffJordan and PJR who are incredible active, innovative, helpful and nice persons and can be found quite often in the Prusa forums !!! Also a big THANKS to @robrps who ported this idea to github!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Hyperfine bed tuning please use the Prusa Forum Topic Hyperfine bed leveling?
The Hyperfine Bed leveling/correction is an advanced 'Bed level correct' version of the original Prusa code, which allows to manually adjust Left/Right/Front/Rear bed heights. Next to the default Left/Right/Front/Rear it now allows to adjust the four corner points FrontLeft/FrontRight/RearRight/RearLeft.
Best explanation can be found here by JeffJordan https://shop.prusa3d.com/forum/prusa-i3-kit-building-calibrating-first-print-main-f6/hyperfine-bed-leveling--t4330-s110.html#p41311
If you use different material here my Hyperfine_Calibration.STL files.
To slice them them correctly in Slic3rPE you need:
- Add... 'center_HyperCal.stl'
- Double click on HyperCal.stl
- Load part... and choose all other stl files from a_HyperCal.stl to h_HyperCal.stl or just one for the corner you need.
You also can slice these with PrusaControl: - Go to 'File' and 'Import multipart model file'
- Choose all files
Helpful Hyperfine Bed Leveling commands:
G80 = Meshbed leveling
G81 = This will report out the interpolated Z values for a 7 x 7 array that composes the mesh bed. It needs G80 run before
Advanced gcodes:
M45 V20 = Run XYZ-Calibration in verbose mode and lot of information
G80 V20 = Run Meshbed leveling in verbose mode and lot of information
PINDA2 Calibration Tuning Fix
All the credit for PINDAv2 Calibration Tuning fix goes to @TheZeroBeast
Please read for maore information:
prusa3d#439 and prusa3d#421
Helpful PINDAv2 G-code commands:
G75 and D8 = Read PINDA temperature offset values
G76 = Run PINDAv2 temperature calibration
3.1.0-001-HFM firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
3.1.0-001-HFM firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor including new languages Dutch, Portuguese and French
Update 30. January 2018: If you don't have a filament sensor connected to y-max please disable/enable/disable the 'Fil.RS' under LCD Settings menu BEFORE you try to print!
Due to a bug (hope found it and it will be fixed in the next release) it can happen that the filament runout sensor status isn't correctly stored in the EEPROM and will trigger the filament change procedure all the time when there is no filament sensor connected to y-max.
Update 13. January 2018
- Fixed the Hyperfine calibration STL download link below.
- Added instructions for Prusa Control
- Added gcode for MK2 and MK2 MM Single Mode each in tree flavors: PLA, PET ABS
- Slic3r PE 1.38.6 (from Drivers 2.12)
- Prusa PLA, Prusa PET, Prusa ABS Filament Settings
- 0.15mm 100mms Linear Advance with no skirt
- Modified gcode fieles from 'G80' to 'G80 V20', having Pronterface connected to your printer you get lot of meshbed leveling information you may use to get right hyperfine calibrations.
All changes are below in the Hyperfine Bed Tuning section.
What's new
- Added M110 fix from @thess prusa3d#283 which may fixed few OctoPrint/Repetier issues prusa3d#280
- Added firmware build information as on the MK3
- Fixed compiling errors with MMU and FRS disabled
- Fixed MSG limits in language_en.h
- Created new langtool_EN_CZ_PL.h file due to ATmega 2560 limits in some cases.
- Big thanks to Jean-Pierre.g helping with the French translation! Now it should be fine.
Remember that this an unofficial firmware version based on Prusa 3.1.0 MK2 branch firmware around 22. Dec 2017
You can choose between tree hex files for the Prusa i3 MK2/s (with miniRAMbo v1.3):
- 20171229v1-3.1.0_Build001_EN_CZ_IT_ES_PL_DE_Hyperfine_FRS_1_75mm_MK2-RAMBo13a-E3Dv6full.hex with stock languages.
- 20171229v1-3.1.0_Build001_EN_DE_NL_FR_IT_Hyperfine_FRS_1_75mm_MK2-RAMBo13a-E3Dv6full.hex with English, German, Dutch, French (complete) and Italian.
For Germany(DE), Netherlands (NL), Belgium (NL,FR,DE), Switzerland (DE,FR,IT), Italy (IT), France (FR) - 20171229v1-3.1.0_Build001_EN_ES_FR_PT_NL_Hyperfine_FRS_1_75mm_MK2-RAMBo13a-E3Dv6full.hex with English, Spanish, French (complete), Portuguese and Dutch.
For Spain (ES), France (FR), Portugal (PT), North/Mid America (EN,ES,FR,NL), South America (ES,PT,FR,NL), some parts of Africa (EN,FR,PT,ES,sort of NL), some Oceania Islands (EN,FR)
For Prusa i3 Mk2/s Multi Material Upgrade (with miniRAMbo v1.3) you can choose between three versions.
I don't own a MMU so i could not test it!
Due to limits of the miniRAMbo and the need of verbosity function for Hyperfine Bed Tuning, i had to enable SUPPORT_VERBOSITY also for MMU (which is disabled in the stock due to the limits) AND because of that shorten the supported languages per hex file to squeez it in.
- 20171229v1-3.1.0_Build001_EN_CZ_PL_Hyperfine_FRS_1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.hex with English, Czech and Polish.
- 20171229v1-3.1.0_Build001_EN_DE_NL_FR_IT_Hyperfine_FRS_1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.hex with English, German, Dutch, French (complete) and Italian.
- 20171229v1-3.1.0_Build001_EN_ES_FR_PT_NL_Hyperfine_FRS_1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.hex with English, Spanish, French (complete), Portuguese and Dutch.
Please let me know if the Multi Material versions are working or anything has to be changed. There may be a chance that even 5 languages are too much for the miniRAMbo.
BTW: Prusa confirmed that the MK3 Einsy Board will get an extra SPI flash to offload languages and maybe other things.
Hyperfine Bed Tuning
All the credit for the Hyperfine bed tuning goes to @Jeff-Jordan or JeffJordan and PJR who are incredible active, innovative, helpful and nice persons and can be found quite often in the Prusa forums !!! Also a big THANKS to @robrps who ported this idea to github!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Hyperfine bed tuning please use the Prusa Forum Topic Hyperfine bed leveling?
The Hyperfine Bed leveling/correction is an advanced 'Bed level correct' version of the original Prusa code, which allows to manually adjust Left/Right/Front/Rear bed heights. Next to the default Left/Right/Front/Rear it now allows to adjust the four corner points FrontLeft/FrontRight/RearRight/RearLeft.
Best explanation can be found here by JeffJordan https://forum.prusaprinters.org/forum/original-prusa-i3-mk2-s-assembly-and-first-prints-troubleshooting/hyperfine-bed-leveling/paged/6/#post-41311
Here for Linear Advance Integration modified hyperfine bed calibration g-code based on the JeffJordan g-code.
If you use different material here my Hyperfine_Calibration.STL files.
To slice them them correctly in Slic3rPE you need:
- Add... 'center_HyperCal.stl'
- Double click on HyperCal.stl
- Load part... and choose all other stl files from a_HyperCal.stl to h_HyperCal.stl or just one for the corner you need.
You also can slice these with PrusaControl: - Go to 'File' and 'Import multipart model file'
- Choose all files
Here some the Hyperfine_Calibration.gcode
This firmware has a filament runout sensor function activated!
Thanks a lot to @TheZeroBeast helping coding, testing, involving and making this possible!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Filament Runout Sensor please use the Prusa Forum Topic Wire up filament sensor to MK2, use thermister circuit?
- As soon this feature is activated (check via LCD menu) you need a connected filament runout sensor otherwise your printer will not print until that sensor is connected or disabled via LCD menu!
You need to connect the filament runout switch to y-max 'S'ensor and '-' pins. You can see it quite good here and here
- Filament runout sensor can be set via LCD menu Settings->Fil.Runout S
- Fil.Runout S [ON/OFF] to active and de-active the function
- Fil.RS [S to VCC/S to GND] to choose between sensors pulling the Signal to VCC(most optical) or GND(like xy endstops)
- Fil.RSPullup [ON/OFF] set the internal pull-up resistor to get constant readings. This is needed with most mechanic sensors (like xy endstops)
- The status of the Filament runout sensor if activated can be seen via g-code M119 or LCD menu 'Calibration->Show end stops'
- During the print the filament runout sensor function can be de-/activated, this can be found under Tune LCD menu.
Here an nice PRUSA MK2S DUST FILTER/OPTO FILAMENT RUNOUT SENSOR on Thingiverse from TheZeroBeast.
Another for LACK enclosure Prusa Filament Out Sensor from jmillerfo
Please double check the values for the Hyperfine Bed Tuning and Filament Runout Sensor after uploading this firmware
Somebody could not print because of the Filament Runout Sensor being ON without having a sensor connected to y-max.
- In Pronterface/Octoprint you can use g-code G80 to see Hyperfine values and M503 and M119 for the FRS
- You can review/change the Hyperfine Bed Tuning values under Calibration->Bed level correct
- The Filament Runout Sensor can be found under Settings where 'F...
3.1.0 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
3.1.0 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor including new languages
Remember that this an unofficial firmware version based on Prusa 3.1.0 firmware
You can choose between tree hex files for the Prusa i3 MK2/s (with miniRAMbo v1.3):
- 20171115v1-3.1.0_EN_CZ_IT_ES_PL_DE_Hyperfine_FRS_1_75mm_MK2-RAMBo13a-E3Dv6full.hex with stock languages.
- 20171115v2-3.1.0_EN_DE_NL_FR_IT_Hyperfine_FRS_1_75mm_MK2-RAMBo13a-E3Dv6full.hex with English, German, Dutch, French (not complete yet) and Italian.
For Germany(DE), Netherlands (NL), Belgium (NL,FR,DE), Switzerland (DE,FR,IT), Italy (IT), France (FR) - 20171115v2-3.1.0_EN_ES_FR_PT_NL_Hyperfine_FRS_1_75mm_MK2-RAMBo13a-E3Dv6full.hex with English, Spanish, French (not complete yet), Portuguese and Dutch.
For Spain (ES), France (FR), Portugal (PT), North/Mid America (EN,ES,FR,NL), South America (ES,PT,FR,NL), some parts of Africa (EN,FR,PT,ES,sort of NL), some Oceania Islands (EN,FR)
UPDATE 28. Nov 2017: Hex files for Prusa i3 MK2/s Multi Material printers
For Prusa i3 Mk2/s Multi Material Upgrade (with miniRAMbo v1.3) you can choose between three versions.
I don't own a MMU so i could not test it!
Due to limits of the miniRAMbo and the need of verbosity function for Hyperfine Bed Tuning, i had to enable SUPPORT_VERBOSITY also for MMU (which is disabled in the stock due to the limits) AND because of that shorten the supported languages per hex file to squeez it in.
- 20171128v1-3.1.0_EN_CZ_PL_Hyperfine_FRS_1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.hex
- 20171128v1-3.1.0_EN_DE_NL_FR_IT_Hyperfine_FRS_1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.hex
- 20171128v1-3.1.0_EN_ES_FR_PT_NL_Hyperfine_FRS_1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.hex
Please let me know if the Multi Material versions are working or anything has to be changed. There may be a chance that even 5 languages are too much for the miniRAMbo.
BTW: Prusa confirmed that the MK3 Einsy Board will get an extra SPI flash to offload languages and maybe other things.
If you like the additional translations and like to help please contact me.
I am happy that ~57% of all download were the stock languages and the rest with the modified/added languages. Nice to see that people care and WE didn't translate for nothing. THANKS
End of Update 28. Nov 2017
Please double check the values for the Hyperfine Bed Tuning and Filament Runout Sensor after uploading this firmware
Somebody could not print because of the Filament Runout Sensor being ON without having a sensor connected to y-max.
- In Pronterface/Octoprint you can use g-code G80 to see Hyperfine values and M503 and M119 for the FRS
- You can review/change the Hyperfine Bed Tuning values under Calibration->Bed level correct
- The Filament Runout Sensor can be found under Settings where 'Fil.RS [OFF]' means it is disabled
Sorry for the inconvenience.
I will try to find a way to prevent this in the future.
Differences to previous version 3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
Please read the 3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
AND the 3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor for more information
Check if file is complete
In previous firmware version, there was bug which caused that some complete files were wrongly reported as incomplete by the printer. This was happening with files sliced in S3D, because of slightly different end g-code. This issue has been fixed.
Sorting files in SD card menu
In previous firmware version, files order in SD card menu reverted to unsorted when print was finished. This has been fixed,
PID calibration safety check
At the beginning of PID calibration heating is turned on and nozzle (or heatbed) temperature is rising.
For improved safety, we are now checking if measured temperature rises as fast as expected during this initial phase. In case that there is for example faulty/disconnected thermistor, measured temperature doesn't rise and PID calibration is then terminated, heating is turned off and thermal runaway error message is shown on LCD and serial.
Other changes:
language corrections
Dutch, Portuguese and French
Added some translations:
- Dutch by 3d-gussner
- Portuguese big thanks to @nfsmedeiros
- French is not completed yet but big thanks for starting the translation to @ChrisP-Git
Please feel free to comment/correct translations we started.
3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
UPDATE 03 December 2017 please check the newest release https://github.com/3d-gussner/Prusa-Firmware/releases/latest
3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
Remember that this a RC version of the Prusa RC version.
As we have seen the Prusa 3.1.0-RC1 has a quite big bug that could damage your printer, so be careful and check the Github releases for updates. If you have questions or issues, please feel free to open an Issue.
Please double check the values for the Hyperfine Bed Tuning and Filament Runout Sensor after uploading this firmware
Somebody could not print because of the Filament Runout Sensor being ON without having a sensor connected to y-max.
- In Pronterface/Octoprint you can use g-code G80 to see Hyperfine values and M503 and M119 for the FRS
- You can review/change the Hyperfine Bed Tuning values under Calibration->Bed level correct
- The Filament Runout Sensor can be found under Settings where 'Fil.RS [OFF]' means it is disabled
Sorry for the inconvenience.
I will try to find a way to prevent this in the future.
Differences to previous version 3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
Please read the 3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor for more information
Hyperfine Bed Tuning
All the credit for the Hyperfine bed tuning goes to @Jeff-Jordan or JeffJordan and PJR who are incredible active, innovative, helpful and nice persons and can be found quite often in the Prusa forums !!!
Minor changes have been made to shown messages. Hopefully it makes the procedure bit easier.
This firmware has a filament runout sensor function activated!
Thanks a lot to @TheZeroBeast helping coding, testing, involving and making this possible!
Major changes made to use less EEPROM and hopefully easier to use. Please let me know if you like it or not via the Issues section.
- Filament runout sensor can be set via LCD menu Settings->Fil.RS
- The menu changed to one line, instead of a submenu with 3 options to choose
- You can choose between:
- Fil.RS [OFF] ~ Disabled
- Fil.RS [S to VCC] ~ Filament runout sensor triggers/sens filament when the signal is high. Most optical sensors are connected with 3 pins [S, GND, VCC], but there may be also mechanical switches using all 3 pins and trigger the same way
- Fil.RS [S to GND] ~ Filament runout sensor triggers/sens filament when the signal is low. Most mechanical switches are connected with 2 pins [S, GND] (like the Prusa x-, y-endstops). The need of the internal pullup resistor is now handled automaticaly
- During the print you can disable/re-enable the filament runout sensor menu via the Tune if needed. BUT you cannot change the type, and accidentally trigger a filament change
- Change position back to stock x=211, y=0
- removed PID Bed tuning. Most users think it is not needed in the firmware. So if somebody needs to run PID tuning on the BED look for some guides available on the internet
- Modified g-code M503 results to show the filament runout sensor status
Here some nice designs and links for Filament Runout Sensor solutions:
- yet another filament-runout-sensor
- PRUSA MK2S DUST FILTER/OPTO FILAMENT RUNOUT SENSOR by TheZeroBeast
If you update from the previous Firmware version please double check the settings and calibration values. The some EEPROM positions for the additional features changed and may cause problems. I didn't have any but you never know.
The Multi language version got one step closer as @nfsmedeiros translated to Portuguese. Big thanks for helping.
Still need someone to help with French !!!
So if you are interested in these firmware versions PLEASE help to translate.
Following information is from official Prusa 3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU release.
3.1.0-RC2 firmware for Prusa i3 MK2/S/MMU
Description of changes with respect to RC1:
Linear advance
Using linear advance with colorprint (M600) didn't work correctly. It was possible to reach state where printer stopped working and also temperature regulation didn't work. This is critical issue which can damage printer.
More information about this issue can be found here: prusa3d#245. This has been fixed. For users who are currently using 3.1.0 - RC1 it is highly recommended to upgrade to current firmware version.
We currently recommend following settings for printing with linear advance (for 100 mm/s):
PLA: M900 K30
ABS: M900 K30
PET: M900 K45
Multi material printer: M900 K200 for all materials
These settings are quite conservative and for some objects better results can be obtained with slightly higher K values.
Wizard
Fixed loading filament in multi material version. Translation to all supported messages was added.
SD card menu sorting
Sorting files in SD card menu was overally improved. Sorting in subfolders now works. Maximum number of files which can be sorted is currently limited to 100 in one folder. Also SD card can be now pulled out from the printer during sorting process.
Check if file is complete
If file is not complete, user is informed by warning message about it and he can decide if he will continue printing anyway. If user choosed not to print incomplete file, there was bug which caused, that printer executed some movements. This has been fixed.
For this check we search for M84 (disable steppers) in last 10 000 bytes of gcode file. This works well with our print settings. If you don't use our print settings, please add M84 to end section of your gcode.
"Slow printer" issue fixed
More information about this issue can be found here: prusa3d#226
Other
M20 (list SD card) and M110 (set line number) fixed
Host keepalive messages furthermore improved
3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
UPDATE 03 December 2017 please check the newest release https://github.com/3d-gussner/Prusa-Firmware/releases/latest
UPDATE: Removed the hex file for the moment as Prusa released a 3.1.0-RC2 with a warning.
Here more [info] (https://shop.prusa3d.com/forum/original-prusa-i3-mk2-f23/firmware-3-1-0-rc2-mk2-multi-material-mk2-s-mk1-t6454.html#p45064)
I will try to upload the newest release asap.
3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor
Remember that this a Beta version of the Prusa Beta version.
Hyperfine Bed Tuning
All the credit for the Hyperfine bed tuning goes to @Jeff-Jordan or JeffJordan and PJR who are incredible active, innovative, helpful and nice persons and can be found quite often in the Prusa forums !!! Also a big THANKS to @robrps who ported this idea to github!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Hyperfine bed tuning please use the Prusa Forum Topic Hyperfine bed leveling?
The Hyperfine Bed leveling/correction is an advanced 'Bed level correct' version of the original Prusa code, which allows to manually adjust Left/Right/Front/Rear bed heights. Next to the default Left/Right/Front/Rear it now allows to adjust the four corner points FrontLeft/FrontRight/RearRight/RearLeft.
Best explanation can be found here by JeffJordan https://shop.prusa3d.com/forum/prusa-i3-kit-building-calibrating-first-print-main-f6/hyperfine-bed-leveling--t4330-s110.html#p41311
Here for Linear Advance Integration modified hyperfine bed calibration g-code based on the JeffJordan g-code.
This firmware has a filament runout sensor function activated!
Thanks a lot to @TheZeroBeast helping coding, testing, involving and making this possible!
- If you have any issues/problems with my modifications please let me know via the issues section.
- If you have questions or problems with Filament Runout Sensor please use the Prusa Forum Topic Wire up filament sensor to MK2, use thermister circuit?
- As soon this feature is activated (check via LCD menu) you need a connected filament runout sensor otherwise your printer will not print until that sensor is connected or disabled via LCD menu!
You need to connect the filament runout switch to y-max 'S'ensor and '-' pins. You can see it quite good here and here
- Filament runout sensor can be set via LCD menu Settings->Fil.Runout S
- Fil.Runout S [ON/OFF] to active and de-active the function
- Fil.RS [S to VCC/S to GND] to choose between sensors pulling the Signal to VCC(most optical) or GND(like xy endstops)
- Fil.RSPullup [ON/OFF] set the internal pull-up resistor to get constant readings. This is needed with most mechanic sensors (like xy endstops)
- The status of the Filament runout sensor if activated can be seen via g-code M119 or LCD menu 'Calibration->Show end stops'
- During the print the filament runout sensor function can be de-/activated, this can be found under Tune LCD menu.
Here an nice PRUSA MK2S DUST FILTER/OPTO FILAMENT RUNOUT SENSOR on Thingiverse from TheZeroBeast.
Linear Advance Integration needs modifications to your slicing software, please read below!
- Here a calibration gcode Sebastianv650 provided to get the right K-value for your PLA filament you are using K-Line.Test.gcode.zip
You may need to run the PID tuning and PID Bed tuning after uploading the firmware.
- You can do it via g-code
- or the LCD menu 'Calibration->PID calibration' for the hotend
- and 'Calibration->PID Bed calibration' for the heated bed.
Modified filament change position
The stock change position is X=211, Y=0 and Z-ADD (Z lift) is 2 but below 10mm the hotend moves additional 10mm. I decided to move the position to X=0, Y=-2.2 and change the Z-Lift blow 20mm to additional 20mm so I have enough space for my tweezers.
Differences to previous version 3.0.12-2 firmware for Prusa i3 MK2 with Filament runout sensor and Linear Advance Integration
- Hyperfine bed leveling tuning check prusa3d#211
- Filament runout sensor can be set via LCD menu Settings->Filament Runout S
If you update from the previous Firmware version please double check the settings and calibration values. The some EEPROM positions for the additional features changed and may cause problems. I didn't have any but you never know.
Differences to original Prusa i3 MK2 firmware 3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU
- Hyperfine bed leveling tuning check prusa3d#211
- Filament runout sensor can be set via LCD menu Settings->Fil.Runout S
- Fil.Runout S [ON/OFF] to active and de-active the function
- Fil.RS [S to VCC/S to GND] to choose between sensors pulling the Signal to VCC(most optical) or GND(like xy end stops)
- Fil.RSPullup [ON/OFF] set the internal pull-up resistor to get constant readings. This is needed with most mechanic sensors (like xy end stops)
- The status of the Filament runout sensor can be seen via g-code M119 or LCD menu 'Calibration->Show end stops'
- 1 when filament is loaded.
- flickering between 0 and 1 when filament run out
- 0 is runout switch is not connected right OR if you use all three pins filament ran out.
- Filament runout sensor changed to pin 24 'y-max' endstop
- Added filament runout status to 'Show end stops' menu
- Under 'Calibration' -> 'Show end stops' you will find new FR_S value, which has to to be
- Change position change from x=211,y=0 and z-add (z-lift)= 2 to x=0, Y=-2.2, z-add =2
- Using the gcode M600 change filament or the filament runout sensor triggers the extruder moves 2mm up and to x=0, y=-2.2 position. But is the layer height during 'change/filament runout' lower than 20mm the extruders moves additional 20mm up and to x=0, y=-2.2 position.
- After changing the filament to print continues the print.
- Updated German translation by 3d-gussner
- Few English changes
- PID calibration menu with 8 cycles
- PID bed calibration menue mod by 3d-gussner
- PID values for bed saving
- Preheat order changed from ABS/PLA/... to PLA/ABS/...
Adding the Dutch translation gave me some strange errors after uploading the firmware. So i started to investigate and found there is no issue with the Dutch translation file, it seams to be that i hit a limit (RAM or something else).
Prusa didn't want to include my Dutch translation before and they mentioned possible issues with too much languages.
So i decided to upload different hex files:
1st will be the stock languages, except i run again into limits (EN,CZ,IT,ES,PL,DE)
2nd will be EN/DE/NL/IT/(FR). For Germany(DE), Netherlands (NL), Belgium (NL,FR,DE), Switzerland (DE,FR,IT), Italy (IT), France (FR)
3rd will be EN/ES/(FR)/(PT)/NL. For Spain (ES), France (FR), Portugal (PT), North/Mid America (EN,ES,FR,NL), South America (ES,PT,FR,NL), some parts of Africa (EN,FR,PT,ES,sort of NL), some Oceania Islands (EN,FR)
My French isn't that good anymore, Spanish and Italian are limited to basic things like: 'Dos cervezas por favor' or 'Due espresso per favore' and in Portuguese i am completely lost.
Due to the HD44780 A00 ROM LCD screen used by Prusa special European characters are not possible. It is a pity because there is also a HD44780 A02 European character ROM version available.
In German you can write ä,ö,ü,ß as ae,oe,ue,ss but á,é,è,ê etc. will be a problem.
So if you are interested in these firmware versions PLEASE help to translate.
Following information is from official Prusa 3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU release.
Summary:
- Linear Advance
- Wizard
- Host keep alive messages
- SD card menu sorting
- Check if file is complete
- First layer calibration
- Auto power mode
- XYZ calibration details menu fixed
- M220: Speed factor
Detailed description:
Linear advance
This feature has been ported from Marlin firmware by @Sebastianv650. Thank you for your kind help Sebastian.
Without linear advance, extruder motor moves in linear proportion to all the other motors. This simple approach does not take in the account that extruder is not linear system. This leads to extruding more material then desired at the end of each linear movement. Linear advance on the other hand takes nonlinearity into account and maintains correct pressure in nozzle during movements.
Advantages:
Better dimensional precision due to reduced bleeding edges.
Higher printing speeds are possible without any loss of print quality.
Visible and tangible print quality is increased even at lower printing speeds.
No longer...