Diy Multimaterial two color printing with Core One?
TL;DR: Outline and questions about the feasibility of a DIY two-color MMU, similar to an AMS Lite, using a Hackerboard (microcontroller) and MMU3-specific G-code.
Hello, I would like to print with two different materials on my Core One, but I find the MMU3 too expensive. I know a next-generation MMU has been announced, which will probably be an all-in-one solution like those offered by other manufacturers—but my intuition is that it will be even more costly. Besides, five different materials are excessive for my needs.
I’ve come up with a simple solution I could implement myself. I would just like to know from others with more experience whether this is feasible, especially on the software side. Specifically:
Is it possible to use existing MMU3 code for filament changes and purge towers, or would everything need to be written from scratch?
Could this be achieved purely with custom G-code, or would custom firmware for the Core One be necessary?
Hardware-wise, all that would be needed is a Hackerboard or microcontroller, two stepper motors (each with a small extruder gear and driver).
Concept: The idea is similar to the original MMU1 or the AMS Lite: a second Bowden tube connects via a Y-piece just above the Nextruder. The second spool would mirror the spool holder on the right side, or it could be placed in the nook on the left (where it would stick out slightly), or simply rest on a roller.
Two stepper motors with extruder gears would feed the filament to the Y-junction, insert it into the extruder, and retract it behind the Y-junction once the Nextruder has unloaded it. These two steppers would be mounted near the handlebars, before the Bowden tube entrances, and controlled by the microcontroller.
When both filaments are inserted up to the Y-junction (either by hand or automatically by the steppers after a button press), the filament intended for the first print is loaded by the correct stepper until the Nextruder’s filament sensor detects it. (This action is triggered by the user.) When the G-code for unloading the filament during multi-material printing is triggered, the Hackerboard tells the relevant stepper to retract the filament above the Y-junction, then the other stepper loads its filament into the Nextruder until the filament sensor is triggered.
The G-code for the cleaning tower or cleaning infill from the MMU3 would need to be reused. The side filament sensor should not interfere with the loading/unloading process. Any printer screen interactions required for multi-material changes should be automatically skipped or acknowledged by the Hackerboard/microcontroller.
A filament buffer isn't really needed, since the distance the filament is pushed back is just the length within the Nextruder. The required retraction distance could be preprogrammed.
I'm comfortable programming the microcontroller and interfacing it with the Hackerboard, but I have no idea how MMU3-specific G-code is implemented, or if I can use any of it without an actual MMU3 unit attached.
What do you think? Could you send me a link to documentation about MMU3-specific firmware and G-code?
(This Post has been Spellchecked and slightly improved by a LLM)