Custom configurations

Hi all, I apologize if I’m just missing something obvious.
I have a SM original with a Z axis extension and was trying to figure out if the extension module could be used on the Y axis instead. I can’t find any way to set this up in Luban however as the work size is limited to 125mm x 125mm. Does anyone know if this is possible or how it could be done?

Edit: Ignore this, check out my next comment.

Summary

I doubt it will work. The command to switch between the extended ( M1025 M1) and regular (M1025 M0) Z axis is just setting a 0 or 1. If the commands included 221 and 125 respectively, then it would indicate that they had made the firmware somewhat flexible. By being on/off, it tells me that they hardcoded those lengths in the firmware for the Z axis.

The firmware is available for the original. I haven’t heard of anybody that’s attempted to modify it though. The firmware for the v2 took some effort from the community to learn how to build and package (search the forums if you’re interested). As far as I know, nobody has taken the time to do that for the original. I suspect that a lot of the v2 work would be applicable to the original, so it should be easier going. I’m interested, but I don’t have the equipment I would need to recover from any mistakes. So it’s not something that I’m willing to try. And I don’t have an extended Z axis that I want to repurpose as an extended Y axis :smiley:

Is there a reason you can’t rotate the object and print the long axis vertically? I’ve only made a few models that need to be printed in a certain orientation (for shear strength). The vast majority would’ve just required some extra supports to print rotated.

Thanks for the reply! I should have mentioned my purpose for extending the Y axis is for laser cutting larger work pieces. I suspected that the Axis travel was probably hard coded into firmware. I am curious though as to what is meant by this?

Taken from store page.

That particular setup works, because there are two ports for the Y axis. Plug both Y’s into port 3 & 4, and nothing into 5.

I pulled up the firmware, and my initial assumption appears to have been misplaced. M1025 M0 and M1025 M1 are shortcuts. There is a longer form that works on all 3 axises, in CFile/Marline/Marlin_main.cpp:

inline void gcode_M1025() {
    if(code_seen('M'))
    {
        if(code_value() == 0)
        {
            base_max_pos[Z_AXIS] = Z_MAX_POS;
        }
        else
        {
            base_max_pos[Z_AXIS] = Z_LONG_MODULE_POS;
        }
    }
    else
    {
        if (code_seen('X'))
        {
            base_max_pos[X_AXIS] = code_value();
        }
        if (code_seen('Y'))
        {
            base_max_pos[Y_AXIS] = code_value();
        }
        if (code_seen('Z'))
        {
            base_max_pos[Z_AXIS] = code_value();
        }
    }

    update_max_pos();
    Config_StoreSettings();

    //Reset zero
    char tmpBuff[30];
    strcpy(tmpBuff, "G92 X0 Y0 Z0");
    current_command_args = tmpBuff;
    gcode_G92();

where

#define X_MAX_POS 131
#define Y_MAX_POS 129
#define Z_MAX_POS 128
#define Z_LONG_MODULE_POS 221

So I think you can do what you want with the GCode M1025 Y221 and undo it with M1024 Y129.