Jump to content

Changing Filament color mid-print Ender 3 Pro

Go to solution Solved by GregValiant,

Recommended Posts

Posted · Changing Filament color mid-print Ender 3 Pro



I have an Ender 3 Pro and I've been trying to get it to pause mid-print so I can change the filament and create multi-colored prints. I've watched many tutorials online describing how to do this in Cura, but I've had no success. Most of the tutorials online say either to use a Filament change post processing script or a Pause at height script. I've tried the Filament change script and my printer just simply ignores it and continues printing. I suspect my printer does not recognize the gcode used to create the pause. With the Pause at height script it does indeed stop printing and go to the set position, but about 10 seconds later it continues printing. I've set the Disarm Timeout parameter to it's max (1800) but it still doesn't wait for me.


I have considered re-installing the firmware of my printer to better recognize these gcode commands, however I wish there was an easier way. I've attached my project file which includes a quick and easy print I was using for testing. Any ideas on how to troubleshoot?


project file.3mf

  • Link to post
    Share on other sites

    • Solution
    Posted · Changing Filament color mid-print Ender 3 Pro

    Some history...

    About 2 years ago Creality made a switch from regular LCD displays to TFT LCD displays.  When they did that the mainboard no longer talked correctly with the TFT video board.  All commands that send messages to the display quit working.  M0, M1, M117 and a couple of others were simply ignored during a print.  The "10 second delay" you are experiencing is because the PauseAtHeight script inserts an M109 temperature command right after the pause command.  It's the M109 "wait for temperature" that is the delay.  It really isn't pausing at all.


    Workaround #1 is to use the "(BQ) M25" command.  With some firmware it works OK...the print pauses and you select Resume on the LCD.  With other firmware (no way to tell because Creality never said anything) the print will pause but you have to select "Pause" on the LCD and then select Resume.  You will have to test to find out.


    When using the M25 command you may find the following necessary:

    In the "Gcode Before Pause" box in the PauseAtHeight settings but "M400".

    In the "Gcode" After Pause" box put "M117,M117,M117,M117,M117,M117" (six M117's separated by commas).  Some of the Creality firmwares are configured to pause after clearing the print buffer and that can cause problems with the Z not returning to the correct resume height.  Adding the six M117 fills the printer input buffer with commands that don't do anything but they do push the Z moves further down the Gcode so the M25 won't clear them.

    • Like 1
    Link to post
    Share on other sites

    Posted · Changing Filament color mid-print Ender 3 Pro

    Thanks Greg!


    That seemed to work pretty well. It moved off to the set position and the LCD displayed, "Print Paused." However, I did have a little trouble un-pausing it. I went into the ender 3 menu to select, "Resume Print" but it just said, "Pause Print" instead. I went ahead and "paused" it (even though it was already paused) and then after that I could Resume Print. Not a huge problem but still a little inconvenient. Once the print was resumed the printhead went back to printing but right before that it squirted 25mm of extra filament onto the print. I assume this was because I had set a retraction of 25mm before the pause and it was extruding the filament back even though I had already pushed it through manually. The easiest way to fix this problem would be to just have no retraction. But I need it to retract... right?


    Other than that it worked great! Thanks!


  • Link to post
    Share on other sites

    Posted · Changing Filament color mid-print Ender 3 Pro

    I handle the retractions by setting everything to "0" in Pause at Height.  After I shove enough of the new material through the nozzle to complete the color change, I do a 3mm hand retraction.  I get really good restarts like that.  It's still best if the restart is within support or infill but that just isn't always possible.


    Another thing that happened at Creality at that time was they ran out of mainboards for the Ender line.  They started throwing whatever mainboard they had into them so some Ender 5's and Ender 3's shipped with CR10 mainboards and firmware.  Not good.


    Since it's possible that your firmware has M0 enabled but won't talk to your LCD then upgrading/changing the mainboard firmware may not fix the problem.  I have no idea if the video system firmware can be changed but I have a gut feeling that the problem lies there.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.4 stable released
        The full stable release of UltiMaker Cura 5.4 is here and it makes it easier than ever to remove brims and supports from your finished prints. UltiMaker S series users can also look forward to print profiles for our newest UltiMaker PET CF composite material!
          • Like
        • 58 replies
    • Create New...