Skip to content

3.1.0-001-HFM firmware for Prusa i3 MK2/S/MMU with Hyperfine Bed Tuning and Filament Runout Sensor

Compare
Choose a tag to compare
@3d-gussner 3d-gussner released this 08 Jan 09:59
· 10 commits to MK2-Private_build since this release

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):

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.

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

hyperfine bed leveling jeffjordan

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
minirambo-medium_fr_sens

  • 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 'Fil.RS [OFF]' means it is disabled

Sorry for the inconvenience.
I will try to find a way to prevent this in the future.

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.

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.

Dutch, Portuguese and French

Added some translations:

  • Dutch by 3d-gussner
  • Portuguese big thanks to @nfsmedeiros
  • French is completed big thanks to @ChrisP-Git and Jean-Pierre.g

Please feel free to comment/correct translations we started.