An open source 2 filament MMU for my P1S, focused on simplicity. I never planned on open-sourcing this, but here are the project files.
The code is a complete mess, since I focused on speed of development, and not quality.
A major reason for this project is I wanted the community to know that this was possible.
Another reason is because I don't want to support Bambu anymore. (Hate when companies remove features)
- Cheap
- Simple
- Apparently supports TPU
- Designed for P1S
- I still use Bambu Studio
- USB-C PD 👍
- Doesn't support Bambu
- Is open-source
- Bad software (Too early of a project)
- Not connected to the actual slicer (It's just a button that controls when to switch the filament. May change in the future, since I'm using an ESP32-C3)
- No community (Yet? idk)
I only designed this for 2 filaments, because I could not see myself use more than 2. I wanted dissalvable supports and maybe PLA + TPU designs.
The mechanism was inspired by TetraFlow But it felt like it had too many components.
Demo video Youtube
Dual TPU demo Youtube
had some bleeding/stringing because of wet TPU
Every design I make is Z + the project. So this is ZSwitch. (Yeah, I'm not good at names!!!)
This is the list of components I used. A better design would require less. (Excluding 3D printed parts, and small parts)
- 2: TMC2209
- 2: Nema steppers
- 1: Esp32-C3 (Yes, I wanted to add Wifi. But lazy)
- 1: USB-C PD Trigger board
- 1: Step-Down converter
- 2: Capasitors (For stepper drivers)
- 2: Arcade switches
- 3: Skateboard bearings
- 1: Filament grabbing gear (I got mine from an old sherpa mini extruder)
As per usual, if anything of my design causes damage to you or your machine, it is your own fault. I cannot be held liable for the decisions you make.
I honestly don't expect anyone to continue this. But if anyone wants to, then I'll be here. Here's a small list of TODO. All of these will be solve if the software is rewritten from scratch. But if we want to keep patching up this version, then go ahead:
- [ ]: Create functions/methods to reuse code.
- [ ]: Homing inconisitant. (Doesn't work at certain start rotations)
- [ ]: Save the calibration data to flash.
- [ ]: Seperate ready task from calibration task. (Everything is currently just in Calibration.h
- [ ]: StallGoard to stop pushing after hitting extruder.
Should be good enough for now.
Cya ♥ -Alex