New linear modules problems with full distance


So I was assembling my new linear modules and noticed that they would not move the entire distance. The last 3 or 4 inches it would get stuck on while trying to slide them up and down to position things.

I think it is all of them, but at the very least, its the ones that are faster.

So now I am finding they do not move their full range electronically, and instead of stopping from hitting a limit switch, the violently crash and make awful noise.

Anyone know whats happening here?

To elaborate, I cannot even run calibration.

It moves backwards and gets to where it hits the bump and just goes BVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVT until you unplug it

I understand that you have obtained a new linear module, is the lead difference ok?

Also, do you have any limit switch failure or misalignment?

Try leaving the linear module alone without the table installed and measure the forward and backward ends from the left and right end faces.

If there is a discrepancy between the left and right sides, it may be necessary to adjust the limits swith.

Also, try updating the firmware again.

In my case, the position where the left and right linear modules stopped at the forward end of the limit switch side was off by 2 mm when measured with a caliper from the end face, so I changed the limit switch position and forced the problem.

Hope this helps.

They seem to move about the same distance as far as I can tell, but it is several inches away from the end of the railing. This is on all 3 of the higher mm leads, but only in one direction (the side closer to the cable).

I am willing to disassemble to take a look if theres something blocking the motion but I am not sure why it would be the same across all 3 parts.

Did the machine proper home?
Whats your M503, are your rails correctly detected (steps per mm)?

What firmware are you on? - Could it be screwed up in a very last one :thinking:?

Startup log in the terminal?

The machine can go home, but the problematic sides are the opposite from the homing direction.

Even with the modules unplugged, the platform brackets do not move the full length of the stroke on one side.

The firmware is brand new, installed yesterday and no new firmwares are offered.

Let me check the M503

  G21 ; (mm)

  M92 X400.00 Y400.00 Z400.00 B888.89 Current E235.79, BACKUP SINGLE E235.79, BACKUP DUAL E675.58
  M203 X100.00 Y100.00 Z40.00 E40.00
  M201 X1000.00 Y1000.00 Z100.00 E10000.00
  M204 P1000.00 R1000.00 T1000.00
  M205 B20000.00 S0.00 T0.00 P0.05 L3.00 C0.05 J0.05
  M206 X-19.00 Y-4.00 Z0.00
  M218 T1 X26.16 Y-0.48 Z-1.376
  left_z_compensation: 1.00  right_z_compensation: 1.00
  M420 S1 Z0.00
  G29 W I0 J0 Z9.66125
  G29 W I1 J0 Z9.13000
  G29 W I2 J0 Z9.19250
  G29 W I3 J0 Z9.09250
  G29 W I4 J0 Z9.31500
  G29 W I0 J1 Z9.38125
  G29 W I1 J1 Z9.18375
  G29 W I2 J1 Z9.05625
  G29 W I3 J1 Z8.84000
  G29 W I4 J1 Z8.76625
  G29 W I0 J2 Z9.00875
  G29 W I1 J2 Z8.91250
  G29 W I2 J2 Z9.12750
  G29 W I3 J2 Z8.54125
  G29 W I4 J2 Z8.60500
  G29 W I0 J3 Z9.44250
  G29 W I1 J3 Z9.16250
  G29 W I2 J3 Z8.89875
  G29 W I3 J3 Z8.33000
  G29 W I4 J3 Z8.21500
  G29 W I0 J4 Z9.40000
  G29 W I1 J4 Z9.19375
  G29 W I2 J4 Z8.77125
  G29 W I3 J4 Z8.60000
  G29 W I4 J4 Z8.16000
  M301 E0 P150.00 I1.00 D30000.00
  M301 E1 P13.00 I0.10 D17.00
  M851 Z0.00
  M900 T0 K0.07
  M900 T1 K0.04

heres firmware info from the console

Marlin SM2-4.6.1
Compiled: Aug 31 2023, 19:26:57
PACKAGE: Snapmaker_V4.6.1
Module Ver:
Module 0x00C2EDBE: v1.13.15
Module 0x00C2F462: v1.13.15
Module 0x0000F7D6: v1.13.15
Module 0x00C90EA6: v1.13.15
Module 0x00C90FB4: v1.13.15
Module 0x00C90FBC: v1.13.15
linear_tmc X1 length: 356 mm, lead: 20 mm
linear_tmc Y1 length: 356 mm, lead: 20 mm
linear_tmc Z1 length: 356 mm, lead: 8 mm
linear_tmc Y2 length: 356 mm, lead: 20 mm
linear_tmc Z2 length: 356 mm, lead: 8 mm
Machine Size: L

With the machine at home, the sensor readout is:

Reporting endstop status
x_min: open
x_max: open
y_min: open
y_max: open
z_min: open
z_max: open
z_probe_proximity_switch: open
z_probe_left_optocoupler: open
z_probe_right_optocoupler: open
filament_extruder0: TRIGGERED
filament_extruder1: TRIGGERED

If there is some firmware beyond this, i would be glad to figure out how to install it manually, but it seems mechanical in nature to me

I have generated another video showing the problem with more details.

Excuse my frustration on the original video.

Hello MooseJuice.

I watched your video.
There seems to be no 8mm/20mm mistake and you have identified it correctly.

linear_tmc X1 length: 356 mm, lead: 20 mm
linear_tmc Y1 length: 356 mm, lead: 20 mm
linear_tmc Z1 length: 356 mm, lead: 8 mm
linear_tmc Y2 length: 356 mm, lead: 20 mm
linear_tmc Z2 length: 356 mm, lead: 8 mm

The firmware version also consists of the latest version compared to the three A250 machines I own.
I am a coward, so I am on Ver 15.23…

The Z-axis ascending speed when the home position is pressed seems very slow.
There seems to be a little difference in speed with mine.

Y and X axis are 20mmRead but it seems that the 3 end positions are not recognized correctly.

I only see the distance from when the X-axis Y-axis kicked the limit, so there is no limit on the end side.

I think the length recognition is wrong (:((

I don’t think there is, but you can try to apply a tester to see if the limit is working.

The video shows some strange behavior.


No matter how many times I watch the video, the limit switch at the forward end is working properly.

There is no limit switch on the motor side, so I think it is the sound of too much going and load.

If possible, you could try rewriting the firmware to the firmware that was used when the 8mmRead linear module was released before it became swap kit compatible.

I don’t see the best suggestion for me (T_T).

Further postscript.

There is a past exchange I had in the past when I purchased and installed a 20mm/8mmRead marked linear module.

I don’t remember either, but I do remember that there was a problem with the firmware rewrite.

Try the firmware version at this time or the version after that.

I think there was an indication on the touch screen that the linear module had been updated.

Sorry for being so vague, but it’s possible…

My meassurement is about the same of yours so maybe @Blockmodule was right about adjusting the limit switches.

Here my x-linear-module:

The rest of your information looks pretty good and correctly detected.

It doesnt travel the full distance on that side like it does on the other?

If that sthe case, and a switch adjustment will do the trick, then thats fine. It seems odd that it reaches the black outer housing on one end but not the other.

I can start with a factory reset to rule out some firmware hiccup too.

Yes because of needed space for steppermotor and electronics.

Its seems clear, the travel distance starts from the linear module endstop…

As you know, i am a user like you and no snapmaker staff

Okay, then i think i was overthinking it.

You are right, I have played with the old rails and they also dont move the full distance. I feel silly.

Surely the switches are the issue, or some obstruction of some kind.

After downgrading and upgrading the firmware, the machine no longer talks back to the console over wifi, similarly to the original functionality.

Any ideas on this?

I am going to take apart one of the modules now.

what are you using for the console access over wifi?


I reverted to the previous version and it works again, so its a bug with the latest release. I submitted it to them.

It turns out that none of my limit switches are being registered it seems like. No matter where I move the table, they are all open.

1 Like

If your machine homes correctly the limit switches work, instead the rails would brrrrrt in the direction of the limit switches till turning off…

There are not switches on both sides?

I have never taken them apart really. This is my first time trying to disassemble them.

I am also really rusty… I stopped using the machine for a long time from frustration, then stopped using it again when the dual extruder wasnt working right. Now that the repair kit is released I decided to bring it back to life and got the new linear modules. My kit just arrived for the extruder repair but now I have to fix this first.

I took apart the side opposite of the cable, there is a switch there and it works properly. I checked it with a meter. What the heck is going on… I can also confirm when it is all the way maxed out, the switch is triggered. I checked that too by putting the cap on and moving the device forward. Then for good measure i listened carefully to the switch triggering with the rail reassembled.

It is very difficult to remove the limit switch to meter it. I was kind of able to check it without taking it out, but it was very hard to get a good connection to it so I removed it first.

I am talking to support, kind of. They gave me a list of things to check out based on the first video I posted. Althought I sent in the 2nd video via email to the help desk, I dont think they shared it to the support person because he didn’t see that I had the plaform removed.

I am trying to go thru it all but i dont feel like its covering all the bases either, so I decided to try to produce a video of everything I can and hope it helps…

The machine does not register the limit switches on the new modules, but the old modules it does…

Actually I shouldnt say that, but it does not crash. I didnt look to see the console response on them, I just assumed. I guess I will check that too.

My next step is to take apart the motor size on one of the Z modules because they said it looks like its not moving right either with too much resistance. They wanted me to look and see if theres anything in the gear path or whatever. I was expecting to see a switch in there when I got there and thought maybe it would need moved.

I think first I will power up and record the switches not registering on film with monitoring luban and web cam, then do the same with old rails, then take apart one of the Z modules on the motor side.

Since there are not switches on both sides, perhaps I should try to move the switch forward some so it travels a little further?

Switch is only on the opposit side of the motor, homing direction side.

See here in step 8:

I see. Okay.

At this point I am now seeing that the old modules also do not show the switch being triggered from the console, but now I am thinking that it wont because it moves forward after compressing it. So i do not understand the purpose of this trouble shooting step they had me perform to see what luban says about the switches?

Hi MooseJuice.

Because of this incident, we have created a linear module maintenance video for Japanese + translated English (I don’t think it is accurate).

I know it won’t help you at all…

My guess is that this time there is either a problem with the controller or the firmware.

If possible, could you check with the firmware released when the new 8mm/20mmRead linear module was released?

If that doesn’t work, I may have to suspect damage to the controller.


Thank you for that video. I will watch it tomorrow. It could help. They wanted me to take apart the motor side of the linear module but i have not done so yet because I am not familiar with it. My plan was to try to do that early this week.

I tried to execute firmware updates. I also rolled back to a previous firmware than re-upgraded it.

However, I don’t know that I had a separate firmware for just the modules, only the general firmware for the machine.

I also only tried one version previous to the current firmware, so maybe I should try to go back even further you are saying? That does make some sense actually, I can try to find which version introduced the new modules and see if that helps. I think you were trying to say that before and I misunderstood you.

I have spent the weekend making a video for support based on questions they asked. Part 1 of it can be found here:

In this video, i reconnected the original modules and they functioned properly. So maybe I need to do a factory reset of some kind