MMU3 on Core One Attempt
Hi everyone. I've been trying to get the MMU3 working on my Core One. I know not officially released yet, but I feel that I would like to try so I can learn more and grow my skills. This is after all why I love Prusa and not some of the other brands. If you aren't on Reddit you may not have seen my post there on this topic: https://www.reddit.com/r/prusa3d/comments/1jdueth/mmu3_on_core_one_an_attempt_was_made/
There are details there, but I want to continue here as I am getting more involved now and playing with G-code. There is no ready config for Core One + MMU in Prusa slicer, so I'm trying now to get that to work and I ran into a snag.
To catch up with my progress (Pictures & videos: https://imgur.com/a/aUGdGHO and https://imgur.com/a/dnoTLlq)
Here's what I've done
- upgraded the nextruder with the new filament sensor and replaced the HF nozzle
- edited the tube length in the MMU with M708 command (M708 A0x22 X520) - yes. its long, but it works for now
- Turned on MMU in the settings and did a filament sensorMMU calibration
- Tested multiple filament load unloads just fine
- Attempted to create a slicer profile with COREONE and MMU/multiple extruder G-Codes
This is where I am stuck: After using WinMerge to compare the MK4S+MMU with the CoreOne, I found most of the code differences with respect to loading the initial tool and modified the start and end g-codes with various MMU preparation codes.
Problem: When trying to print, it first says "There is already filament in the extruder, proceed with it, or unload first?" There is no filament in the extruder. The filament sensor says it is off/not engaged.
I'll attach my G-Code for the print, and paste the start g-code here. How would I debug and see at what step it thinks there is filament already in place?
Start G-code
M17 ; enable steppers M862.1 P[nozzle_diameter] A{((is_extruder_used[0] and filament_abrasive[0]) ? 1 : (is_extruder_used[1] and filament_abrasive[1]) ? 1 : (is_extruder_used[2] and filament_abrasive[2]) ? 1 : (is_extruder_used[3] and filament_abrasive[3]) ? 1 : (is_extruder_used[4] and filament_abrasive[4]) ? 1 : 0)} F{(nozzle_high_flow[0] ? 1 : 0)} ; nozzle check M862.3 P "COREONE" ; printer model check M862.5 P2 ; g-code level check M862.6 P "Input shaper" ; FW feature check M862.6 P "MMU3" ; FW feature check M115 U6.3.0+10073 ; setup MMU M708 A0x0b X5 ; extra load distance M708 A0x0d X140 ; unload feeedrate M708 A0x11 X140 ; load feedrate M708 A0x14 X20 ; slow feedrate M708 A0x1e X12 ; Pulley current to ~200mA M555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))} G90 ; use absolute coordinates M83 ; extruder relative mode {if chamber_minimal_temperature[initial_tool]!=0} M140 S115 ; set bed temp for chamber heating {else} M140 S[first_layer_bed_temperature] ; set bed temp {endif} M109 R{((filament_notes[initial_tool]=~/.*HT_MBL10.*/) ? (first_layer_temperature[initial_tool] - 10) : (filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX") ? 210 : (filament_type[initial_tool]=~/.*PET.*/) ? 175 : 170)} ; wait for temp M84 E ; turn off E motor G28 ; home all without mesh bed level {if chamber_minimal_temperature[initial_tool]!=0} ; Min chamber temp section M104 S{idle_temperature[initial_tool]} ; set idle temp G1 Z10 F720 ; set bed position G1 X242 Y-9 F4800 ; set print head position M191 S{chamber_minimal_temperature[initial_tool]} ; wait for minimal chamber temp M141 S{chamber_temperature[initial_tool]} ; set nominal chamber temp M107 M140 S[first_layer_bed_temperature] ; set bed temp {else} M141 S{chamber_temperature[initial_tool]} ; set nominal chamber temp {endif} {if first_layer_bed_temperature[initial_tool]<=60}M106 S70{endif} G0 Z40 F10000 M104 T{initial_tool} S{if is_nil(idle_temperature[initial_tool])}100{else}{idle_temperature[initial_tool]}{endif} M190 R[first_layer_bed_temperature] ; wait for bed temp M107 G29 G ; absorb heat M109 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : 170)} ; wait for MBL temp M302 S160 ; lower cold extrusion limit to 160C {if filament_type[initial_tool]=="FLEX"} G1 E-4 F2400 ; retraction {else} G1 E-2 F2400 ; retraction {endif} M84 E ; turn off E motor G29 P9 X208 Y-2.5 W32 H4 ; ; MBL ; M84 E ; turn off E motor G29 P1 ; invalidate mbl & probe print area G29 P1 X150 Y0 W100 H20 C ; probe near purge place G29 P3.2 ; interpolate mbl probes G29 P3.13 ; extrapolate mbl outside probe area G29 A ; activate mbl ; prepare for purge M104 S{first_layer_temperature[initial_tool]} G0 X249 Y-2.5 Z15 F4800 ; move away and ready for the purge M109 S{first_layer_temperature[initial_tool]} G92 E0 M569 S0 E ; set spreadcycle mode for extruder T[initial_tool] G1 E{parking_pos_retraction + extra_loading_move - 15} F1000 ; load to the nozzle ; ; Extrude purge line ; G92 E0 ; reset extruder position G1 E{(filament_type[initial_tool] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one G0 E5 X235 Z0.2 F500 ; purge G0 X225 E4 F500 ; purge G0 X215 E4 F650 ; purge G0 X205 E4 F800 ; purge G0 X202 Z0.05 F8000 ; wipe, move close to the bed G0 X199 Z0.2 F8000 ; wipe, move quickly away from the bed G92 E0 M221 S100 ; set flow to 100%
RE: MMU3 on Core One Attempt
Update:
- I just said "unload" filament and proceed. Then it went through the motions of unloading the non-existent filament and immediately called itself successful since the Nextruder and MMU sensors reported nothing - pretty sure this is some firmware bug/update required
- It then went to the "select filament" as I'm used to where I selected my two colours
- And it proceeded to print!!
But now, the print sucked and was not adhering to the bed. Time for some tuning to see if the z height is too high and maybe I lower it a bit.
Almost there for my franken-Core-MMU monster.
RE: MMU3 on Core One Attempt
Update: I think I'll give up for now and throw in the towel until I get something more from Prusa or others. There are some things with my print that I don't know how to control and I'm not sure if it is worth me trying to figure out until a firmware or slicer config update
- The nozzle is too high - I'm afraid to play with the Z offset for fear of scratching my sheets.
- The wipe tower doesn't behave as expected. It usually starts with the wipe tower and then the other colours go on top of it... but instead it jumped right to my object and proceeded to wipe onto nothing.
It did purge and swap filaments well though. Something exciting.
RE: MMU3 on Core One Attempt
Firmware version 6.3.0 is buggy and not a good foundation for experimenting. Theoretically the Z offset bug has been fixed in the repo, but I personally am going to wait until 6.3.1 lands. I really hope Prusa focuses on getting fixes out ASAP— these sorts of things do no favors for their software reputation.
RE: MMU3 on Core One Attempt
Really looking forward to your results. I added a MK4S MMU to my Core One order in the hopes to be able to get it work on it.
RE: MMU3 on Core One Attempt
Sorry to disappoint, but I have given up. While the MMU was able to successfully load/unload during a print, the z height was always way off and too high. I've now disconnected it and am operating with the new Nextruder changes, but just as a single material printer for now.
RE: MMU3 on Core One Attempt
Back in business!! New firmware released today with MMU support!! Going to try this later.
https://github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v6.3.1
RE: MMU3 on Core One Attempt
Back in business!! New firmware released today with MMU support!! Going to try this later.
https://github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v6.3.1
I'm very interested to hear your thoughts on it after you get a chance to check it out! I don't see any official support documentation yet in the CoreOne or MMU help sections. I'm curious where and how it's mounted, if their ideas are the same as yours, is the retraction length changed, etc. Have fun with it!
MK4S/MMU3
RE: MMU3 on Core One Attempt
Status so far -
- firmware upgraded
- No change in prusa slicer... no pre-canned Core One with MMU3 ... so going off my old one
- Trying a print now.
- The "pick filament" screen is the wrong colour... not important, but interesting
- So far so good! Its properly loaded the filament, and now is printing the wipe tower first!!
RE: MMU3 on Core One Attempt
Added a video to this post. Going to need a bigger buffer... but hey, now I can print cute crap for Easter for my nieces & nephews!
RE:
Yeah, or we’re going to have to get creative to keep that tube as short as possible. Congrats on getting it going!
Added a video to this post. Going to need a bigger buffer... but hey, now I can print cute crap for Easter for my nieces & nephews!
MK4S/MMU3
RE: MMU3 on Core One Attempt
Just wondering, is there room to put the MMU in the right side spool area, feeding directly into the existing PTFE? What’s the length of it?
MK4S/MMU3
RE: MMU3 on Core One Attempt
upgraded the nextruder with the new filament sensor and replaced the HF nozzle
So basically you need to do the nextruder mods from the MK4s? https://help.prusa3d.com/guide/9a-mk4-s-mk3-9-s-nextruder-mod_683106
Where can you get these parts? I don't want to take apart my mk4s if I can help it.
RE: MMU3 on Core One Attempt
I have shared my crude legs for the MMU3 UltiMulti here: https://www.printables.com/model/1254272-mmu3-core-one-ultimulti-legs
RE: MMU3 on Core One Attempt
upgraded the nextruder with the new filament sensor and replaced the HF nozzle
So basically you need to do the nextruder mods from the MK4s? https://help.prusa3d.com/guide/9a-mk4-s-mk3-9-s-nextruder-mod_683106
Where can you get these parts? I don't want to take apart my mk4s if I can help it.
Yeah. You need to modify the Nextruder just like the MK4S/3.9 etc. It requires the filament sensor adjustment. I took the parts off my MK4S and converted it back to a non-MMU3 extruder. Luckily I saved the old parts. You can print the parts and buy the screws/nuts, but there's one teeny tiny magnet that you'd have trouble sourcing.
RE: MMU3 on Core One Attempt
I'm going to be ordering my Core One this month.
Should I wait for an official "Original Prusa MMU3 assembled unit (for Core One)" release or order the "Original Prusa MMU3 assembled unit (for MK4S/MK3.9S)" with the printer and wait for guidance?
RE: MMU3 on Core One Attempt
I would wait, and get the core one version when it's released,
it's likely to have different support infrastructure to capitalise on the core one housing.
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE: MMU3 on Core One Attempt
Yeah I did notice the guy that got it working has the PTFE tube come in the top (removed). That'll play hob on the hi-temp materials.
RE: MMU3 on Core One Attempt
i always become the message that filament is loaded, but isnt.
U have the issue too?