After installing and configuring Happy Hare, the 3MS requires some calibrations. Follow Calibration to calibrate your 3MS.
diff --git a/print_page/index.html b/print_page/index.html
index bd27155..3e34e71 100644
--- a/print_page/index.html
+++ b/print_page/index.html
@@ -1423,6 +1423,7 @@ After installing and configuring Happy Hare, the 3MS requires some calibrations. Follow Calibration to calibrate your 3MS.
Now, you will be redirected to a page with the raw configuration. Copy the URL.
Now that you have the raw URL, you need to install the generator script.
diff --git a/search/search_index.json b/search/search_index.json
index 1d83d54..7ab97fc 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to the 3MS Documentation","text":"The 3MS is short for MMMS, which stands for Modular Multi Material System
Discord
Join the 3MS channel at the Happy Hare Discord server here.
Join the 3MS Discord:
"},{"location":"#inspiration","title":"Inspiration","text":""},{"location":"#sample-prints","title":"Sample Prints","text":"Sample Prints SheepCalendarVoron CubeT-RexLizard Model: Sheep by Cipis
Model: Monolith Cryptic Calendar by Sevro
Model: Voron Cube (bundled with OrcaSlicer), painted by me in OrcaSlicer
Printed at 50% scale
Model: T-rex by Cipis
Model: Striped lizard with pupils by EngMike
"},{"location":"#photos","title":"Photos","text":"Photos Full Printer3MSY Splitter"},{"location":"#videos","title":"Videos","text":"West3D Video Series Thank you to Allen Rowand from West3D for making this ongoing series on the 3MS.
"},{"location":"#why-3ms","title":"Why 3MS?","text":"Why use the 3MS when there are many other multi-material systems?
Here are a few reasons:
- Simplified Design: Minimal mechanical complexity for increased reliability.
- Comprehensive Documentation: Step-by-step guides to ensure smooth setup and operation.
- Slicer-Agnostic: No need for custom toolchange G-Code in your slicer.
- Scalable: Easily expand the system to handle any number of filaments.
- Auto-Retries: Automatic retries on failed tool changes to reduce downtime.
- No Filament Cutter Needed: Achieve clean tool changes without the need for filament cutters.
With that said, there are a few reasons why you might not want to/be able to use the 3MS:
- Klipper firmware is a requirement, so Marlin and RRF setups are a no go
- A filament sensor is required, so if you don't have one/don't plan to get one, the 3MS won't work with your setup
"},{"location":"#requirements","title":"Requirements","text":"To use the 3MS, your setup has to meet the following requirements:
- Run Klipper firmware
- Have SSH (PuTTY) access (99.9% of Klipper installations have this, and if you don't you really should setup SSH)
- Have one spare USB port
- Have an adapter to install a PTFE tube to the inlet of your printer's extruder.
"},{"location":"#how-it-works","title":"How it works","text":"Think of the 3MS as an extension to your current extruder's length. It allows for switching filaments without compromising any of the benefits of your printer's extruder.
The 3MS's motors work together with your printer's extruder. This way, there won't be any additional resistance from pulling the filament through a disabled extruder. Also, unloads and loads to/from the printer's extruder are fully synchronized with the 3MS. This allows for even faster toolchanges!
"},{"location":"#get-started","title":"Get Started","text":"To get started with the 3MS, see the Master Instructions.
Get Started
"},{"location":"#what-about-the-3dchameleon","title":"What about the 3DChameleon?","text":"I recently created a klipper plugin for the 3DChameleon after purchasing a unit. I'm sure my Chameleon could have worked if I had tuned it further, but after several months with only partial success, I gave up. I am still open to pull requests for 3dchameleon-klipper and will do my best to respond to issues there, but I won't be able to test it myself anymore.
If you are having reliability issues with the 3DChameleon, see 3DChameleon Conversion.
"},{"location":"compare/","title":"Comparison of Multimaterial Systems","text":"Not sure if you want to use the 3MS? Check this comparison between several common multimaterial systems.
-
Box Turtle MMU Automated Filament Changer
Pros:
Reliability
Active Community
Documentation
Cons:
Expandability (only four lanes)
Compatibility (only Klipper)
Price ($300)
-
ERCF v2 An expandable MMU for Klipper-based 3D-printers
Pros:
Reliability
Modular Design
Active Community
Documentation
Cons:
Compatibility (only Klipper)
Complexity
-
TradRack by Annex Engineering
Pros:
Reliability
Modular Design
Active Community
Documentation
Cons:
Compatibility (only Klipper)
Complexity
-
3DChameleon MK4 Automatic Color Changer
Pros:
Compatibility
No custom firmware
Price ($200)
Cons:
Reliability
Documentation
-
SMuFF Smart Multi Filament Feeder
Pros:
Reliability
Modular Design
Documentation
Cons:
Complexity
-
Prusa MMU3 Multi Material Upgrade
Pros:
Reliability
Support
Documentation
Cons:
Compatibility
Price ($300)
"},{"location":"instructions/","title":"Instructions","text":""},{"location":"instructions/#master-instructions","title":"Master Instructions","text":"Due to the modularity of the 3MS, there are many ways to set it up. This guide attempts to encompass all supported ways of setting up the 3MS.
"},{"location":"instructions/#basic-steps","title":"Basic Steps","text":"The basic steps this guide will follow are:
- Getting a BOM
- Assembling your 3MS
- Configuring your 3MS
- Calibrating your 3MS
"},{"location":"instructions/#0-explanations","title":"0. Explanations","text":"Before starting the instructions, a basic understanding of how the 3MS works is recommended. There are two types of components in the 3MS:
-
Controller
This controls the 3MS stepper motors. This is usually an extra 3D printer mainboard purchased specifically for the 3MS. If your existing 3D printer mainboard has spare stepper ports, you can use them for the 3MS.
The available configurations are specific to either an external mainboard setup, or utilizing spare stepper ports on your existing mainboard. If you are utilizing spare stepper ports, the name of the config will include \"(main MCU)\"
\"controller\" can be used interchangeably with \"MCU\" and \"control board\"
-
Filament Units
These move the filament. These are standard MK8 extruders (used on Ender 3's). You can use different extruders for the filament units, as long as you can mount them securely and they can attach to a PTFE tube. MK8 extruders are used as the default due to their low cost.
\"filament unit\" and \"gate\" can be used interchangeably
The number of filaments you will be able to print with is equal to the number of filament units you have. For example, two filament units will let you print with two colors. It is important to note that one filament unit will NOT let you print in multimaterial.
"},{"location":"instructions/#1-getting-a-bom","title":"1. Getting a BOM","text":"Go to BOM to view the bill of materials for the number of filament units you want. Example BOM for two filament units and a SKR Mini E3 V2:
Name Price Quantity Link Notes SKR Mini E3 V2 $34.99 1 Amazon Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters NEMA17 Stepper Motor $9.99 2 Amazon You can use a pancake stepper if you want, but it will have less torque MK8 Metal Extruder $9.99 2 Amazon Capricorn PTFE Tubing $11.49 1 Amazon You likely won't need this for every unit, as this is usually too long for only one unit"},{"location":"instructions/#2-assembling-your-3ms","title":"2. Assembling your 3MS","text":"Follow Assembly to assemble your 3MS.
"},{"location":"instructions/#3-configuring-your-3ms","title":"3. Configuring your 3MS","text":"Set up Happy Hare firmware following this guide.
If you're looking for a configuration, see generator guide.
"},{"location":"instructions/#4-calibrating-your-3ms","title":"4. Calibrating your 3MS","text":"After installing and configuring Happy Hare, the 3MS requires some calibrations. Follow Calibration to calibrate your 3MS.
"},{"location":"contributing/","title":"Contributing","text":"If you want to contribute to the 3MS project, follow the instructions below.
"},{"location":"contributing/#development-setup","title":"Development Setup","text":"Follow Development Setup to setup your system for development with the 3MS.
"},{"location":"contributing/#pull-request","title":"Pull Request","text":"Finally, submit a pull request. A developer will get back to you soon with feedback, before merging your pull request into the main project.
Thank you for your contribution to the 3MS project!
"},{"location":"contributing/devsetup/","title":"Development Setup","text":"Follow this guide to setup your system for development with the 3MS.
"},{"location":"contributing/devsetup/#documentation-changes","title":"Documentation Changes","text":" - Fork the 3MS repository
- Create a new branch for your pull request (from the
docs
branch) - Install Python.
- Install Pipenv.
- In your terminal, navigate to the 3MS folder, and run:
pipenv install\npipenv shell\n
- Develop changes in the new branch, using the following command to run the documentation locally:
mkdocs serve\n
"},{"location":"guides/3dchameleon/","title":"3DChameleon to 3MS Conversion","text":"Follow this guide to convert a 3DChameleon to a 3MS.
"},{"location":"guides/3dchameleon/#bom","title":"BOM","text":"Name Price Quantity Link Notes BTT MMB $34.99 1 BTT Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 24V PSU $12.99 1 Amazon This PSU is only sufficient to run steppers, not heaters MK8 Metal Extruder $9.99 2 Amazon Alternatively, you can use this Dual-drive MK8 based extruder The final cost of this upgrade is around $70.
"},{"location":"guides/3dchameleon/#instructions","title":"Instructions","text":" - Release the eight bolts on the 3DChameleon unit to remove the two NEMA17 stepper motors.
- Unplug the NEMA17's from the 3DChameleon electronics board
- Remove the PTFE tubes from the 3DChameleon unit and the Y-splitter
Next, follow the Master Instructions except for the BOM section.
"},{"location":"guides/generator/","title":"Configuration Generator","text":"Follow this guide to create a custom configuration for your 3MS.
"},{"location":"guides/generator/#base-configuration","title":"Base Configuration","text":"First, find the case configuration for your mainboard. The best place to find these is in the official Klipper sample configurations.
In this example, a BTT SKR Mini E3 V3 will be used. A base configuration is available in the official configuration here.
"},{"location":"guides/generator/#raw-file","title":"Raw File","text":"Now you have the configuration, but it isn't a raw file. It's a full webpage. To continue, you need the raw configuration. To do this, find the \"Raw\" button in the upper-right corner of the page.
Now, you will be redirected to a page with the raw configuration. Copy the URL.
"},{"location":"guides/generator/#generating-the-configuration","title":"Generating the Configuration","text":"Now that you have the raw URL, you need to install the generator script.
"},{"location":"guides/generator/#installation","title":"Installation","text":" -
Clone the 3MS repository:
cd ~\ngit clone https://github.com/3DCoded/3MS\n
-
Ensure Python 3 is installed (not Python 2).
-
Install requests
pip3 install requests\n
"},{"location":"guides/generator/#running-the-script","title":"Running the Script","text":"First, start the script:
cd ~/3MS\npython3 generator.py\n
Now, you will be presented with several options.
"},{"location":"guides/generator/#configuration-url","title":"Configuration URL","text":"Paste in the URL you found earlier.
Local file configurations
You can also use a file configuration by passing the --file
parameter:
python3 generator.py --file\n
"},{"location":"guides/generator/#selected-steppers","title":"Selected Steppers","text":"The script will now list all the stepper motor configurations that were found in the configuration, with a number next to each. Enter the desired steppers, seperated by spaces.
"},{"location":"guides/generator/#tmc-drivers","title":"TMC Drivers","text":"For each stepper you selected, the script will ask you which TMC driver to use. For the SKR Mini E3 V3, there is only one option: TMC2209.
No TMC Drivers?
If you don't want to use TMC drivers in your configuration, pass the --no-tmc
parameter:
python3 generator.py --no-tmc\n
"},{"location":"guides/generator/#mcu-name","title":"MCU Name","text":"Finally, the script will ask you for the name of the MCU controlling your 3MS. Follow the naming convention outlined in the prompt.
Your configuration will now be available in ~/3MS/mmu.cfg
and ~/3MS/mmu_hardware.cfg
.
"},{"location":"hidden/hidden-assembly/","title":"Hidden assembly","text":""},{"location":"hidden/hidden-assembly/#3ms-kit-assembly","title":"3MS Kit Assembly","text":"This page is under construction
This page is the assembly instructions for future 3MS kits. Instructions on this page will change, so don't follow it until 3MS Kits are officially released. Anything on this page is subject to change.
Tip
Even though each step only looks like it has one image, if you click on the image you can view several more images for each step.
"},{"location":"hidden/hidden-assembly/#electronics-assembly","title":"Electronics Assembly","text":""},{"location":"hidden/hidden-assembly/#step-1-preparing-the-power-cables","title":"Step 1 Preparing the Power Cables","text":" -
Strip both ends of the red and black power cables and twist the ends.
Use wire cutters that can strip 14AWG wire.
Strip 5mm of insulation off of both ends of both wires.
Twist the ends of the stripped wires tightly.
"},{"location":"hidden/hidden-assembly/#step-2-connecting-the-power-supply","title":"Step 2 Connecting the Power Supply","text":" -
Insert both power cables into the power supply.
Loosen the terminals with a phillips-head screwdriver.
Insert the red power cable into the positive PSU terminal.
Insert the black power cable into the negative PSU terminal.
Tighten both terminals securely with a phillips-head screwdriver.
"},{"location":"hidden/hidden-assembly/#step-3-connecting-the-control-board","title":"Step 3 Connecting the Control Board","text":" -
Insert both power cables into the control board.
Locate the HVIN power input on the control board and loosen both terminals with a flat-head screwdriver.
Insert the red power cable into the positive HVIN terminal.
Insert the black power cable into the negative HVIN terminal.
Tighten both terminals securely with a flat-head screwdriver.
"},{"location":"hidden/hidden-assembly/#step-4-adding-jumpers","title":"Step 4 Adding Jumpers","text":" -
Install the VUSB and HVIN jumpers.
Install the VUSB jumper.
For each stepper driver, select the HVIN input by installing a jumper on each driver.
"},{"location":"hidden/hidden-assembly/#step-5-install-the-stepper-drivers","title":"Step 5 Install the Stepper Drivers","text":""},{"location":"hidden/hidden-assembly/#printed-parts","title":"Printed Parts","text":""},{"location":"hidden/hidden-assembly/#step-1-extruder-mounts","title":"Step 1 Extruder Mounts","text":""},{"location":"hidden/hidden-assembly/#step-2-y-splitter","title":"Step 2 Y-Splitter","text":""},{"location":"hidden/hidden-assembly/#hardware-assembly","title":"Hardware Assembly","text":""},{"location":"hidden/hidden-assembly/#step-1-assemble-extruders","title":"Step 1 Assemble Extruders","text":" -
Assemble each of your 3MS extruders
Place the mounting plate on the face of the motor
Assemble the MK8 extruders onto the face of the motors (with the mount in between)
Repeat for all four 3MS extruders
"},{"location":"hidden/hidden-assembly/#step-2-connecting-the-stepper-motors","title":"Step 2 Connecting the Stepper Motors","text":" -
Connect each stepper motor to the BTT MMB CAN board
The extruder for T0 connects to the M1 port
The extruder for T1 connects to the M2 port
The extruder for T2 connects to the M3 port
The extruder for T3 connects to the M4 port
"},{"location":"hidden/hidden-assembly/#step-3-installing-the-mmb-can-optional","title":"Step 3 Installing the MMB CAN (optional)","text":""},{"location":"setup/assembly/","title":"Assembly","text":"Follow this guide to assemble your 3MS.
"},{"location":"setup/assembly/#printed-parts","title":"Printed Parts","text":""},{"location":"setup/assembly/#mounting","title":"Mounting","text":" -
Univeral M3 Mount for Extruder Note that this requires 2-4 M3 bolts and a place to screw the bolts into (like an aluminum extrusion with T-nuts). Designed by 3DCoded.
- Image3D Viewer
3MS Box This is designed for four filament units and a BTT MMB. Designed by chadakken.
"},{"location":"setup/assembly/#y-splitters","title":"Y-Splitters","text":" - Image3D Viewer
4-way Y-splitter designed by ImChrono.
-
4-way Y-splitter with ECAS04 and M3 Bolt designed by Jager-f.
-
4-way Y splitter with ECAS04 designed by 3DCoded.
"},{"location":"setup/assembly/#filament-units-assembly","title":"Filament Units Assembly","text":" - If using any mounting parts, place it on the face of your NEMA17 motor.
- Assemble the MK8 extruders using the instructions that came with them.
- Repeat for all filament units.
"},{"location":"setup/assembly/#wiring","title":"Wiring","text":"Note for Certain Printers
If your printer has Klipper running internally (not on an external computer like a Raspberry Pi), the controller (if not a main MCU config) is plugged into a USB port on the printer itself.
Follow one of the following guides based on your controller:
Recommended: BTT MMB
Other Controllers:
- SKR Mini E3 V2
- SKR Pico
- Mellow Fly D7
- BTT Octopus (main MCU)
- Einsy RAMBo (main MCU) with SKR Mini E3 V2
- Zonestar ZM384 (main MCU)
- Mi ni RAMBo
- Geetech A30T
"},{"location":"setup/bom/","title":"BOM","text":""},{"location":"setup/bom/#controller-choice","title":"Controller Choice","text":"First, choose the control board you want to use in your 3MS. Choose a controller from the available ones here.
"},{"location":"setup/bom/#number-of-filament-units","title":"Number of filament units","text":"First, choose the number of filament units you want. Each filament unit lets you print with an additional filament. Two filament units are the minimum. You can add or remove filament units after building, but the BOM and configuration will vary based on how many filament units you want.
"},{"location":"setup/bom/#controller-boms","title":"Controller BOMs","text":"Choose the BOM for your chosen controller from the list below:
Recommended: BTT MMB
Other Controllers:
- BTT SKR Mini E3 V2
- BTT SKR Pico
- Mellow Fly D7
- BTT Octopus (main MCU)
- Zonestar ZM384 (main MCU)
- Mini RAMBo
- Geetech A30T
"},{"location":"setup/bom/#filament-unit-boms","title":"Filament Unit BOMs","text":"For each filament unit, purchase this BOM:
Name Quantity Price Link Notes NEMA17 Stepper Motor 1 $9.99 Amazon You can use a pancake stepper if you want, but it will have less torque MK8 Metal Extruder 1 $9.99 Amazon Alternatively, you can use this Dual-drive MK8 based extruder PTFE Tubing 1 $8.99 Amazon You likely won't need this for every unit, as this is usually too long for only one unit"},{"location":"setup/calibration/","title":"Calibration","text":"Follow this guide to calibrate your 3MS.
Original Documentation
This guide is a simplified version of the official Happy Hare documentation. I highly recommend you read it as it contains useful information and goes more in detail if you are having trouble with the calibrations.
"},{"location":"setup/calibration/#verify-filament-sensors","title":"Verify Filament Sensors","text":"Before calibrating, it is important to ensure that your filament sensors are working properly.
Run in your Klipper console:
QUERY_ENDSTOPS\n
and verify the output. For each endstop, open
means no filament detected, and TRIGGERED
means filament present. Re-run the command several times, inserting/removing filament to each of the sensors, to verify that each filament sensor properly detects filament.
"},{"location":"setup/calibration/#gear-steppers","title":"Gear Steppers","text":"First, calibrate your gear steppers (filament units). The goal of this calibration is to ensure the filament actually moves as far as expected.
First, detach the PTFE tubing from each of the filament units.
For each filament unit (gate), repeat the following steps:
- Manually load filament until it sticks out slightly from the end of the filament unit
- Cut the tip of the filament to be flush with the PTFE coupler (side cutters are good for this).
-
Run the following commands in your Klipper console:
MMU_SELECT GATE=n\nMMU_TEST_MOVE MOVE=100\n
where n
is the gate number you are calibrating (starting at zero).
-
The filament should move forwards. If it moves backwards, invert your gear stepper. Measure the distance the filament moved out of the extruder. Using side cutters the same as before can be helpful for this. Run the following command in your Klipper console:
MMU_CALIBRATE_GEAR MEASURED=n\n
where n
is the measured distance.
-
Repeat step c. The filament should move exactly 100mm
.
"},{"location":"setup/calibration/#encoder-if-installed","title":"Encoder (if installed)","text":"If you are using an encoder, like a BTT SFS (Smart Filament Sensor), you need to calibrate your encoder.
- Load your filament manually to its parking position at the start of the Y-splitter.
-
Run in your Klipper console:
MMU_CALIBRATE_ENCODER\n
"},{"location":"setup/calibration/#inverting-a-gear-stepper","title":"Inverting a Gear Stepper","text":"If you notice any of your gear steppers moving filament in the opposite direction as expected, you need to invert the gear stepper. There are two options to do this:
- Physically flip the stepper cables
- Invert it in software
To invert a gear stepper in software, open mmu_hardware.cfg
and invert the dir_pin
for the respective stepper.
Example, if T1
is moving backwards:
BeforeAfter mmu_hardware.cfg[stepper_mmu_gear_1]\n...\ndir_pin: mmu: PC5\n
mmu_hardware.cfg[stepper_mmu_gear_1]\n...\ndir_pin: !mmu: PC5 # <-- Note the ! in front of mmu\n
Tip
If the pin already has a !
in front of it, remove it to invert it.
Restart Klipper.
"},{"location":"setup/controllers/","title":"Controllers","text":"Follow this guide to determine which controller to use in your 3MS.
"},{"location":"setup/controllers/#options","title":"Options","text":"The 3MS works on multiple different controllers.
Info
If your printer's mainboard has spare stepper ports, you can use them to control 3MS steppers. You can open an issue on Github (there's a template) to get a configuration made for your specific setup. Any controllers listed with \"(main MCU)\" use those spare stepper plugs.
Choose one of the following supported controllers (a checked box indicates it is fully tested, and an empty box indicates testers wanted):
-
BTT MMB (4 colors)
Recommended
"},{"location":"setup/controllers/bttmmb/","title":"BTT MMB","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/bttmmb/#bom","title":"BOM","text":"Name Price Quantity Link Notes BTT MMB $34.99 1 BTT Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/bttmmb/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 M1 1 M2 2 M3 3 M4 Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the MMB board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Following this image, locate the HVIN and GND inputs (top left)
-
Route the two wires inside closest to the HVIN and GND inputs
- Using the markings on the board, plug the red wire into the HVIN terminal on the MMB
- Using the markings on the board, plug the black wire into the GND terminal on the MMB
-
Plug in the VUSB jumper
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your MMB, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
Plug the MMB into your Klipper host with the cable that came with it.
If the MMB lights up, you wired it correctly!
"},{"location":"setup/controllers/bttoctopusmain/","title":"BTT Octopus (main MCU)","text":"Warning
This configuration may not work with the BTT Octopus Pro.
Max filament units: 4
MCU Name: main
"},{"location":"setup/controllers/bttoctopusmain/#main-mcu","title":"main MCU","text":"This configuration is a main MCU
configuration, meaning that your printer should already be running off a BTT Octopus and you don't need to purchase one.
"},{"location":"setup/controllers/bttoctopusmain/#bom","title":"BOM","text":"Per filament unit:
1x TMC2209 ($7 each)
"},{"location":"setup/controllers/bttoctopusmain/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 MOTOR7 1 MOTOR6 2 MOTOR5 3 MOTOR4"},{"location":"setup/controllers/einsyrambo-skrminie3v2/","title":"Einsy RAMBo (main MCU) with SKR Mini E3 V2","text":"Danger
This guide is an expert guide only
Info
This modification is designed for the Prusa MK3/S/S+, and depends on this Klipper configuration.
"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#why","title":"Why?","text":"When printing fast, the TMC2130's on the Einsy RAMBo can get quite loud. The TMC2209's on the SKR Mini are much quieter and support denser microstepping.
"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#bom","title":"BOM","text":"Name Price Quantity Link Notes PSU -> Einsy Cable $7.99 1 PartsBuilt3D Stepperonline NEMA17 $9.99 each Amazon 2 Replaces current XY motors"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#wiring","title":"Wiring","text":"First, unplug the 3MS steppers from the SKR Mini, and the XY steppers from the Einsy RAMBo. The motors will need to be switched due to different connector types between boards.
This table outlines the major wiring of this modification.
Einsy RAMBo SKR Mini E3 V2 Motor PSU+ POWER+ PSU- POWER- XM 3ms0 YM 3ms1 XM X YM Y"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#configuration","title":"Configuration","text":"In your printer.cfg
, comment out these lines:
printer.cfg#[include klipper-prusa-mk3s/mk3s/steppers.cfg]\n#[include klipper-prusa-mk3s/mk3s/tmc2130.cfg]\n
Next, copy the contents of 3ms/controllers/einsy_rambo_with_skr_mini/xy-motors.cfg
and ze-motors.cfg
to klipper-prusa-mk3s/skr/xy.cfg
, and klipper-prusa-mk3s/mk3s/ze.cfg
, respectively.
Add the following new lines:
printer.cfg[include klipper-prusa-mk3s/skr/xy.cfg]\n[include klipper-prusa-mk3s/mk3s/ze.cfg]\n
Restart Klipper.
"},{"location":"setup/controllers/geetech-a30t/","title":"Geetech A30T","text":"Contributed by @ImChrono
Max filament units: 7
MCU Name: 3ms
"},{"location":"setup/controllers/geetech-a30t/#bom","title":"BOM","text":"Name Price Quantity Link Notes Geetech A30T $34.99 1 Geetech Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 24V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/geetech-a30t/#firmware","title":"Firmware","text":"To flash Klipper firmware to the A30T, run the following command and see the following screenshot:
cd ~/klipper\nmake menuconfig\n
Next, connect the BOOT0 jumper on the A30T and run:
stm32flash -i ',,,,,' -v -w out/klipper.bin -g 0 /dev/serial/by-id/<your-mcu-id-here>\n
"},{"location":"setup/controllers/geetech-a30t/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 X 1 Y 2 Z0 3 Z1 4 E1 5 E2 6 E3 Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug two red wires into the positive terminal of the screw terminals
-
Plug two black wires into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the motherboard, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Route the four wires inside closest to your chosen input
- Using the markings on the board, plug the two red wires into the positive terminal on the motherboard
- Using the markings on the board, plug the two black wires into the negative terminal on the motherboard
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your motherboard, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the motherboard lights up, you wired it correctly!
Finally, plug the motherboard into your Klipper host with the cable that came with it.
"},{"location":"setup/controllers/geetech-a30t/#uart-conversion","title":"UART Conversion","text":""},{"location":"setup/controllers/geetech-a30t/#attention-proceed-with-caution","title":"\u26a0\ufe0f Attention: Proceed with Caution! \u26a0\ufe0f","text":"This modification involves delicate hardware changes that require precision and attention to detail. Mistakes in wiring or soldering can permanently damage your GTM32_103_V1 board.
- Double-check connections before applying power.
- Use proper tools and follow best practices for soldering.
- If you are not confident in your skills, seek assistance from an experienced individual or professional.
You proceed at your own risk.
"},{"location":"setup/controllers/geetech-a30t/#overview","title":"Overview","text":"This guide details the process of modifying the GTM32_103_V1 3D printer controller board to enable UART capabilities. The GTM32_103_V1 board features 7 TMC2208 drivers operating in standalone mode by default. This modification involves removing the SD card slot and repurposing its pinouts for UART communication.
"},{"location":"setup/controllers/geetech-a30t/#features-of-the-modification","title":"Features of the Modification","text":" - UART Capability: Enables communication with TMC2208 drivers via UART repurposing the SDCard slot
"},{"location":"setup/controllers/geetech-a30t/#hardware-changes","title":"Hardware Changes","text":""},{"location":"setup/controllers/geetech-a30t/#components-modified","title":"Components Modified","text":" - SD Card Slot: Removed entirely to free up pinouts for UART.
- Repurposed Pins: SD card slot pins are reassigned as per the following table:
TCM2208 Driver SD Card Pin STM32 Pin Motor0 9 PC7 Motor1 8 PC9 Motor2 7 PC8 Motor3 5 PC12 Motor4 3 PD2 Motor5 2 PC11 Motor6 1 PC10"},{"location":"setup/controllers/geetech-a30t/#procedure","title":"Procedure","text":" - Remove Pull down resistor from each driver:
- Desolder the SMD 1k\u2126 resistor carefully to avoid damaging the surrounding components.
TMCDriver PCB Code Motor0 R53 Motor1 R57 Motor2 R62 Motor3 R120 Motor4 R71 Motor5 R95 Motor6 R105 - Remove the SD Card Slot:
- Desolder the SD card slot carefully to avoid damaging the surrounding components.
- Repurpose the Pinouts:
- Rewire the SD card pins according to the table above.
- Connect each pin to its corresponding UART connection for the TMC2208 drivers.
"},{"location":"setup/controllers/geetech-a30t/#testing-and-validation","title":"Testing and Validation","text":"After completing the hardware changes: 1. Connect the board to your 3D printer and power it on. 2. Use your firmware to verify UART communication with each TMC2208 driver. 3. Check for successful responses from the drivers using a terminal or debugging tool.
"},{"location":"setup/controllers/geetech-a30t/#photos","title":"Photos","text":"Add your photos here to demonstrate the modification process and results: - Close-up of the TMC driver
-Close-up of the TMC driver with resistor removed (solder the uart pint to the red signed pin)
"},{"location":"setup/controllers/geetech-a30t/#uart-configuration","title":"UART Configuration","text":"When configuring this board with Happy Hare firmware, be sure to use UART-mmu.cfg
and UART-mmu_hardware.cfg
(renaming to mmu.cfg
and mmu_hardware.cfg
respectively).
"},{"location":"setup/controllers/mellowflyd7/","title":"Mellow Fly D7","text":"Max filament units: 7
MCU Name: 3ms
"},{"location":"setup/controllers/mellowflyd7/#bom","title":"BOM","text":"Name Price Quantity Link Notes Mellow Fly D7 1 Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/mellowflyd7/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 X 1 Y 2 Z 3 Z1 4 Z2 5 E0 Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the board board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Using the markings on the board, plug the red wire into the positive terminal on the board
- Using the markings on the board, plug the black wire into the negative terminal on the board
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your board, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the board lights up, you wired it correctly!
Finally, plug the board into your Klipper host with the cable that came with it.
"},{"location":"setup/controllers/minirambo/","title":"Mini RAMBo","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/minirambo/#bom","title":"BOM","text":"Name Price Quantity Link Notes Mini RAMBo 1 Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/minirambo/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 XM 1 YM 2 ZAM or ZBM 3 E0M Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the RAMBo board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Route the two wires inside closest to your chosen input
- Using the markings on the board, plug the red wire into the positive terminal on the RAMBo
- Using the markings on the board, plug the black wire into the negative terminal on the RAMBo
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your RAMBo, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the RAMBo lights up, you wired it correctly!
Finally, plug the RAMBo into your Klipper host with the cable that came with it.
"},{"location":"setup/controllers/skrminie3v2/","title":"BTT SKR Mini E3 V2","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/skrminie3v2/#bom","title":"BOM","text":"Name Price Quantity Link Notes SKR Mini E3 V2 $34.99 1 Amazon Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/skrminie3v2/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 XM 1 YM 2 ZAM or ZBM 3 E0M Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the SKR board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Following this image, choose either the DCIN or POWER input
- Route the two wires inside closest to your chosen input
- Using the markings on the board, plug the red wire into the positive terminal on the SKR
- Using the markings on the board, plug the black wire into the negative terminal on the SKR
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your SKR, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the SKR lights up, you wired it correctly!
Finally, plug the SKR into your Klipper host with the blue cable that came with it.
"},{"location":"setup/controllers/skrpico/","title":"BTT SKR Pico","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/skrpico/#bom","title":"BOM","text":"Name Price Quantity Link Notes SKR Pico $35.99 1 Amazon Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/skrpico/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 X 1 Y 2 Z1 or Z2 3 E Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the SKR board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Following this image, locate the POWER input
- Route the two wires inside closest to the POWER input
- Using the markings on the board, plug the red wire into the positive terminal on the SKR
- Using the markings on the board, plug the black wire into the negative terminal on the SKR
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your SKR, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the SKR lights up, you wired it correctly!
Finally, plug the SKR into your Klipper host with the blue cable that came with it.
"},{"location":"setup/controllers/zm384main/","title":"Zonestar ZM384 (main MCU)","text":"Max filament units: 3
MCU Name: main
"},{"location":"setup/controllers/zm384main/#main-mcu","title":"main MCU","text":"This configuration is a main MCU
configuration, meaning that your printer should already be running off a ZM384 and you don't need to purchase one.
Filament Unit # Motor Port 0 E0 1 E1 2 E2 3 E3"}]}
\ No newline at end of file
+{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to the 3MS Documentation","text":"The 3MS is short for MMMS, which stands for Modular Multi Material System
Discord
Join the 3MS channel at the Happy Hare Discord server here.
Join the 3MS Discord:
"},{"location":"#inspiration","title":"Inspiration","text":""},{"location":"#sample-prints","title":"Sample Prints","text":"Sample Prints SheepCalendarVoron CubeT-RexLizard Model: Sheep by Cipis
Model: Monolith Cryptic Calendar by Sevro
Model: Voron Cube (bundled with OrcaSlicer), painted by me in OrcaSlicer
Printed at 50% scale
Model: T-rex by Cipis
Model: Striped lizard with pupils by EngMike
"},{"location":"#photos","title":"Photos","text":"Photos Full Printer3MSY Splitter"},{"location":"#videos","title":"Videos","text":"West3D Video Series Thank you to Allen Rowand from West3D for making this ongoing series on the 3MS.
"},{"location":"#why-3ms","title":"Why 3MS?","text":"Why use the 3MS when there are many other multi-material systems?
Here are a few reasons:
- Simplified Design: Minimal mechanical complexity for increased reliability.
- Comprehensive Documentation: Step-by-step guides to ensure smooth setup and operation.
- Slicer-Agnostic: No need for custom toolchange G-Code in your slicer.
- Scalable: Easily expand the system to handle any number of filaments.
- Auto-Retries: Automatic retries on failed tool changes to reduce downtime.
- No Filament Cutter Needed: Achieve clean tool changes without the need for filament cutters.
With that said, there are a few reasons why you might not want to/be able to use the 3MS:
- Klipper firmware is a requirement, so Marlin and RRF setups are a no go
- A filament sensor is required, so if you don't have one/don't plan to get one, the 3MS won't work with your setup
"},{"location":"#requirements","title":"Requirements","text":"To use the 3MS, your setup has to meet the following requirements:
- Run Klipper firmware
- Have SSH (PuTTY) access (99.9% of Klipper installations have this, and if you don't you really should setup SSH)
- Have one spare USB port
- Have an adapter to install a PTFE tube to the inlet of your printer's extruder.
"},{"location":"#how-it-works","title":"How it works","text":"Think of the 3MS as an extension to your current extruder's length. It allows for switching filaments without compromising any of the benefits of your printer's extruder.
The 3MS's motors work together with your printer's extruder. This way, there won't be any additional resistance from pulling the filament through a disabled extruder. Also, unloads and loads to/from the printer's extruder are fully synchronized with the 3MS. This allows for even faster toolchanges!
"},{"location":"#get-started","title":"Get Started","text":"To get started with the 3MS, see the Master Instructions.
Get Started
"},{"location":"#what-about-the-3dchameleon","title":"What about the 3DChameleon?","text":"I recently created a klipper plugin for the 3DChameleon after purchasing a unit. I'm sure my Chameleon could have worked if I had tuned it further, but after several months with only partial success, I gave up. I am still open to pull requests for 3dchameleon-klipper and will do my best to respond to issues there, but I won't be able to test it myself anymore.
If you are having reliability issues with the 3DChameleon, see 3DChameleon Conversion.
"},{"location":"compare/","title":"Comparison of Multimaterial Systems","text":"Not sure if you want to use the 3MS? Check this comparison between several common multimaterial systems.
-
Box Turtle MMU Automated Filament Changer
Pros:
Reliability
Active Community
Documentation
Cons:
Expandability (only four lanes)
Compatibility (only Klipper)
Price ($300)
-
ERCF v2 An expandable MMU for Klipper-based 3D-printers
Pros:
Reliability
Modular Design
Active Community
Documentation
Cons:
Compatibility (only Klipper)
Complexity
-
TradRack by Annex Engineering
Pros:
Reliability
Modular Design
Active Community
Documentation
Cons:
Compatibility (only Klipper)
Complexity
-
3DChameleon MK4 Automatic Color Changer
Pros:
Compatibility
No custom firmware
Price ($200)
Cons:
Reliability
Documentation
-
SMuFF Smart Multi Filament Feeder
Pros:
Reliability
Modular Design
Documentation
Cons:
Complexity
-
Prusa MMU3 Multi Material Upgrade
Pros:
Reliability
Support
Documentation
Cons:
Compatibility
Price ($300)
"},{"location":"instructions/","title":"Instructions","text":""},{"location":"instructions/#master-instructions","title":"Master Instructions","text":"Due to the modularity of the 3MS, there are many ways to set it up. This guide attempts to encompass all supported ways of setting up the 3MS.
"},{"location":"instructions/#basic-steps","title":"Basic Steps","text":"The basic steps this guide will follow are:
- Getting a BOM
- Assembling your 3MS
- Configuring your 3MS
- Calibrating your 3MS
"},{"location":"instructions/#0-explanations","title":"0. Explanations","text":"Before starting the instructions, a basic understanding of how the 3MS works is recommended. There are two types of components in the 3MS:
-
Controller
This controls the 3MS stepper motors. This is usually an extra 3D printer mainboard purchased specifically for the 3MS. If your existing 3D printer mainboard has spare stepper ports, you can use them for the 3MS.
The available configurations are specific to either an external mainboard setup, or utilizing spare stepper ports on your existing mainboard. If you are utilizing spare stepper ports, the name of the config will include \"(main MCU)\"
\"controller\" can be used interchangeably with \"MCU\" and \"control board\"
-
Filament Units
These move the filament. These are standard MK8 extruders (used on Ender 3's). You can use different extruders for the filament units, as long as you can mount them securely and they can attach to a PTFE tube. MK8 extruders are used as the default due to their low cost.
\"filament unit\" and \"gate\" can be used interchangeably
The number of filaments you will be able to print with is equal to the number of filament units you have. For example, two filament units will let you print with two colors. It is important to note that one filament unit will NOT let you print in multimaterial.
"},{"location":"instructions/#1-getting-a-bom","title":"1. Getting a BOM","text":"Go to BOM to view the bill of materials for the number of filament units you want. Example BOM for two filament units and a SKR Mini E3 V2:
Name Price Quantity Link Notes SKR Mini E3 V2 $34.99 1 Amazon Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters NEMA17 Stepper Motor $9.99 2 Amazon You can use a pancake stepper if you want, but it will have less torque MK8 Metal Extruder $9.99 2 Amazon Capricorn PTFE Tubing $11.49 1 Amazon You likely won't need this for every unit, as this is usually too long for only one unit"},{"location":"instructions/#2-assembling-your-3ms","title":"2. Assembling your 3MS","text":"Follow Assembly to assemble your 3MS.
"},{"location":"instructions/#3-configuring-your-3ms","title":"3. Configuring your 3MS","text":"Set up Happy Hare firmware following this guide.
If you're looking for a configuration, see generator guide.
Next, configure Happy Hare firmware using this guide.
"},{"location":"instructions/#4-calibrating-your-3ms","title":"4. Calibrating your 3MS","text":"After installing and configuring Happy Hare, the 3MS requires some calibrations. Follow Calibration to calibrate your 3MS.
"},{"location":"contributing/","title":"Contributing","text":"If you want to contribute to the 3MS project, follow the instructions below.
"},{"location":"contributing/#development-setup","title":"Development Setup","text":"Follow Development Setup to setup your system for development with the 3MS.
"},{"location":"contributing/#pull-request","title":"Pull Request","text":"Finally, submit a pull request. A developer will get back to you soon with feedback, before merging your pull request into the main project.
Thank you for your contribution to the 3MS project!
"},{"location":"contributing/devsetup/","title":"Development Setup","text":"Follow this guide to setup your system for development with the 3MS.
"},{"location":"contributing/devsetup/#documentation-changes","title":"Documentation Changes","text":" - Fork the 3MS repository
- Create a new branch for your pull request (from the
docs
branch) - Install Python.
- Install Pipenv.
- In your terminal, navigate to the 3MS folder, and run:
pipenv install\npipenv shell\n
- Develop changes in the new branch, using the following command to run the documentation locally:
mkdocs serve\n
"},{"location":"guides/3dchameleon/","title":"3DChameleon to 3MS Conversion","text":"Follow this guide to convert a 3DChameleon to a 3MS.
"},{"location":"guides/3dchameleon/#bom","title":"BOM","text":"Name Price Quantity Link Notes BTT MMB $34.99 1 BTT Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 24V PSU $12.99 1 Amazon This PSU is only sufficient to run steppers, not heaters MK8 Metal Extruder $9.99 2 Amazon Alternatively, you can use this Dual-drive MK8 based extruder The final cost of this upgrade is around $70.
"},{"location":"guides/3dchameleon/#instructions","title":"Instructions","text":" - Release the eight bolts on the 3DChameleon unit to remove the two NEMA17 stepper motors.
- Unplug the NEMA17's from the 3DChameleon electronics board
- Remove the PTFE tubes from the 3DChameleon unit and the Y-splitter
Next, follow the Master Instructions except for the BOM section.
"},{"location":"guides/generator/","title":"Configuration Generator","text":"Follow this guide to create a custom configuration for your 3MS.
"},{"location":"guides/generator/#base-configuration","title":"Base Configuration","text":"First, find the case configuration for your mainboard. The best place to find these is in the official Klipper sample configurations.
In this example, a BTT SKR Mini E3 V3 will be used. A base configuration is available in the official configuration here.
"},{"location":"guides/generator/#raw-file","title":"Raw File","text":"Now you have the configuration, but it isn't a raw file. It's a full webpage. To continue, you need the raw configuration. To do this, find the \"Raw\" button in the upper-right corner of the page.
Now, you will be redirected to a page with the raw configuration. Copy the URL.
"},{"location":"guides/generator/#generating-the-configuration-web","title":"Generating the Configuration - Web","text":""},{"location":"guides/generator/#generating-the-configuration-shell","title":"Generating the Configuration - Shell","text":"Now that you have the raw URL, you need to install the generator script.
"},{"location":"guides/generator/#installation","title":"Installation","text":" -
Clone the 3MS repository:
cd ~\ngit clone https://github.com/3DCoded/3MS\n
-
Ensure Python 3 is installed (not Python 2).
-
Install requests
pip3 install requests\n
"},{"location":"guides/generator/#running-the-script","title":"Running the Script","text":"First, start the script:
cd ~/3MS\npython3 generator.py\n
Now, you will be presented with several options.
"},{"location":"guides/generator/#configuration-url","title":"Configuration URL","text":"Paste in the URL you found earlier.
Local file configurations
You can also use a file configuration by passing the --file
parameter:
python3 generator.py --file\n
"},{"location":"guides/generator/#selected-steppers","title":"Selected Steppers","text":"The script will now list all the stepper motor configurations that were found in the configuration, with a number next to each. Enter the desired steppers, seperated by spaces.
"},{"location":"guides/generator/#tmc-drivers","title":"TMC Drivers","text":"For each stepper you selected, the script will ask you which TMC driver to use. For the SKR Mini E3 V3, there is only one option: TMC2209.
No TMC Drivers?
If you don't want to use TMC drivers in your configuration, pass the --no-tmc
parameter:
python3 generator.py --no-tmc\n
"},{"location":"guides/generator/#mcu-name","title":"MCU Name","text":"Finally, the script will ask you for the name of the MCU controlling your 3MS. Follow the naming convention outlined in the prompt.
Your configuration will now be available in ~/3MS/mmu.cfg
and ~/3MS/mmu_hardware.cfg
.
"},{"location":"hidden/hidden-assembly/","title":"Hidden assembly","text":""},{"location":"hidden/hidden-assembly/#3ms-kit-assembly","title":"3MS Kit Assembly","text":"This page is under construction
This page is the assembly instructions for future 3MS kits. Instructions on this page will change, so don't follow it until 3MS Kits are officially released. Anything on this page is subject to change.
Tip
Even though each step only looks like it has one image, if you click on the image you can view several more images for each step.
"},{"location":"hidden/hidden-assembly/#electronics-assembly","title":"Electronics Assembly","text":""},{"location":"hidden/hidden-assembly/#step-1-preparing-the-power-cables","title":"Step 1 Preparing the Power Cables","text":" -
Strip both ends of the red and black power cables and twist the ends.
Use wire cutters that can strip 14AWG wire.
Strip 5mm of insulation off of both ends of both wires.
Twist the ends of the stripped wires tightly.
"},{"location":"hidden/hidden-assembly/#step-2-connecting-the-power-supply","title":"Step 2 Connecting the Power Supply","text":" -
Insert both power cables into the power supply.
Loosen the terminals with a phillips-head screwdriver.
Insert the red power cable into the positive PSU terminal.
Insert the black power cable into the negative PSU terminal.
Tighten both terminals securely with a phillips-head screwdriver.
"},{"location":"hidden/hidden-assembly/#step-3-connecting-the-control-board","title":"Step 3 Connecting the Control Board","text":" -
Insert both power cables into the control board.
Locate the HVIN power input on the control board and loosen both terminals with a flat-head screwdriver.
Insert the red power cable into the positive HVIN terminal.
Insert the black power cable into the negative HVIN terminal.
Tighten both terminals securely with a flat-head screwdriver.
"},{"location":"hidden/hidden-assembly/#step-4-adding-jumpers","title":"Step 4 Adding Jumpers","text":" -
Install the VUSB and HVIN jumpers.
Install the VUSB jumper.
For each stepper driver, select the HVIN input by installing a jumper on each driver.
"},{"location":"hidden/hidden-assembly/#step-5-install-the-stepper-drivers","title":"Step 5 Install the Stepper Drivers","text":""},{"location":"hidden/hidden-assembly/#printed-parts","title":"Printed Parts","text":""},{"location":"hidden/hidden-assembly/#step-1-extruder-mounts","title":"Step 1 Extruder Mounts","text":""},{"location":"hidden/hidden-assembly/#step-2-y-splitter","title":"Step 2 Y-Splitter","text":""},{"location":"hidden/hidden-assembly/#hardware-assembly","title":"Hardware Assembly","text":""},{"location":"hidden/hidden-assembly/#step-1-assemble-extruders","title":"Step 1 Assemble Extruders","text":" -
Assemble each of your 3MS extruders
Place the mounting plate on the face of the motor
Assemble the MK8 extruders onto the face of the motors (with the mount in between)
Repeat for all four 3MS extruders
"},{"location":"hidden/hidden-assembly/#step-2-connecting-the-stepper-motors","title":"Step 2 Connecting the Stepper Motors","text":" -
Connect each stepper motor to the BTT MMB CAN board
The extruder for T0 connects to the M1 port
The extruder for T1 connects to the M2 port
The extruder for T2 connects to the M3 port
The extruder for T3 connects to the M4 port
"},{"location":"hidden/hidden-assembly/#step-3-installing-the-mmb-can-optional","title":"Step 3 Installing the MMB CAN (optional)","text":""},{"location":"setup/assembly/","title":"Assembly","text":"Follow this guide to assemble your 3MS.
"},{"location":"setup/assembly/#printed-parts","title":"Printed Parts","text":""},{"location":"setup/assembly/#mounting","title":"Mounting","text":" -
Univeral M3 Mount for Extruder Note that this requires 2-4 M3 bolts and a place to screw the bolts into (like an aluminum extrusion with T-nuts). Designed by 3DCoded.
- Image3D Viewer
3MS Box This is designed for four filament units and a BTT MMB. Designed by chadakken.
"},{"location":"setup/assembly/#y-splitters","title":"Y-Splitters","text":" - Image3D Viewer
4-way Y-splitter designed by ImChrono.
-
4-way Y-splitter with ECAS04 and M3 Bolt designed by Jager-f.
-
4-way Y splitter with ECAS04 designed by 3DCoded.
"},{"location":"setup/assembly/#filament-units-assembly","title":"Filament Units Assembly","text":" - If using any mounting parts, place it on the face of your NEMA17 motor.
- Assemble the MK8 extruders using the instructions that came with them.
- Repeat for all filament units.
"},{"location":"setup/assembly/#wiring","title":"Wiring","text":"Note for Certain Printers
If your printer has Klipper running internally (not on an external computer like a Raspberry Pi), the controller (if not a main MCU config) is plugged into a USB port on the printer itself.
Follow one of the following guides based on your controller:
Recommended: BTT MMB
Other Controllers:
- SKR Mini E3 V2
- SKR Pico
- Mellow Fly D7
- BTT Octopus (main MCU)
- Einsy RAMBo (main MCU) with SKR Mini E3 V2
- Zonestar ZM384 (main MCU)
- Mi ni RAMBo
- Geetech A30T
"},{"location":"setup/bom/","title":"BOM","text":""},{"location":"setup/bom/#controller-choice","title":"Controller Choice","text":"First, choose the control board you want to use in your 3MS. Choose a controller from the available ones here.
"},{"location":"setup/bom/#number-of-filament-units","title":"Number of filament units","text":"First, choose the number of filament units you want. Each filament unit lets you print with an additional filament. Two filament units are the minimum. You can add or remove filament units after building, but the BOM and configuration will vary based on how many filament units you want.
"},{"location":"setup/bom/#controller-boms","title":"Controller BOMs","text":"Choose the BOM for your chosen controller from the list below:
Recommended: BTT MMB
Other Controllers:
- BTT SKR Mini E3 V2
- BTT SKR Pico
- Mellow Fly D7
- BTT Octopus (main MCU)
- Zonestar ZM384 (main MCU)
- Mini RAMBo
- Geetech A30T
"},{"location":"setup/bom/#filament-unit-boms","title":"Filament Unit BOMs","text":"For each filament unit, purchase this BOM:
Name Quantity Price Link Notes NEMA17 Stepper Motor 1 $9.99 Amazon You can use a pancake stepper if you want, but it will have less torque MK8 Metal Extruder 1 $9.99 Amazon Alternatively, you can use this Dual-drive MK8 based extruder PTFE Tubing 1 $8.99 Amazon You likely won't need this for every unit, as this is usually too long for only one unit"},{"location":"setup/calibration/","title":"Calibration","text":"Follow this guide to calibrate your 3MS.
Original Documentation
This guide is a simplified version of the official Happy Hare documentation. I highly recommend you read it as it contains useful information and goes more in detail if you are having trouble with the calibrations.
"},{"location":"setup/calibration/#verify-filament-sensors","title":"Verify Filament Sensors","text":"Before calibrating, it is important to ensure that your filament sensors are working properly.
Run in your Klipper console:
QUERY_ENDSTOPS\n
and verify the output. For each endstop, open
means no filament detected, and TRIGGERED
means filament present. Re-run the command several times, inserting/removing filament to each of the sensors, to verify that each filament sensor properly detects filament.
"},{"location":"setup/calibration/#gear-steppers","title":"Gear Steppers","text":"First, calibrate your gear steppers (filament units). The goal of this calibration is to ensure the filament actually moves as far as expected.
First, detach the PTFE tubing from each of the filament units.
For each filament unit (gate), repeat the following steps:
- Manually load filament until it sticks out slightly from the end of the filament unit
- Cut the tip of the filament to be flush with the PTFE coupler (side cutters are good for this).
-
Run the following commands in your Klipper console:
MMU_SELECT GATE=n\nMMU_TEST_MOVE MOVE=100\n
where n
is the gate number you are calibrating (starting at zero).
-
The filament should move forwards. If it moves backwards, invert your gear stepper. Measure the distance the filament moved out of the extruder. Using side cutters the same as before can be helpful for this. Run the following command in your Klipper console:
MMU_CALIBRATE_GEAR MEASURED=n\n
where n
is the measured distance.
-
Repeat step c. The filament should move exactly 100mm
.
"},{"location":"setup/calibration/#encoder-if-installed","title":"Encoder (if installed)","text":"If you are using an encoder, like a BTT SFS (Smart Filament Sensor), you need to calibrate your encoder.
- Load your filament manually to its parking position at the start of the Y-splitter.
-
Run in your Klipper console:
MMU_CALIBRATE_ENCODER\n
"},{"location":"setup/calibration/#inverting-a-gear-stepper","title":"Inverting a Gear Stepper","text":"If you notice any of your gear steppers moving filament in the opposite direction as expected, you need to invert the gear stepper. There are two options to do this:
- Physically flip the stepper cables
- Invert it in software
To invert a gear stepper in software, open mmu_hardware.cfg
and invert the dir_pin
for the respective stepper.
Example, if T1
is moving backwards:
BeforeAfter mmu_hardware.cfg[stepper_mmu_gear_1]\n...\ndir_pin: mmu: PC5\n
mmu_hardware.cfg[stepper_mmu_gear_1]\n...\ndir_pin: !mmu: PC5 # <-- Note the ! in front of mmu\n
Tip
If the pin already has a !
in front of it, remove it to invert it.
Restart Klipper.
"},{"location":"setup/config/","title":"Configuring Happy Hare Firmware","text":"After installing Happy Hare firmware, there are some configurations you need to go through before printing in multimaterial.
This page is under construction
"},{"location":"setup/config/#filament-sensors","title":"Filament Sensors","text":"To use the 3MS, you'll need a filament sensor. Assuming you already have one installed, you can configure it in mmu_hardware.cfg
.
Locate the [mmu_sensors]
section near the bottom of mmu_hardware.cfg
.
"},{"location":"setup/config/#extrudertoolhead-sensors","title":"Extruder/Toolhead Sensors","text":"To configure an extruder entry sensor (a sensor right before your extruder), set your extruder_switch_pin
:
Don't know your sensor pin?
If you don't know your sensor pin, and it's already configured with Klipper, locate your sensor configuration (usually filament_switch_sensor
) and note the sensor_pin
.
mmu_hardware.cfg[mmu_sensors]\n...\nextruder_switch_pin: <SOME PIN>\n
To configure your toolhead sensor (a sensor right after your extruder), set your toolhead_switch_pin
the same way as you set your extruder_switch_pin
.
"},{"location":"setup/config/#shared-gate-sensor-optional","title":"Shared Gate Sensor (Optional)","text":"Moving backwards from the extruder, the next possible sensor you may have installed is a shared gate sensor. This goes right after the Y-splitter.
If you have a gate sensor installed, set your gate_switch_pin
:
mmu_hardware.cfg[mmu_sensors]\n...\ngate_switch_pin: <SOME PIN>\n
"},{"location":"setup/config/#prepost-gate-sensors-optional","title":"Pre/Post Gate Sensors (Optional)","text":"If you have a filament sensor before or after each of your 3MS filament units, configure a pre_
or post_gate
sensor.
"},{"location":"setup/config/#pre-gate","title":"Pre-Gate","text":"Pre-gate sensors go before each of your filament units. Configure each of these:
mmu_hardware.cfg[mmu_sensors]\npre_gate_switch_pin_0: <SOME PIN>\npre_gate_switch_pin_1: <SOME PIN>\npre_gate_switch_pin_2: <SOME PIN>\npre_gate_switch_pin_3: <SOME PIN>\n
"},{"location":"setup/config/#post-gate","title":"Post-Gate","text":"Post-gate sensors go after each of your filament units. Configure each of these:
mmu_hardware.cfg[mmu_sensors]\n...\npost_gate_switch_pin_0: <SOME PIN>\npost_gate_switch_pin_1: <SOME PIN>\npost_gate_switch_pin_2: <SOME PIN>\npost_gate_switch_pin_3: <SOME PIN>\n
Existing Sensors
Before moving on, ensure all your existing filament_switch_sensor
and filament_motion_sensor
sections are commented out or deleted. Leaving this enabled will lead to unintended issues later on.
"},{"location":"setup/config/#distances","title":"Distances","text":"There are many key distances to set up in Happy Hare firmware.
"},{"location":"setup/config/#homing-endstop","title":"Homing Endstop","text":"Firstly, when homing filament (checking if it is present), you have three options for the sensor to be used:
- mmu_gate Use the shared gate sensor after the Y-splitter
- mmu_gear Use the individual post-gate sensors.
- extruder Use the extruder entry sensor.
Select one of the three options in gate_homing_endstop
.
"},{"location":"setup/config/#homing-distance","title":"Homing Distance","text":"Next, configure the maximum distance Happy Hare should attempt to load filament to the homing sensor, before \"giving up\" and deciding that the spool is empty. This should usually be ~150% the distance from your filament parking position to the sensor.
Note
If you use post-gear endstops (mmu_gear
), this uses the gate_preload_homing_max
parameter.
This parameter is called gate_homing_max
.
"},{"location":"setup/config/#parking-position","title":"Parking Position","text":"This is the location your filament should park when idle, measured from your gate endstop. This should be set to ~1-2cm above your Y-splitter.
This parameter is called gate_parking_distance
.
"},{"location":"setup/config/#eject-distance","title":"Eject Distance","text":"Finally, if you want to switch out which filament is in a filament unit, edit your gate_final_eject_distance
. This should be the distance from your parking position to your filament unit gears, plus a small margin.
"},{"location":"setup/config/#speeds","title":"Speeds","text":"There are many different speeds you can configure with Happy Hare firmware.
These are located in the speeds section of mmu_parameters.cfg
(near the top).
"},{"location":"setup/config/#homing-speed","title":"Homing Speed","text":"\"Homing\" is when the HH moves the filament into your extruder entry sensor to ensure they are present. You can adjust the speed at which this happens by editing the gear_homing_speed
parameter.
"},{"location":"setup/config/#first-load-speeds","title":"First Load Speeds","text":"Happy Hare allows for slowing down the initial load to deal with additional drag from the filament spool. To adjust this speed, adjust gear_from_spool_speed
.
"},{"location":"setup/config/#loadunload-speeds","title":"Load/Unload Speeds","text":"To adjust your load/unload speeds during a toolchange, adjust the gear_from_buffer_speed
parameter.
"},{"location":"setup/controllers/","title":"Controllers","text":"Follow this guide to determine which controller to use in your 3MS.
"},{"location":"setup/controllers/#options","title":"Options","text":"The 3MS works on multiple different controllers.
Info
If your printer's mainboard has spare stepper ports, you can use them to control 3MS steppers. You can open an issue on Github (there's a template) to get a configuration made for your specific setup. Any controllers listed with \"(main MCU)\" use those spare stepper plugs.
Choose one of the following supported controllers (a checked box indicates it is fully tested, and an empty box indicates testers wanted):
-
BTT MMB (4 colors)
Recommended
"},{"location":"setup/controllers/bttmmb/","title":"BTT MMB","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/bttmmb/#bom","title":"BOM","text":"Name Price Quantity Link Notes BTT MMB $34.99 1 BTT Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/bttmmb/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 M1 1 M2 2 M3 3 M4 Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the MMB board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Following this image, locate the HVIN and GND inputs (top left)
-
Route the two wires inside closest to the HVIN and GND inputs
- Using the markings on the board, plug the red wire into the HVIN terminal on the MMB
- Using the markings on the board, plug the black wire into the GND terminal on the MMB
-
Plug in the VUSB jumper
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your MMB, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
Plug the MMB into your Klipper host with the cable that came with it.
If the MMB lights up, you wired it correctly!
"},{"location":"setup/controllers/bttoctopusmain/","title":"BTT Octopus (main MCU)","text":"Warning
This configuration may not work with the BTT Octopus Pro.
Max filament units: 4
MCU Name: main
"},{"location":"setup/controllers/bttoctopusmain/#main-mcu","title":"main MCU","text":"This configuration is a main MCU
configuration, meaning that your printer should already be running off a BTT Octopus and you don't need to purchase one.
"},{"location":"setup/controllers/bttoctopusmain/#bom","title":"BOM","text":"Per filament unit:
1x TMC2209 ($7 each)
"},{"location":"setup/controllers/bttoctopusmain/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 MOTOR7 1 MOTOR6 2 MOTOR5 3 MOTOR4"},{"location":"setup/controllers/einsyrambo-skrminie3v2/","title":"Einsy RAMBo (main MCU) with SKR Mini E3 V2","text":"Danger
This guide is an expert guide only
Info
This modification is designed for the Prusa MK3/S/S+, and depends on this Klipper configuration.
"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#why","title":"Why?","text":"When printing fast, the TMC2130's on the Einsy RAMBo can get quite loud. The TMC2209's on the SKR Mini are much quieter and support denser microstepping.
"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#bom","title":"BOM","text":"Name Price Quantity Link Notes PSU -> Einsy Cable $7.99 1 PartsBuilt3D Stepperonline NEMA17 $9.99 each Amazon 2 Replaces current XY motors"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#wiring","title":"Wiring","text":"First, unplug the 3MS steppers from the SKR Mini, and the XY steppers from the Einsy RAMBo. The motors will need to be switched due to different connector types between boards.
This table outlines the major wiring of this modification.
Einsy RAMBo SKR Mini E3 V2 Motor PSU+ POWER+ PSU- POWER- XM 3ms0 YM 3ms1 XM X YM Y"},{"location":"setup/controllers/einsyrambo-skrminie3v2/#configuration","title":"Configuration","text":"In your printer.cfg
, comment out these lines:
printer.cfg#[include klipper-prusa-mk3s/mk3s/steppers.cfg]\n#[include klipper-prusa-mk3s/mk3s/tmc2130.cfg]\n
Next, copy the contents of 3ms/controllers/einsy_rambo_with_skr_mini/xy-motors.cfg
and ze-motors.cfg
to klipper-prusa-mk3s/skr/xy.cfg
, and klipper-prusa-mk3s/mk3s/ze.cfg
, respectively.
Add the following new lines:
printer.cfg[include klipper-prusa-mk3s/skr/xy.cfg]\n[include klipper-prusa-mk3s/mk3s/ze.cfg]\n
Restart Klipper.
"},{"location":"setup/controllers/geetech-a30t/","title":"Geetech A30T","text":"Contributed by @ImChrono
Max filament units: 7
MCU Name: 3ms
"},{"location":"setup/controllers/geetech-a30t/#bom","title":"BOM","text":"Name Price Quantity Link Notes Geetech A30T $34.99 1 Geetech Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 24V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/geetech-a30t/#firmware","title":"Firmware","text":"To flash Klipper firmware to the A30T, run the following command and see the following screenshot:
cd ~/klipper\nmake menuconfig\n
Next, connect the BOOT0 jumper on the A30T and run:
stm32flash -i ',,,,,' -v -w out/klipper.bin -g 0 /dev/serial/by-id/<your-mcu-id-here>\n
"},{"location":"setup/controllers/geetech-a30t/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 X 1 Y 2 Z0 3 Z1 4 E1 5 E2 6 E3 Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug two red wires into the positive terminal of the screw terminals
-
Plug two black wires into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the motherboard, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Route the four wires inside closest to your chosen input
- Using the markings on the board, plug the two red wires into the positive terminal on the motherboard
- Using the markings on the board, plug the two black wires into the negative terminal on the motherboard
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your motherboard, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the motherboard lights up, you wired it correctly!
Finally, plug the motherboard into your Klipper host with the cable that came with it.
"},{"location":"setup/controllers/geetech-a30t/#uart-conversion","title":"UART Conversion","text":""},{"location":"setup/controllers/geetech-a30t/#attention-proceed-with-caution","title":"\u26a0\ufe0f Attention: Proceed with Caution! \u26a0\ufe0f","text":"This modification involves delicate hardware changes that require precision and attention to detail. Mistakes in wiring or soldering can permanently damage your GTM32_103_V1 board.
- Double-check connections before applying power.
- Use proper tools and follow best practices for soldering.
- If you are not confident in your skills, seek assistance from an experienced individual or professional.
You proceed at your own risk.
"},{"location":"setup/controllers/geetech-a30t/#overview","title":"Overview","text":"This guide details the process of modifying the GTM32_103_V1 3D printer controller board to enable UART capabilities. The GTM32_103_V1 board features 7 TMC2208 drivers operating in standalone mode by default. This modification involves removing the SD card slot and repurposing its pinouts for UART communication.
"},{"location":"setup/controllers/geetech-a30t/#features-of-the-modification","title":"Features of the Modification","text":" - UART Capability: Enables communication with TMC2208 drivers via UART repurposing the SDCard slot
"},{"location":"setup/controllers/geetech-a30t/#hardware-changes","title":"Hardware Changes","text":""},{"location":"setup/controllers/geetech-a30t/#components-modified","title":"Components Modified","text":" - SD Card Slot: Removed entirely to free up pinouts for UART.
- Repurposed Pins: SD card slot pins are reassigned as per the following table:
TCM2208 Driver SD Card Pin STM32 Pin Motor0 9 PC7 Motor1 8 PC9 Motor2 7 PC8 Motor3 5 PC12 Motor4 3 PD2 Motor5 2 PC11 Motor6 1 PC10"},{"location":"setup/controllers/geetech-a30t/#procedure","title":"Procedure","text":" - Remove Pull down resistor from each driver:
- Desolder the SMD 1k\u2126 resistor carefully to avoid damaging the surrounding components.
TMCDriver PCB Code Motor0 R53 Motor1 R57 Motor2 R62 Motor3 R120 Motor4 R71 Motor5 R95 Motor6 R105 - Remove the SD Card Slot:
- Desolder the SD card slot carefully to avoid damaging the surrounding components.
- Repurpose the Pinouts:
- Rewire the SD card pins according to the table above.
- Connect each pin to its corresponding UART connection for the TMC2208 drivers.
"},{"location":"setup/controllers/geetech-a30t/#testing-and-validation","title":"Testing and Validation","text":"After completing the hardware changes: 1. Connect the board to your 3D printer and power it on. 2. Use your firmware to verify UART communication with each TMC2208 driver. 3. Check for successful responses from the drivers using a terminal or debugging tool.
"},{"location":"setup/controllers/geetech-a30t/#photos","title":"Photos","text":"Add your photos here to demonstrate the modification process and results: - Close-up of the TMC driver
-Close-up of the TMC driver with resistor removed (solder the uart pint to the red signed pin)
"},{"location":"setup/controllers/geetech-a30t/#uart-configuration","title":"UART Configuration","text":"When configuring this board with Happy Hare firmware, be sure to use UART-mmu.cfg
and UART-mmu_hardware.cfg
(renaming to mmu.cfg
and mmu_hardware.cfg
respectively).
"},{"location":"setup/controllers/mellowflyd7/","title":"Mellow Fly D7","text":"Max filament units: 7
MCU Name: 3ms
"},{"location":"setup/controllers/mellowflyd7/#bom","title":"BOM","text":"Name Price Quantity Link Notes Mellow Fly D7 1 Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/mellowflyd7/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 X 1 Y 2 Z 3 Z1 4 Z2 5 E0 Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the board board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Using the markings on the board, plug the red wire into the positive terminal on the board
- Using the markings on the board, plug the black wire into the negative terminal on the board
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your board, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the board lights up, you wired it correctly!
Finally, plug the board into your Klipper host with the cable that came with it.
"},{"location":"setup/controllers/minirambo/","title":"Mini RAMBo","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/minirambo/#bom","title":"BOM","text":"Name Price Quantity Link Notes Mini RAMBo 1 Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/minirambo/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 XM 1 YM 2 ZAM or ZBM 3 E0M Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the RAMBo board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Route the two wires inside closest to your chosen input
- Using the markings on the board, plug the red wire into the positive terminal on the RAMBo
- Using the markings on the board, plug the black wire into the negative terminal on the RAMBo
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your RAMBo, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the RAMBo lights up, you wired it correctly!
Finally, plug the RAMBo into your Klipper host with the cable that came with it.
"},{"location":"setup/controllers/skrminie3v2/","title":"BTT SKR Mini E3 V2","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/skrminie3v2/#bom","title":"BOM","text":"Name Price Quantity Link Notes SKR Mini E3 V2 $34.99 1 Amazon Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/skrminie3v2/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 XM 1 YM 2 ZAM or ZBM 3 E0M Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the SKR board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Following this image, choose either the DCIN or POWER input
- Route the two wires inside closest to your chosen input
- Using the markings on the board, plug the red wire into the positive terminal on the SKR
- Using the markings on the board, plug the black wire into the negative terminal on the SKR
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your SKR, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the SKR lights up, you wired it correctly!
Finally, plug the SKR into your Klipper host with the blue cable that came with it.
"},{"location":"setup/controllers/skrpico/","title":"BTT SKR Pico","text":"Max filament units: 4
MCU Name: 3ms
"},{"location":"setup/controllers/skrpico/#bom","title":"BOM","text":"Name Price Quantity Link Notes SKR Pico $35.99 1 Amazon Duponts $9.99 1 Amazon These wires are only sufficient to run steppers, not heaters 12V PSU $7.39 1 Amazon This PSU is only sufficient to run steppers, not heaters"},{"location":"setup/controllers/skrpico/#wiring","title":"Wiring","text":"Route the wires from the NEMA17's to the controller board. Follow this table to determine which port to plug the motors into:
Filament Unit # Motor Port 0 X 1 Y 2 Z1 or Z2 3 E Now, grab your 12V PSU and two M-M duponts, one red and one black (M-M means that there is metal coming out of both ends of the cable). Plug the PSU into the wall, but don't plug the screw terminals into the PSU (the screw terminals have green)
- Plug the red wire into the positive terminal of the screw terminals
-
Plug the black wire into the negative terminal of the screw terminals
Danger
These dupont cables are too thin to run much more than the stepper motors. If you run a heater or other power-intensive device off of the SKR board, the duponts and/or PSU can melt/catch fire. To reduce the risk of this, you can double up on the duponts or get thicker wires.
-
Following this image, locate the POWER input
- Route the two wires inside closest to the POWER input
- Using the markings on the board, plug the red wire into the positive terminal on the SKR
- Using the markings on the board, plug the black wire into the negative terminal on the SKR
-
Verify all connections
Warning
If the wires are plugged into the wrong place, or swapped polarities, your SKR, Stepper motors, and/or PSU can be badly damaged.
-
Plug the PSU screw terminals into the PSU wire
If the SKR lights up, you wired it correctly!
Finally, plug the SKR into your Klipper host with the blue cable that came with it.
"},{"location":"setup/controllers/zm384main/","title":"Zonestar ZM384 (main MCU)","text":"Max filament units: 3
MCU Name: main
"},{"location":"setup/controllers/zm384main/#main-mcu","title":"main MCU","text":"This configuration is a main MCU
configuration, meaning that your printer should already be running off a ZM384 and you don't need to purchase one.
Filament Unit # Motor Port 0 E0 1 E1 2 E2 3 E3"}]}
\ No newline at end of file
diff --git a/setup/config/index.html b/setup/config/index.html
new file mode 100644
index 0000000..491c522
--- /dev/null
+++ b/setup/config/index.html
@@ -0,0 +1,1325 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Configuring Happy Hare Firmware - 3MS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Configuring Happy Hare Firmware
+After installing Happy Hare firmware, there are some configurations you need to go through before printing in multimaterial.
+
+
+
+
This page is under construction
+
+Filament Sensors
+To use the 3MS, you'll need a filament sensor. Assuming you already have one installed, you can configure it in mmu_hardware.cfg
.
+Locate the [mmu_sensors]
section near the bottom of mmu_hardware.cfg
.
+
+To configure an extruder entry sensor (a sensor right before your extruder), set your extruder_switch_pin
:
+
+
Don't know your sensor pin?
+
If you don't know your sensor pin, and it's already configured with Klipper, locate your sensor configuration (usually filament_switch_sensor
) and note the sensor_pin
.
+
+mmu_hardware.cfg |
---|
| [mmu_sensors]
+...
+extruder_switch_pin: <SOME PIN>
+
|
+To configure your toolhead sensor (a sensor right after your extruder), set your toolhead_switch_pin
the same way as you set your extruder_switch_pin
.
+Shared Gate Sensor (Optional)
+Moving backwards from the extruder, the next possible sensor you may have installed is a shared gate sensor. This goes right after the Y-splitter.
+If you have a gate sensor installed, set your gate_switch_pin
:
+mmu_hardware.cfg |
---|
| [mmu_sensors]
+...
+gate_switch_pin: <SOME PIN>
+
|
+Pre/Post Gate Sensors (Optional)
+If you have a filament sensor before or after each of your 3MS filament units, configure a pre_
or post_gate
sensor.
+Pre-Gate
+Pre-gate sensors go before each of your filament units. Configure each of these:
+mmu_hardware.cfg |
---|
| [mmu_sensors]
+pre_gate_switch_pin_0: <SOME PIN>
+pre_gate_switch_pin_1: <SOME PIN>
+pre_gate_switch_pin_2: <SOME PIN>
+pre_gate_switch_pin_3: <SOME PIN>
+
|
+Post-Gate
+Post-gate sensors go after each of your filament units. Configure each of these:
+mmu_hardware.cfg |
---|
| [mmu_sensors]
+...
+post_gate_switch_pin_0: <SOME PIN>
+post_gate_switch_pin_1: <SOME PIN>
+post_gate_switch_pin_2: <SOME PIN>
+post_gate_switch_pin_3: <SOME PIN>
+
|
+
+
+
Existing Sensors
+
Before moving on, ensure all your existing filament_switch_sensor
and filament_motion_sensor
sections are commented out or deleted. Leaving this enabled will lead to unintended issues later on.
+
+
+Distances
+There are many key distances to set up in Happy Hare firmware.
+Homing Endstop
+Firstly, when homing filament (checking if it is present), you have three options for the sensor to be used:
+
+- mmu_gate Use the shared gate sensor after the Y-splitter
+- mmu_gear Use the individual post-gate sensors.
+- extruder Use the extruder entry sensor.
+
+Select one of the three options in gate_homing_endstop
.
+Homing Distance
+Next, configure the maximum distance Happy Hare should attempt to load filament to the homing sensor, before "giving up" and deciding that the spool is empty. This should usually be ~150% the distance from your filament parking position to the sensor.
+
+
Note
+
If you use post-gear endstops (mmu_gear
), this uses the gate_preload_homing_max
parameter.
+
+This parameter is called gate_homing_max
.
+Parking Position
+This is the location your filament should park when idle, measured from your gate endstop. This should be set to ~1-2cm above your Y-splitter.
+This parameter is called gate_parking_distance
.
+Eject Distance
+Finally, if you want to switch out which filament is in a filament unit, edit your gate_final_eject_distance
. This should be the distance from your parking position to your filament unit gears, plus a small margin.
+Speeds
+There are many different speeds you can configure with Happy Hare firmware.
+These are located in the speeds section of mmu_parameters.cfg
(near the top).
+Homing Speed
+"Homing" is when the HH moves the filament into your extruder entry sensor to ensure they are present. You can adjust the speed at which this happens by editing the gear_homing_speed
parameter.
+First Load Speeds
+Happy Hare allows for slowing down the initial load to deal with additional drag from the filament spool. To adjust this speed, adjust gear_from_spool_speed
.
+Load/Unload Speeds
+To adjust your load/unload speeds during a toolchange, adjust the gear_from_buffer_speed
parameter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index ac1c462..caf651a 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,86 +2,90 @@
https://3dcoded.github.io/3MS/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/compare/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/instructions/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/contributing/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/contributing/devsetup/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/guides/3dchameleon/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/guides/generator/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/hidden/hidden-assembly/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/assembly/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/bom/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/calibration/
- 2024-12-16
+ 2024-12-20
+
+
+ https://3dcoded.github.io/3MS/setup/config/
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/bttmmb/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/bttoctopusmain/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/einsyrambo-skrminie3v2/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/geetech-a30t/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/mellowflyd7/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/minirambo/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/skrminie3v2/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/skrpico/
- 2024-12-16
+ 2024-12-20
https://3dcoded.github.io/3MS/setup/controllers/zm384main/
- 2024-12-16
+ 2024-12-20
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 56d06f5fc39f14694b9dd530ae1cf4cef59c8c6b..bc7f62dd64fa4f3eb50addc2417ba24513796bce 100644
GIT binary patch
literal 384
zcmV-`0e}7OwUue;^>okcpmylrmf5~s;`uJ&dat7xW+C#d{i!=c%P%7IU()YLL
zY@Z&RO+7m8fsznx{UPm%h9}0RY0AAKFnsVix{i6#hlOX$CM)vCwAmzK%n5E!*HLQ}
z&78%DG?ff`AoEU9Keo9-R=vEkn$0o4KjEGX%BC#JUA8T=vIrr|-c5u3i2Pknpc%M>
zwPls{Z}q%ZQ}4q$>wSI6R`+*Qd0
em_dmIYU70-7($e+cW_uz0$5Zrf;uL
z*jEo2m~6Atn^;@R+tSc8`n=!;qtnV0nkR4-G@v(g4{s$+r1JT5l3+V}je$wN=K;
zddz~9rc|T{DsOabdy#9;%I6nWu`%ZNCmf^osxG$0KHC-9?v6sHxtj+25&65E^tR&x
z=9bkCW9Vh1-N*Tt>|)TOkL2~D+6vB8Tzxk;MAK^pIKFJT1q0qKM9_ePz@ray>$h4d
za8s9YM6kkK=BBurzpT3Ob{S#GjTU6Sp1=Agfbl4LW9SZ89zeustyl$zm(h1UTCP`M
z4A4b!3ET>w;YYCAX(-Rd@>~r-1leZ1+{Wc;=qGOc@NO>Zeg!aO($%r$QC3wl1k-7`
af?fHt*O?DU3jhF(sl$c<