# No stop for filament change

**URL:** <https://forum.snapmaker.com/t/no-stop-for-filament-change/38712>\
**Category:** Snapmaker 2.0 (3-in-1)\
**Tags:** Gcode\
**Created:** [January 10, 2025, 1:06pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712 "2025-01-10T13:06:52Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 10, 2025, 1:06pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/1 "2025-01-10T13:06:52Z")

</div>

hello makers,  
since a short time, my a350t doesnt execute the stops for filament changes.  
i checked the gcode for M600 and the code is there, but my printer doesnt pause anymore.  
any idea what is causing the problem?  
thank you!!

---

<div class="post-metadata">

**Author:** ![xchrisd](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/xchrisd/32/1503_2.png) [@xchrisd](https://forum.snapmaker.com/u/xchrisd)\
**Post date:** [January 10, 2025, 1:33pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/2 "2025-01-10T13:33:53Z")

</div>

Are you printing from touchsreen?  
What toolhead did you use?  
I guess for the single extruder there is a setting for enabling/disabling the runout sensor on the touchscreen (which is excecuted as M600 as well, if i´m not wrong).

Its possible to turn the runout sensor on by M412 S1 over the terminal, maybe you disabled it?- But this is only guessing…

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 10, 2025, 1:51pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/3 "2025-01-10T13:51:00Z")

</div>

hello, thanks for you reply.  
no i start the print with luban over wifi.  
i never used M412 S1.  
yes, i use the single extruder that was shipped with the a350t.  
the thing is that about two weeks ago i had no problem printing with color changes.  
i will cut some filament and test if the runout sensor is activated

---

<div class="post-metadata">

**Author:** ![MarkJ](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/markj/32/29732_2.png) [@MarkJ](https://forum.snapmaker.com/u/MarkJ)\
**Post date:** [January 10, 2025, 1:55pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/4 "2025-01-10T13:55:48Z")

</div>

I also _just_ found out M600 doesn’t work like it use to. I found [Profile - raypfountz - Snapmaker: where creation happens](https://forum.snapmaker.com/u/raypfountz) said to use M76. I tried M600 followed by M76 and that worked. I didn’t try M76 alone. I had previously used M600, but that was a couple years ago. Try the M76 and see.

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 10, 2025, 1:59pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/5 "2025-01-10T13:59:59Z")

</div>

hmm, that means i always have to open the gcode and change it manually?  
but how did it change? i havent updated the firmware

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 10, 2025, 2:17pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/6 "2025-01-10T14:17:35Z")

</div>

runout sensor is working. it stopped after filament was empty

---

<div class="post-metadata">

**Author:** ![nivekmai](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/nivekmai/32/15480_2.png) [@nivekmai](https://forum.snapmaker.com/u/nivekmai)\
**Post date:** [January 10, 2025, 2:38pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/7 "2025-01-10T14:38:51Z")

</div>

Interesting, I wonder why this isn’t a part of [SMFix](https://github.com/macdylan/SMFix/tree/main) if it’s a thing that needs to be done.

Perhaps @macdylan never used M600?

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 10, 2025, 2:42pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/8 "2025-01-10T14:42:19Z")

</div>

its still in the wiki

 ![grafik](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/d/e/dec370ee5602a7ab3623b0b1c29bfd93628510a8.png)

---

<div class="post-metadata">

**Author:** ![nivekmai](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/nivekmai/32/15480_2.png) [@nivekmai](https://forum.snapmaker.com/u/nivekmai)\
**Post date:** [January 10, 2025, 2:46pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/9 "2025-01-10T14:46:39Z")

</div>

Also, you’re using Prusaslicer, you can edit the “pause print” custom gcode under Printers \> Custom G-code (you may need to enable advanced mode to get this to show up). You could add M76 there.

M600 might only work when printing from the touchscreen or luban, if you’re running from octoprint, since SM have done “interesting choices” in gcode execution, it may not trigger correctly.

---

<div class="post-metadata">

**Author:** ![nivekmai](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/nivekmai/32/15480_2.png) [@nivekmai](https://forum.snapmaker.com/u/nivekmai)\
**Post date:** [January 10, 2025, 2:53pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/10 "2025-01-10T14:53:02Z")

</div>

Weird, M76 doesn’t really do anything:

> <https://github.com/Snapmaker/Snapmaker2-Controller/blob/9bf2233c0262516d7dcbe46d6f28e28da7d9f8c5/Marlin/src/gcode/stats/M75-M78.cpp#L42C1-L55C2>

Perhaps they’ve distributed an update that they haven’t put in the github repo (GPL violation).

---

<div class="post-metadata">

**Author:** ![MarkJ](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/markj/32/29732_2.png) [@MarkJ](https://forum.snapmaker.com/u/MarkJ)\
**Post date:** [January 10, 2025, 3:12pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/11 "2025-01-10T15:12:56Z")

</div>

I have M76 as “Pause the print job timer” so I’m not sure why that works with the M600, but it seemed to do it where M600 alone didn’t.  
I just went back to the M600 that ‘worked’ (2/2023) and noticed I actually used a M0 - M600 combination. M0 is “Unconditional stop” so I’m not sure if it was M0 or M600 that was doing my pause to change filaments. Guess we have to play with it and see.

---

<div class="post-metadata">

**Author:** ![nivekmai](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/nivekmai/32/15480_2.png) [@nivekmai](https://forum.snapmaker.com/u/nivekmai)\
**Post date:** [January 10, 2025, 3:48pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/12 "2025-01-10T15:48:45Z")

</div>

There could also be more to that code, most likely the `systemservice` is causing the pause stuff to run, but `planner.synchronize()` could be kicking off a chain of events that causes the m600 to actually execute, or something could be listening to the terminal for that echo.

---

<div class="post-metadata">

**Author:** ![MarkJ](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/markj/32/29732_2.png) [@MarkJ](https://forum.snapmaker.com/u/MarkJ)\
**Post date:** [January 10, 2025, 9:14pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/13 "2025-01-10T21:14:48Z")

</div>

Okay, that was a fun learning experience. M0 (Unconditional stop) doesn’t seem to do anything. M76 (Pause the print job timer) puts the print head to top right rear (320 x 335 x 315?). _ **NOW** _ M600 is working like it should, **sort of**. I wrote some simple gcode to move the head around and inserted the various commands. M600 (no modifiers tried; just straight M600) triggered a filament change but initially, about a line and a quarter after it should have fired (meaning, it moved to the next spot, and starting to move to another spot before it fired). _ **BUT** _, if I included extrusion before (or after?) the M600 as part of the movement, it worked where it should! If I did a M600 followed by the M76, only the M76 fired; no filament change screen. If I put in the extrusion into the movement, it fired where it was supposed to, and actually did BOTH M600 followed by M76. So, as @nivekmai suggests, “there could also be more to that code” with systemservice or planner.synchronize; but that is beyond me. So, M600 sort of does work for filament changes. Not sure why I had problems with it the other day not working at all.

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 10, 2025, 10:12pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/14 "2025-01-10T22:12:24Z")

</div>

It doesn’t work with my files. The standard M600

---

<div class="post-metadata">

**Author:** ![Wombley](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/wombley/32/27838_2.png) [@Wombley](https://forum.snapmaker.com/u/Wombley)\
**Post date:** [January 10, 2025, 11:09pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/15 "2025-01-10T23:09:08Z")

</div>

> [@nivekmai](#):
>
> `planner.synchronize()` could be kicking off a chain of events that causes the m600 to actually execute

`planner.synchronize` tells the code to pause and wait for the current gcode chunk to complete executing before the next line is executed. It’s there to make sure conflicting commands aren’t sent while something is in motion.

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 14, 2025, 9:27am UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/16 "2025-01-14T09:27:03Z")

</div>

i tryed it via wifi and from the usb drive. both no stop.  
so do i understand it right, that i manually have to search for the M600 and add “e 10” for example directly before M600?

---

<div class="post-metadata">

**Author:** ![MarkJ](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/markj/32/29732_2.png) [@MarkJ](https://forum.snapmaker.com/u/MarkJ)\
**Post date:** [January 14, 2025, 2:29pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/17 "2025-01-14T14:29:43Z")

</div>

If you are referring to my post, the extrusion was part of the movement line before the M600 line: as in G1 X200 Y20 E30 then next line M600 (example). I wrote the simple movement code and did it through the USB transfer, not through Luban. I don’t have good wi-fi to the SM. I still have to play around some more with it to try and figure it out. Intuitively, it doesn’t make sense. So, yes, you have to go into your project code at this time.

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 14, 2025, 3:32pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/18 "2025-01-14T15:32:58Z")

</div>

ok it looks like it has to do with the size of the object.  
i made a small test with a very small object of only 28x28x20mm.  
i added a color change (standard change of prusaslicer) at layer 5 of 100 layers. ive sent the file via wifi. the printer stopped at layer 5.  
i dont understand what the problem is…

---

<div class="post-metadata">

**Author:** ![paradoxus](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@paradoxus](https://forum.snapmaker.com/u/paradoxus)\
**Post date:** [January 20, 2025, 9:58am UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/19 "2025-01-20T09:58:38Z")

</div>

are there officials on this forum who could give a statement on the issue? it doesnt look like its something that only occurs with my machine.

---

<div class="post-metadata">

**Author:** ![nivekmai](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/nivekmai/32/15480_2.png) [@nivekmai](https://forum.snapmaker.com/u/nivekmai)\
**Post date:** [January 20, 2025, 4:50pm UTC](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712/20 "2025-01-20T16:50:26Z")

</div>

While I was putting together [[GUIDE] Octoprint + (stock) Filament runout detection](https://forum.snapmaker.com/t/guide-octoprint-stock-filament-runout-detection/38751), I found that the way SM tracks a job being in progress is a bit finnicky, and can get into a bad state (there’s even comments in the code where the team doesn’t understand why things are happening). The easiest way to reset the state is to just reboot the machine.

So in your testing, make sure you try rebooting the machine between each print (and maybe even, between each pause), and that should get you more consistent behavior. (unfortunately, if it only works from reboot → pause, then that means you can only do a single filament swap, which is kinda useless).

Also, for that I found that doing

```auto
M600
M76

```

worked best for actually pausing the print and allowing for me to handle filament runout, so maybe just edit the **Pause Print G-Code** in **Printers** in Prusaslicer to send both.

BTW, the reason I did this was because I saw that `M600` does basically nothing in the firmware.

BUT WAIT! @scotthuang and team just committed some changes to `M600`…

> <https://github.com/Snapmaker/Snapmaker2-Controller/commit/075198983285f9daafbc3a648e9eff77ea524722>

> <https://github.com/Snapmaker/Snapmaker2-Controller/commit/314c167b0a1ce331d867b10abd32e00908e4aa9c>

So maybe there’s some fixes coming?

Specifically in this, M600 now calls `event_filament_runout`, which means it should actually work for real (before it was just calling `ResetFilamentState` which does nothing).

[Next page](https://forum.snapmaker.com/t/no-stop-for-filament-change/38712.md?page=2)
