Sidecar 16 color MMU for U1

Ever since I saw the first leaks of the U1 I had this idea in my head of why not swap filament on the toolhead(s) not being used, while the active toolhead prints? That will basically erase any filament change time wasted in a normal AMS system (this is the downfall of the “innovative” H2C for over 7 colors,it still just sits there while changing).

We can’t save purge waste like a nozzle changer or just adding more toolheads, but this is a great optimization for people who value the TIME it takes to print, which was always my issue with AMS prints, I didn’t care as much about the poop waste, filament is cheap, but some prints ended up taking up the printer(s) way too long, and that’s what this mainly tackles.

There is still purge savings, as it uses tip tuning vs cutting the filament, and if you properly use -flush to infill- there is VERY little waste (you should be using flush to infill on any filament swapping printer when you can get away with it).

I’ve been working (way too much) on getting this done ever since mine arrived.

I’m calling it Sidecar.

7-10-13-16 (or more) colors.

Swap/purge while other toolheads are printing, no time added to print in most cases.

MMU Mechanicals based on the Box Turtle (frame, extruder, respooler system for now), working on a complete custom MMU system for the future.

The ViVid was considered since it has RFID and Drying, but it didn’t have the amount of controllability and customizability I wanted.

Custom RP2350B based MCU

Preprocessing/optimization engine that helps you rearrange spools between static tools (if any) and Sidecar units, and/or color order in Orca, for the least amount of purge waste and color swap down time, if you chose.

Actual filament weight remaining on each spool from a load cell under each tray, (not just estimated like spoolman etc) no more wondering if you have enough left on a spool, the Sidecar warns you if any spools needed for a print don’t have enough to finish it,and just glance at the touchscreen to see exactly how much is left on each one.

Supports concurrent loading of all 4 toolheads, if you’re just printing a 2-3-4 color print, Sidecars will unload/load the needed filaments and purge them all at once, saves a little print start time.

Although I never use it and find it gimickey, RFID support IS built in using NTAG open source tags.

Enlarged purge bin that goes to the bottom of the U1 (really not needed except for huge prints with tons of color changes if you are NOT using flush to infill)

I know there is an obsession with dryers in here, these *can* be enclosed and dryers attached, it’s just not a priority right now and I think the need for them is overblown, at least to be part of an MMU/spool holder system.

Streamlined connections:

USB-LAN from U1 to SideCar for MMU Engine communication.

6P cable for QuickPurge bracket control.

4P cable connected to each 4-1 combiner/buffer assembly.

Auxiliary Sidecars plug into the main with standard USB-C cables.

I’m working on getting the last auxiliary Sidecar built so I have all 4 toolheads swapping colors in the same print and I’ll be back with some videos of the action on a 16 color print.

18 Likes

Still have some things to tweak and features to add, but here’s the 16 Color U1 using Sidecar!

https://youtu.be/7EH3QAjspt0

https://youtu.be/s51-rpqYCb4

I have a set of CMYK-OGVW transparent PLA’s coming, because I’d like to see what the Extended Color Gamut can do for the Full Spectrum project. The results look amazing with just CMYK/W, I think adding Orange/Green/Violet as well as both Black and White will make Full Spectrum even that much more amazing.

I currently have the swap time down to under 1 minute, so that gives a time floor of 20 seconds per toolhead/layer before the U1 will need to actually pause and wait for a swap to complete, so, if all your layer times are above 20 seconds, there will be ZERO wait time for purging/swapping, it just continues to print the whole time while swaps happen in the background, like I envisioned 3 months/15,500 lines of code and counting ago, I’m happy finally see it (mostly) working.

Purge waste in worst case scenarios of black to white, small prime tower and no flush to infill, are still about 50% less than a normal AMS system…the poop will always be there, but it’s way less, and this system is designed for SPEED more than poop savings.

The pie in the test print video is 10 parts PLA, 2 parts 64D TPU, 3 parts PETG and 1 part 64D TPU-GF (yea, glass filled TPU, weird, right?). This is the variety I’ve been testing with for the past few weeks to get a handle on what filaments the MMU units can handle reliably, and so far they’ve all been working great. The 64D TPU’s need a little tweaking and still jam the extruders once in awhile but I’ll get that figured out, can’t really complain as 64D isn’t the easiest to deal with in the first place.

I also started work on a custom fork of Orca to support the system. It’s not required, but due to how many toolheads and spools there are, the current slicers aren’t really optimized for MMU-equipped toolchangers, particularly in regards to sequencing the toolhead order (i.e., using the 4 already loaded toolheads at the end of one layer, for the start of the next layer, and correctly sequencing them so there are always three tools printing in between each swap, to allow the most swap time).

The workflow as it sits now is: Set up your filament list in Orca starting with Sidecar 1, lane 1, and just go in order, Sidecar 1 lane 2= Orca filament 2, Sidecar 1 lane 3= Orca filament 3, Sidecar 1 lane 4 = Orca filament 4, Sidecar 2 lane 1, Orca filament 5, and so on. There is a custom setting in the plate options (on by default) that will automatically sequence the printing order of the colors to make sure they are spaced out correctly to max no-pause concurrent printing-purging, no need to manually drag the filament boxes around in a custom order. This sort of makes the “optimization” screen in UI obsolete, and the workflow way smoother.

So basically set up your filaments in the list like normal, slice, and click “upload and print” just like a normal U1…the Sidecar will automatically process the file and release it to the U1 and it will start printing, nothing more to it than using a stock U1.

Overall I’m happy with how it’s turning out as a system.

7 Likes

Forgive my ignorance, but I don’t understand how the communication is achieved between the U1 and your MMU(s). Something in the Gcode says “change filament”, but the Gcode is in the printer so how does the MMU get coordinated with that?

2 Likes

So great, thank you for sharing your progress!

2 Likes

there is a USB-LAN converter that connects the U1’s USB port to the Sidecar processor.

3 Likes

So in theory, we can it could be run over wifi?

Theoretically yes, but I would never trust WIFI for the communication between the Sidecar and the U1, there are many time sensitive things happening that the sidecar needs to either know about or command.

You CAN access the touch screen interface using a browser window and control it from your PC, yes.

1 Like

MQTT is pretty robust way of wireless communication used in industrial applications for years. I know moonraker supports it but I’m not sure how hard it would be with the klipper.
Why not use the AUX port like the anicubic mod?

P.S. Added this topic to awesome list - Sidecar - the 16 color MMU for Snapmaker U1 - Awesome Snapmaker List
If you setup a support page, let me know, I’ll add a direct button for it in the record like for some other projects.

I’ve subscribed to your YouTube channel, loaded it into my RSS feed, set this thread to watch. I’m hoping to catch your Kickstarter campaign early enough to not require me to re-finance my house, but if that’s what it takes…

It appears to me that you are really a mechanical engineering wizard as well as a software mage. The only thing that I can see that would make this better is to have an air-managed enclosure with dryer capability.

Will this be merging with Full Spectrum Orca, allowing for, well, 256 or more color combinations? That’s just my crazy talking now. I can’t see more than three or four colors anyway.

2 Likes

MQTT over Wi-Fi would work for telemetry/status, but I didn’t want the printer-control path to depend on the end users wireless network or router. The SideCar needs a deterministic, private, point-to-point link to the U1 for stuff like Moonraker API access, file handling, and control handshakes. A dedicated wired subnet is much more predictable and product-safe than wireless MQTT for the core control plane. Same reasoning applies to why not just use the USB port natively (AUX) vs USB-LAN, really.

3 Likes

So I guess you needed to hack the U1’s code too. Fair enough.

I subscribed to your YouTube channel, this is genius stuff. I can only imagine you have nothing else to occupy you – I could never find the time to do something like this.

1 Like

Happy? Pretty sure the rest of us are astounded!

3 Likes

needed, no, the first prototype used completely stock firmware, but it was too macgyverish and the UX wasn’t acceptable. The current version is just a thin fork with a few helper files on it, but it makes a huge difference in the UX and how the system works as a whole.

2 Likes

I’m ready to pay for a print and build package. Is there a way we can stay updated with this project?

2 Likes

I will post updates in this thread whenever they are any, thanks for the support!

2 Likes

this might be the next best thing since toast bread came along :slight_smile: do you plan have it commercially available through a store? eu maybe? I’d like to subscribe to at least 2 units.

how does it handle exotic filaments? any plan to add heating to the units?

1 Like

I had to look up your YouTube channel… :exploding_head::sign_of_the_horns::sign_of_the_horns:

For anyone else in need of it: @SideCarU1

Sidecar MMU - YouTube

1 Like

Very impressive!

I rarely need more than 4 filaments in a single print, but I’m still very interested in this for automated load/unload and those rare situations. Do you plan to productize this, and/or release it as a project others could build?

2 Likes