Our Prusa Mk4 only has one extruder and no MMU. But I was playing around with filament change in the middle of a print to have several colors in a single part.

So I drew a small part with 3 characters connected by a common “bridge”. Printing the characters face down, I tried inserting a color change at the first layer of the bridge in PrusaSlicer:

Simple color change mid-print

This works fine: the printer parks the head in the lower right corner of the bed, ejects the filament and wait for a new filament to be fed. Then it purges for a while and somehow manages to cut the purged filament clean and continue printing. A bit sketchy but it works.

Then I tried a 5-color print with multiple colors in X, Y and Z. Obviously the filament needs to be changed mid-layer for most of the layers. I defined 5 virtual extruders in PrusaSlicer, added a custom tool change G-Code to force a filament change with M600. After a bit of messing around with layer thicknesses, I managed to limit the print to “only” 16 manual filament changes. A bit annoying but it’s okay for an experiment:

Multiple virtual extruder setup and multi-color print

Custom tool change G-Code

When I launched that print, it started out well, printing the first layer of the green “5” digit.

Then it hit the first M600 instruction, proceeded to eject the filament, and horrible noises from the extruder ensued:

https://toobnix.org/w/5M5n1ZxxPjHgp9uPWUKu8s

I could NOT free up the filament for the life of me, and the printer wouldn’t come out of the menu to resolve the problem. Eventually I had to reset the printer and apply force to finally clear the problem.

Fortunately, no damage occurred and I could reload new filament as if nothing had happened. I thought it had been a bad fluke, so I restarted the print and it did it again.

Before I file a bug, anybody knows if I’m doing something wrong here?

The printer is running the latest firmware as of today - v6.1.3, released in September 2024.

    • dual_sport_dork 🐧🗡️
      link
      English
      64 days ago

      In that case your M600 macro is probably misconfigured.

      M600 is not a command, per se. It’s a macro that runs a set of discrete steps including moving the print head to the park position and rewinds the filament out of the extruder by some amount at a specified speed. It’s likely your nasty 'orrible noises are either the belts slipping over your drive gears via trying to move the print head out of bounds, or the extruder failing to extract and grinding its wheels against the filament.

      • @[email protected]OP
        link
        fedilink
        English
        34 days ago

        Yeah but… I didn’t define the M600 sequence. It’s whatever came in the stock firmware. Also, I assumed that was the same sequence the printer executes when changing the filament through the menu.

        If it’s possible to redefine the M600 sequence, I didn’t see where. Also, I don’t want to do that. So I think it’s time to open an issue in the Prusa firmware github.