Filament change without AMS mid-print

Myself and many others who print without an AMS want the ability to easily change filaments mid print.

Currently the ONLY way we are able to do this is by:

  1. Set a pause at layer in slicer
  2. When the printer pauses and parks the head over the poop-chute you squeeze the filament cutter and cut the filament.
  3. Manually set nozzle temp.
  4. Run extruder in reverse to release filament.
  5. Pull out old filament and load in new filament.
  6. When nozzle has reached temp, extrude out filament until new color is coming out from nozzle.
  7. Resume print

Unfortunately the “unload” button is grayed out while the machine is paused.

By simply enabling the unload function while machine is paused we could eliminate half of this annoying filament change process.

The ideal solution would be to incorporate a “load filament” button and enable the “unload” button while paused, but the first solution seems easier to implement and I would gladly have that over nothing.


This is important as it allows non-AMS filaments like TPU to be side loaded and combined with AMS supported filaments.


I have been messing with manual changes. P1P owner with no AMS. I didn’t try the cutter because I was worried I’d shift the head and it would throw the printhead off. One time I had moved the printhead after filament change because I wasn’t sure if it would wipe the nozzle after resuming (first time trying it) and moved too far to the left with the display controls. It made a noise like it still wanted to move but was at end of travel (belt skipping?) When resuming the next layer had a couple mm shift. Next attempt I didn’t manually move printhead because I knew it would wipe and it turned out great for my test.

Are you able to do the cutter manually easily enough without moving the printhead? Would moving the printhead slightly make a difference and my issue was just end of travel skip? Which I would think the printer knew where the head was and find odd it happened.

Hopefully I am explaining my experience correctly. I would just be thrilled to have the unload feature work during print and I also am hopeful BL will come up with something.

Pic of good print attached.

It worked for me. I clip the filament by “squeezing” the lever in with my thumb on the lever and my fingers on the right side of the carriage. If you just push in on the lever it might throw off the axis. I agree with whoever commented that it should be a routine written in to the software. It is common enough to want to drop in a magnet or a nut too. I once dropped a whole M8 bolt in where the bottom was breakaway and the head of the bolt was covered after the pause : (Professional Espresso Tamper for only $10 With polished stainless steel base by MarkJacks - Thingiverse).

Hi there

Interesting topic. Got my P1P since yesterday and i’m more than just happy! the topic starter @andrewlondon313 wrote in the instruction tho set a pause at layer in slicer.

sorry for beeing that incapable, but where do i find that and what do i have to do? i’m really just a ordinary user and not really familiar with those things. with my anycubic and cura i was able to set such codes, but where in the bambu slicer?

thanks in advance

Just answer myself, found it :slight_smile:

Go to preview after slicing, set the right cursor to the layer height you desire, click right on your mouse/trackpad, set a pause from dropdown menu…

Hi, my problem is, that the pause function is greyed out. Any thoughts on this?

@Nikc94 I also encountered this.

Make sure your settings “Special mode->Print Sequence” is set to “By layer”.

1 Like

Thanks. Already figured out👍

I second this. I would like to use the AMS to lay down the initial colored graphic then pause and swap to the outside spool for softer TPU. The slicer doesn’t allow a filament change when the AMS is in use for multi color. And when the print is paused there is no option to load and unload filament.

This would also be useful if there was a filament jam in the AMS so you could just swap to the external spool holder and worry about the AMS at a later date.


would like to see this aswell

Joining the chorus here and saying we just want to use our tools; that enabling filament changing as discussed here should be pretty easy for BL to implement as the plumbing’s already in place.

Also adding to the list of those that think a simple “unload filament” at any given time is needed. My common need is when I say leave the house and realize I need to change the spool otherwise it will run out while I am out.

just a quick drop for now, found this reddit, the code works flawless for my x1c, and printing with multicolor tpu works like a charm


I’m not sure if I’m missing something or things just changed recently, but I have been successfully using the “unload” feature on my P1S when it’s paused. It’s not as neat as an automated routine to do everything, but it works in a pinch.

I do however wish that a notification was sent to the mobile app when the printer is paused, otherwise there’s just no way of knowing other than actively checking. The P1S also has no speaker, as far as I know, so there’s not even an alert sound.

I’m also confused as to whether it’s possible to force printing a purge tower to assist with filament changes. The only way I found to print it is to add a second filament on the left and then using “Change Filament” instead of “Add Pause”, but that just results in no pause at all and there’s no way to have both at the same height.

:point_up_2: This is a good method.

To reiterate and elaborate a bit (tested on my X1-C, not sure about P1 printers):

  • In the slicer, add a filament in the left panel (this will enable the Change Filament option on the + sign of layer navigator after slicing, and will allow you to specify the temp, etc of the second filament)
  • Slice your model
  • Slide the layer navigator slider to the layer you want the color change to occur and right-click the + to expose the Change Filament option and select the second filament.
  • (Optional) Add a pause on the layer preceding this layer, because you need to be around for the filament change. It will not automatically pause for you. Resume the print, and stand by. Be ready to manually pause the print and the end of this layer.
  • Pause the print (on the control panel or in Bambu Studio) just before the new color layer starts. It can be tricky to time this correctly but if it goes the the purge tower, pause immediately.
  • Click Unload Filament in Bambu Studio or in the touchscreen. The filament will unload, pull it out.
  • Heat the nozzle back up.
  • Load the second filament. For some reason, “Load filament” is not working for me, so I manually extrude using the extruder controls, until the new filament starts coming out.
  • Resume the print. It will purge to the tower and then start printing the new color.


  • There are 2 advantages to doing it this complicated way.
  1. This creates a purge tower. If you don’t want a purge tower, use a pause instead of filament change, and you dont need the pause on the preceding layer.
  2. You can set separate filament settings
  • This is very easy to do on Prusa printers. Why oh why so hard with Bambu?!

Tested with Orca Slicer and X1-C, you can avoid your tricky timing step. Here’s how I do it:

1- In slicer, use cutting tool to cut your model horizontally in two parts, one part for each color. For upper part, check the “Place on cut” checkbox. Also enable “Cut to parts”.
2- Assign a filament for bottom part and another one for top part. Also enable the purge tower.
3- Add a “Pause at layer” where color change is needed. No need to add a filament change command.
4- Slice. In Preview tab, use slider to observe filament change at appropriate layer.
5- Print.
6- When the printer pauses, from printer control panel, close the “Pause” dialog then unload old color and load new color. Optionally, perform a few manual extra extrusions to flush out old color.
7- From printer control panel, hit “Resume” from homescreen.

1 Like

Huh! Yes, that is clever. :smiley:

“Cut to parts” is the key here, Parts are still a part (lol) of the object, but they can be customized with a different filament. So you can do the filament change at the part level, rather than at the layer level, and that leaves room for the pause command on the correct layer. Brilliant. Still too difficult though, Bambu Lab! :sneezing_face:

Thanks @byMH62 :+1:

There is a much easier way to do this and it’s not limited to pausing/changing filaments per layer. You can print different colors on a single layer.

I have been hesitant to post it here, as I worry BL will break it as they (obviously) want you to buy the AMS.

Is there a way to pause mid layer to change colors manually @Lexi ?