Skip to content

MK3: 3.1.3-HP firmware for Prusa i3 MK3 + Hyperfine Bed Leveling + PINDA-Fix

Pre-release
Pre-release
Compare
Choose a tag to compare
@3d-gussner 3d-gussner released this 30 Mar 11:23
· 980 commits to MK3-private_build since this release

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:

plus

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

hyperfine bed leveling jeffjordan

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