7
$\begingroup$

Machine specs: Prusa MK3, firmware version 3.1.2.

Facts: I have designed a new Z-axis frame for my printer, so I can print models up to 360mm high in stead of the standard 210mm. The plan has worked and the printer is functioning normally with a new, taller z frame.

However... To calibrate, the Z lead screws carry the X carriage all the way up and bump it against the top frame mounts, to make sure the X carriage is level. On the taller frame, the X carriage stops its ascent at 220mm and descends back toward the bed. Because the X carriage goes up farther than it was 'supposed to' and didn't bump into anything, the calibration fails. When the X carriage bumps into something at 210mm (like my fingers) and descends from the 'normal' frame height, the printer calibrates the bed levelling normally.

The Prusa MK3 is so 'smart', it still thinks the frame will only ever be 210mm high. How do I tell it that when calibrating, the X axis must rise to 360mm instead of 210mm? The calibration is an integral part of the firmware... is there any way I can edit it?
I've looked at the .hex firmware file, this is the first line of a huge text file -> :100000000C947D320C94AE320C94AE320C94AE3221 It means nothing to me, but I'm guessing there's a way. After all, a cap height of 210mm had to be written in there somewhere to begin with...

Any suggestions would be appreciated, fairfarren.

$\endgroup$
2
  • $\begingroup$ Interesting -- another case of "new fancy feature makes something else really difficult" . My vanilla clone just does the usual HomeX,Y,Z and presumably will follow Z-height commands until I reach the moon. $\endgroup$ Commented Mar 8, 2018 at 15:32
  • 1
    $\begingroup$ @CarlWitthoft By default Marlin refuses to travel past axis limits (software endstops), so this is not just the fault of the fancy features. $\endgroup$ Commented Mar 8, 2018 at 19:07

1 Answer 1

7
$\begingroup$

A .hex file is of no use to you, because it consists of compiled firmware which is very difficult to edit. You need to go to Prusa's GitHub and download the source code. Then, find the header file for your model of printer, and change Z_max_pos to the correct value. Finally, you need to compile and upload the firmware to your printer following the build instructions (see README.md). You will need to have the Arduino IDE installed to do this.

$\endgroup$
2
  • $\begingroup$ Ok, thanks Tom. I think this is the correct source code, from Prusa Github and titled for the MK3. I will follow the rest of your suggestions presently. Thanks for the help :) github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/variants/… $\endgroup$
    – Kryss
    Commented Mar 8, 2018 at 22:55
  • $\begingroup$ FYI, Using Arduino IDE is optional, that is upon user choice, firmware (.hex file) upload could be done simply from PrusaSlicer. $\endgroup$
    – Iron Fist
    Commented Apr 16, 2021 at 0:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .