Multi color printing on the Ender 3 V2

Please help. Has anyone successfully printed different color layers on an Ender 3 V2?
I am using PrusaSlicer and according to PrusaSlicer I am doing everything right but the Ender 3 V2 merrily prints the whole thing in the original color with out pausing or stopping. I have asked for advice previously and then followed every ones kind words but the Ender just will not stop. I am now beginning to think that there is something about the Ender that prevents it pausing for a filament change.
Any help would be really appreciated.
Thank you.

you should be able to do it with an M600

Here is the link to the Marlin Wiki

There are many options you can do with it, position of bed, position of head, etc

Basically you will have to manually edit the Gcode to add it.
Cura has a plug in for it that you can activate at time of slicing
PRUSA also has a procedure for it, Link for the KB is below. I did see a video on it at one time but cannot locate it now.

I’ve been trying to print two-colour things lately on my ender 3 pro, and noticed the same thing - the “pause at layer” (in Cura post-processing) doesn’t seem to work sometimes and I have to go in manually to pause it to swap the filament out. Further, when it does pause, I can’t control the length of time it actually pauses for and it doesn’t seem to do it consistently either!

I’m curious about this too…

The Gcode is laid out nicely, It will always tell you “layer #XXX”

its at this point you can add the M600, I will usually do it on a test cube for speed and troubleshooting, once you have all your parameters worked out you can copy and paste it into your Gcode at your leisure.

You haven’t specified what slicer you’re using. I’m assuming it’s Cura.

I have an Ender 5Pro, so this may not work for you, but I also experience the printer just ignoring the change filament command.

This is what works for me using Cura 4.8.0:

  1. slice your model (this is necessary to determine how many layers there are)
  2. click the “Preview” button at the top-center of the window
  3. on the right-hand edge a slider will appear with a number in a box above it
  4. Drag the circle just below the box and note what’s happening to the model
  5. when the first layer at which you want to use a new colour to start becomes the top layer displayed in yellow, take note of the number in the box
  6. In Cura’s drop-down menus (top left of screen), select Extensions->Post Processing->Modify G-Code
  7. Click Add Script and choose Pause at Height
  8. In the Pause at Height menu that appears, change Pause At from “Height” to “Layer Number”
  9. Put the layer that you noted from the box (in step 5) in the box marked “Pause Layer”
  10. I recommend parking the print head at X=0, Y=0 to prevent any filament dribbling out onto your model while you change colours
  11. Set the “Standby Temperature” to whatever you were using for your filament
  12. Click “Close” and re-slice your model to now include the Pause at Height function

If this DOESN’T work, you may need to verify that you have the latest firmware installed.


Thank you everyone, especially LEGOManiac for replying to my cry for help. I thought that I had licked it when LEGOManiac replied, BUT!!
I was using the latest PrusaSlicer software with my Ender 3 V2, so I looked at the gcode in a word processor. I asked the processor to look for M600 and there it was. I don’t know if it was in the correct place but it seems that PrusaSlicer was working but the Ender 3 just ignored the command and printed the whole test cube without a pause.
Then LEGOManiac replied so I downloaded the latest Cura, watched a couple of YouTubes and tried a print. The test cube came out fine. So I carefully followed LEGOManiac’s instructions and ran the print.
Yes the print paused, in the right place, but for about 7 secs! Enough time for me to pull out the filament and reach for the next color. OH Shucks, or words to that effect.
Can someone please suggest my next step?

1 Like

That’s exactly the challenge I’m having now with the pause - it’s not enough time to switch filament over.

I’ve included B10 in my M600 line (haven’t tested it yet, though), which is the command to beep 10 times. My hope with it is when it gets to that pause layer it’ll beep properly and get my attention, at which point I can manually pause the print from the machine itself, swap the filament over, and get it started back up. It’s not a great solution, but it’s the current one. I haven’t been printing multi-colour other than that one project I just did and finished (which turned out great, by the way!), but maybe this’ll help spur some other ideas on.

Good luck!

Just did a quick dig around on the M600 command and found this in the Marlin firmware guide


The M600 command initiates the filament change procedure. The basic procedure will move the print head away from the print, eject the filament, wait for new filament to be inserted and the user to confirm, load and prime the filament, and continue with the print. M600 may be initiated automatically if a filament runout sensor is installed.



The settings for this command can be found in Configuration_adv.h. At this time M600 requires an LCD controller.

I dug for a link on reddit, It looks like by default the option is not enabled on the Ender 3 V2


Thanks for the replies. My sort of progress is in 2 parts,
1, Ender 3 V2 with PrusaSlicer. Both the latest firmware/software versions. I followed the instructions very carefully, then checked the gcode with a text editor. All the gcode commands to pause and change filament were there. The ender ignored the commands and printed the whole test cube without stopping.
2, Ender 3 V2 with Cura, again the latest firmware and software. The first print worked! Yippee!!!, – BUT the second and third attempts failed. I have a feeling that the process is very dependent on following an exact set of steps with exact timing. I am trying to reenact what I did the first time.
Further research at All3DP says that it can be done so I will keep trying
3D printing is wonderful, ------ Right?

1 Like

I personally love it but there is more than once I have wanted to throw a printer out a window.