How to set a new homing position using software and/or slicer without changing hardware end-stop?

  • Before the question, here is my setup;

    • Prusa i3 (with mainboard Mks Gen v1.2)

    • Repetier as slicer

    • Marlin source code

    My main task is to convert my 3D printer into a chocolate printer.
    I have replaced the filament extruder with a chocolate extruder. And it is there that my issue began. Because, the new extruder is stopping slightly off the y-axis when homing. It is going out of the standard 20x20 cm bed. The other X and Z axes are OK.

    So, I have played with the #defines explained below, but I couldn't even make any single mm difference by homing. They are all ignored when the printer is homing. It goes and rests on the hardware end-stops and stops there eventually.

    All I want 10 mm offset for Y axis.

    Started with this;

    // Travel limits after homing
    #define X_MAX_POS 200
    #define X_MIN_POS 0
    #define Y_MAX_POS 190 <<<< (tested with 190 and 210)
    #define Y_MIN_POS 0
    #define Z_MAX_POS 200
    #define Z_MIN_POS 0

    and this;

    // The position of the homing switches
    #define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used

    //Manual homing switch locations:
    // For deltabots this means top and center of the cartesian print volume.
    #define MANUAL_X_HOME_POS 0
    #define MANUAL_Y_HOME_POS 10 <<< (tested with 10 or -10)
    #define MANUAL_Z_HOME_POS 0

    I have also played with the slicer tool (Repetier) settings where homing related values are mentioned but no joy there as well.

    Any input highly appreciated.

  • The Y-Max setting does not help, because it is the software end stop for the other end of the axis.

    The Y Home position also doesn't help as it only changes the coordinate that the printer assumes for when it hits the home position. That is used for printers (like deltas) that home to the max end switches.

    What could help is a little bit of G-Code right after the Homing. The Homing is a G28. Just add a G1Y10 after that. That will move your Y Axis 10 mm right after homing. So it will then be in the position that you want. If you then add a G92 then this position will become the home position for the print. So adding these two lines should fix it. Cura lets you edit these start G-Codes so that it then will automatically add the modified codes to all your prints.

    You can also try a G10 (with a firmware that supports it.

    For Details on G-Codes see:

    At the end, this was also my conclusion. I mean, software end stop is not really what I wanted. But, i didn't really check which G-Code can do this for me. Now, I know.

    I am thinking to reinstall the hardware end stop in order to home as I wanted. Although, I haven't played that much with G-Codes so far. It is also looking promising as a solution. But, What I understand from your explanation, the G-Code correction to the Y homing position is only handled when you start printing not when you powered up or reset the printer. It will still go outside of the boundaries. if this happens, some liquid chocolate drops might still fall out the perimeter. Right?

    Exactly the homing process will still move to the homing position defined by the hardware end stops. The G-Codes then fix that, but on every move it will move to the critical position and then back again.

    Thanks a lot Lars and Kamuro. This solution is definitely saved my day. But, I guess, It would better do either reinstall the Y end-stop or enlarge the bed 10 mm more on all edges.

License under CC-BY-SA with attribution

Content dated before 7/24/2021 11:53 AM