CHANGER - a toolchanger new interpreted

CHANGER - a motion system which can be used for advanced 3D-Printing with up to four materials, PnP, PCB-Milling, Layer inspection, etc...

Similar projects worth following
I've had the idea of a toolchanging 3D-printer/motion system for quite a while and started with some concepts to have the same utility as modern cnc milling machines (easy toolswap, fully automated calibration etc.). Approximately one year later I saw the first prototypes of the E3D-Toolchanger and quite liked the toolchanging head and followed the project to see if the toolchanging head improves over time. For my purpose a tested toolchanging head with a proper QM would allow me to focus on the boundary conditions of such a system (interfaces, watercooling, ultralight directdrive printheads, autocalibration of the tools, smart tools with NFC-capabilities). Other than that this System is fully customized with watercooling, HEPA-Filtering, kinematic coupled Z-Axis for non-planar-3D-printing, Air/Vacuumpump for cooling or PnP (vacuum), status LED under the Touchscreen shows progress, optionally: automated loading of the filament, etc. ...

Important Note: This Project is still work in progress and will be officially released with a proper YT-trailer.

Current To Do's:

  • Testing the directdrive toolhead
  • Decision for top-lid/enclosure
  • Testing custom tFreeN.g, tPre.Ng and tPostN.g macros
  • Calibration tool for the toolhead ((0/0) in center of Bed)

Future goals:

  • Camera calibration of the toolhead relative to the docking positions
  • Camera calibration to determine the tool offsets quickly and reliable
  • PrusaSlicer derivative with full control over different toolheads (plotting, printing, dispensing etc.)
  • Custom GUI for the printer


As already mentioned I've used the CAD-files from the released E3D-Toolchanger ( for a start. I quickly noticed that the E3D-guys didn't use standard parts such as the standoffs etc.

I therefore I started to fully customize the toolchanger with standard parts and heaviliy modified the frame and all of the motion parts.

The standard E3D uses a monorail printbed which works just fine but I will be able to perform non-planar-3d-printing ( with a always perpendicular printing nozzle.

I therfore implemented the kinematic coupled printbed from the jubilee-printer ( for a first concept. I like the idea of swappable builtplates. 

The consequences of a toolchanger:

Personally I think the motion system such as the E3D-Toolchanger is just the start of beeing called a ''toolchanger''.  A toolchanger in a more general sense gives you the freedom to easily interchange tools and even procedures (pcb-milling, PnP...). To achieve this versatility the most important features are:

  • Defined interfaces/connectors which allow easy toolswap
  • Room for periphal devices such as vacuum pumps, additional electronics etc.
  • Swappable or modular builindplatform

The modular mindset:

There is no doubt that the hurdles are high to create such a system but I think the key is to think and search for overlaps between the functions. An example is the vacuum pump. A common vacuum pumps uses a inlet and outlet connector. One way the pump sucks air in and creates an vacuum (if you block the inlet). On the other hand you have the outlet which blows air out (until you block the inlet). Therefore you can use the pump in the printing configuration to cool your printed part and in the pnp-configuration to create to vacuum and grip the components. To change the configuration you just have to switch between inlet and outlet (manually or with a valve) .

I'm trying to implement this mindset as good as currently possible to reach a high modular toolchanging system.

  • New top cover Design (wip)

    Simon Wirz11/27/2021 at 12:17 0 comments

    I wasn't happy with my initial top cover designs but I want one since day one. It's quite cumbersome to clean or remove the dust every once in a while from all the motion parts and connectors on top so I want mainly top cover to solve that. Of course it should help with chamber temperatures but to be honest that's not my main goal anyway (to print like in a chamber with +100°C) 

    My initial designs:

    My new approach:

    The new top cover should consist of seperate portions which can be sticked/glued together. I've designed to not use sheet metal parts because I want to itegrate some latches/hinges in the front and backpart to easily access the top area of the printer to maintain, check tools or change tools. 

    This cover is stil a mockup to play with the design before I'll fully redesign the top cover with individual segments. Of course the acrylic panels are missing in the design as well but in the end there will be 5mm acrylic side panels as well.


    I tried to include design elements from the mainstructure and merged it to the top. One example is the groove which represents the 3060-Extrusions from the base-assembly.

    Mockup - almost completed

    In the end my main goal is that you can open the front panel of the top cover (hinged) but I still have to think of the propere hinge type for that. Maybe I'll design my own with a rasting-feature to ''lock'' the front panel in place.

  • Improvement x-axis endstop

    Simon Wirz08/28/2021 at 15:47 0 comments

    Because I'm not a big fan of sensorless homing I implemented mechanical endstops for the x and y axis right from the beginning. The y-axis endstop is directly implemented in the idler-belt-tensioner and therefore in the same plane of the xy-motion system. The x-axis however was screwed to the extrusion of the frame what I never really liked because of the interface and the added error possibility when the coreXY-plate is removed and assembled again.

    The old x-endstop:

    I also didn't like the way it looked with the large fdm-part and the micro switch clearly visible from all sides.

    The new endstop:

    For the new endstop design I had to drill two 2mm boreholes for two M2-threads. 

    After the taping I've installed the endstop holder (SLA-printed, printed on the Form 1+) with an OMRON switch installed. Because the new endstop is on the opposit side (x-direction) I had to rewire the endstop cable and re-configure the Duet firmware.

    Now I can easily disconnect the endstop and take off the coreXY-plate without worrying about re-calibration or re-checking the position of the toolhead relative to the printbed. 

  • SLA-Printer for more details

    Simon Wirz08/25/2021 at 08:38 0 comments

    To improve the quality of the CHANGER I always wanted to use SLA-Parts for a.) better appearance without a lot of post processing (grinding, painting etc.) and b.) better dimensional accuracy. 

    The acquisition - Form 1+ :

    Altough this printer is quite ''old'' and uses standard galvos (galvanometer) instead of a faster LCD it prints quite fast and accurate. Because of my work with LiDAR's in the industry I'm quite familiar with the mechanics and therefore now how to handle, maintain and repair such optical systems. I've quickly designed and printed a VAT-Cover to better handle the fumes when not in use. 

    First successfull prints for the CHANGER :

    For the first practical print with my Form 1+ I designed/adjusted the toolhead cover for sla printing and implemented the shorter CHANGER-Logo to test the resolution and finer details. 

  • Tools: Directdrive Dyzend/Sherpa

    Simon Wirz08/08/2021 at 11:43 0 comments

    I've continued the build process of the directdrive toolhead with a sherpa mini extruder and a Dyzend-Hotend (Allmetal).

    I've designed the tool around the common E3D-Toolplate so maybe someone with a genuine E3D-Toolchanger can use this directdrive tool as well.

    All the files are here:


    Because of the compact design the Dyzend needs some adjustments to work with the coupler. I've wanted the center of mass of the printhead as close as possible to the actual toolhead to minimize the leverage and therefore the play of the tool due to tolerances in the carriage (X-Axis)

    I did a small cutout/drillout for the coupling mechanism of the toolhead otherwise the coupling would not work. Because I didn't want to drive to my cnc mill I've quickly used a ø5mm drillbit and a file to make it work.

    The tool on the printer:

  • Select-Switch - Directdrive or Bowden

    Simon Wirz08/01/2021 at 10:32 0 comments

    Because of the limited stepper drivers of the Duet 2 Wifi + Duex5 I want to use the same stepper driver for the bowden stepper as well as for the directdrive stepper of each tool. This works fine because you have to decide and can't use both in the same tool. You insert either a directdrive tool or a bowden tool. Therefore you just have to switch between the steppers and change the config of the stepper driver (E-Steps, Direction and Current). 

    1st Design (physical):

    For the first design and prototype I've designed a housing for a 12pin DPDT-Switch ( in a ON-OFF-ON configuration so you're able to switch pin to pin and this for each stepper pole. To prevent the stepper driver from possible damage you just have to deactivate the stepper driver or just turn off the duet board before switching the drive (stepper). 

    For wiring there isn't much space left but with some sure instinct it workes just fine. 

    I've used three instead of two outputs to connect the direct drives either left or right for easier handling and cable management. the top is for the direct drive output. The bottom is the input from the duet driver. 

    The final switch fully assembled and soldered...

    Future Idea:

    The physical switch is just for initial testing to proceed with the hole bulid of the CHANGER. In the end I'll design a pcb to handle the switching process. For safety reasons I'll detect the current in the coils to determine if the stepper is in use before switching between bowden and directdrive. The pcb sends automatically the stepper-off comand to the duet to deactivate the driver before switching to protect the driver. Just for the moment I'll proceed with the physical switch.

  • Mixed Opinions - Topcover Design

    Simon Wirz07/29/2021 at 21:00 0 comments

    I'm currently trying to get a proper cover done to fully enclose the printer. My main goal is a universal topcover with full accessibility to all relevant functions of the printer (tool-change, belt tensioning, watercooling outlet, air-outlet etc.) without loosing the industrial look of the printer. My least favorite option will be a acrylic-extrusions assembly. 

    My current designs:

    Design 1: Bent-acrylic (illustration, not finished):

    This design is minimalistic but functional. The backside consists of the backpanel and a latch/hinge so you can easily access the tools (not implemented in the design yet). The same principle could be applied to the front panel as well but it would work with glued/screwed and therefore fixed front panel as well. 

    Design 2: Aluminium-construction (illustration, not finished):

    This design is more complex but still fully functional. The mainframe consists of two bent aluminium sheets which gives this assembly the rigidity. The flat top panel/sheet is fix mounted on to the mainframe/two aluminium sheets. The back and the front will get hinges as well so you're able to access the toolhead from the front and the tools/tooldocks at the back by open up the panels. You could even get rid of the first bend and bend it more like in the first design so you can simplify the bending geometry of the two aluminium sheets. 

    C.A.D of Design 2 (Cardboard Aided Design ;) )

    I've started bulding a first mock-up of the cover to see the impact of the design over time. Actually the cardboard-Design existed before the actual CAD-Model because I wanted to get a feeling for the important design parameters of this cover design.

    Your opinion? / Conclusion

    I'm still kinda undecided about the direction of the top cover. The top cover is key to the overall appearance of the printer and I want the printer to look quite industrial and therefore I'm struggling with some quick&dirty covers. I even bult a cardboard cover of the 2nd design to see if the design ''grows'' over time. What's your opinion about the design direction of the top cover for such a motion system / toolchanger? Let me know your thoughts in the comment section.

  • Forex-Backpanel and other stuff

    Simon Wirz07/19/2021 at 19:28 0 comments

    I was finally able to finalize the backpanel to enclose the electronics at the back. In the meantime I've worked on the tools as well and ordered some directdrive extruders as well as a new hotend for higher temps.

    Forex for lightweight backpanel:

    A good friend of mine recommended the use of forex for the backpanel as alternative to the classic pmma-panels. At first sight I was quite hesitating but I'm glad that I tried the forex panel. Forex panels are rigid foam sheets made out of pvc and therefore are slightly lighter as  PMMA (acrylic) panels. The texture is a little more rough but shines slightly. I think it is a little more scratch resistant which is quite nice for a panel which comes off from time to time.

    For better appearance I've quickly designed some grids/covers for the outlets and inlets.

    Small directdrive tool:

    I've wanted to test the sherpa mini extruder for quite some time and finally ordered the sls version ( Just one out of many possible sellers!

    The quality seems fine and the form factor is quite nice for the limited space of the CHANGER-Tools.

    For the hotend of the first directdrive tools I wanted to use the DyzEND-X Hotend (DyzEnd-X Hotend 1.75mm - Fast Printing - DYZE DESIGN)

    I'll need to finalize the actual tool and print the first holder to test the directdrive hotend on the CHANGER. I'll post the first results as soon as I'm able to continue the work on my printer.

  • Finished Wiring

    Simon Wirz06/23/2021 at 18:28 0 comments

    Wiring the Tooldocks:

    I've finished the wiring harness for the tooldocks. I've tried to keep it tidy but with the chance to quickly remove the individual tooldock-harness for easy maintenance. 


    I've configured all the fans (Heatsink, Partcooling etc.) like already mentioned in the last project-log. I added a 10K Temp.Sensor for the watercooling cycle so I'm currently using all of the thermistor inputs on my Duex5. You can add all of the Temp. Sensor to the temperature log in the Duet Webcontrol/-server which looks like this:

    Because I've installed just one working tool there is only one correct temp. value for the tools 0 to 4. The temperature of the watercooling loop is monitored as well. 

  • Cooling-Fans

    Simon Wirz05/25/2021 at 17:59 0 comments

    In my first Benchy-attempt I noticed the heavy cooling issues with my mosquito-Bowden tool. Despite that the printer performed as expected. Before I build more tools I want to adress the cooling issues with the first tool so I can implement the cooling Design (Fan powered) in my next tools. I haven't tested the integrated airpump because I don't want to use it for my PLA-Bowdentools. 

    Comparison (Datasheet):

    Fan-Type [-]                         Source [-]Airflow [m³/min]   Weight [gr]     
    Delta, BFB0412HHA
    Delta, BFB04512HHA
    Micronel, D243L-006KH-5 + 15

    If you compare the Airflow to Weight ratio the best options are:

    1. Delta BFB04512 (45x45x12mm) with 0.0075 [m³/min] /gr
    2. Delta, BFB0412 (40x40x10mm fan) with 0.007 [m³/min] /gr
    3. NMB, 4515 (45x45x15mm Turbofan) with 0.005 [m³/min] /gr
    4. Micronel, D243 (impeller-Design) with 0.002 [m³/min] /gr

    Decision for first Bowden-Setup:

    I've redesigned the Bowden-tool and used a Trianglelabs Dragon-Hotend and sticked to the 40x40x10mm fan because of the good airflow to weight ratio and re-oriented the benchy on the buld plate so the fan blows to the overhang section at the front.

    With the new setup I was able to print a proper benchy. For now I'm quite happy with the result and I will start testing with some genuine GT2 belts and start machining the currently 3d-printed belt tensioner so it can withstand higher tension forces. 

  • Configuration and connection Duet2Wifi + Duex5

    Simon Wirz05/18/2021 at 17:46 0 comments

    Next to the motion system all the auxillary components such as fans, airpumps and watercooling-system have to be connected and configured in the config.g of the Duet2Wifi. 

    The wiring illustrated:

    Because of the limited FAN and Heater-Outputs I had to control the radioator-fan of the watercooling loop with a SSR so the radiator switches on when the waterpump is switched on as well.  

    The fan configuration in config.g (RFF3...)

    According to the ''wiring diagramm'' from above the configuration is the following:

    M950 F0 C"e0heat" ; Air-Pump on E0-Heater-terminal
    M950 F1 C"e1heat" ; LED-Light on E1-Heater-terminal
    M950 F2 C"fan2" ; Exhaust-Fans (2 parallel) on Fan2
    M950 F3 C"duex.fan3" ; Partcooling Fan Tooldock D0
    M950 F4 C"duex.fan4" ; Partcooling Fan Tooldock D1
    M950 F5 C"duex.fan5" ; Partcooling Fan Tooldock D2
    M950 F6 C"duex.fan6" ; Partcooling Fan Tooldock D3
    M950 F7 C"!exp.heater7" ; Watercooling-Pump on E6-Heater (Duex5)
    M950 F8 C"fan0" ; Heatsink Fan Tooldock D0 on Fan0 (Duet2)
    M950 F9 C"fan1" ; Heatsink Fan Tooldock D1 on Fan1 (Duet2)
    M950 F10 C"duex.fan7" ; Heatsink Fan Tooldock D2 on Fan7 (Duex5)
    M950 F11 C"duex.fan8" ; Heatsink Fan Tooldock D3 on Fan8 (Duex5)

    M106 P0 S0 C"Airpump" ; Air-Pump
    M106 P1 S0 C"LED" ; LED LIGHT
    M106 P2 S0 C"Exhaust" ; Exhaust-Fans
    M106 P3 S0 C"PCF-T0" ; Partcooling Fan Tooldock D0
    M106 P4 S0 C"PCF-T1" ; Partcooling Fan Tooldock D1
    M106 P5 S0 C"PCF-T2" ; Partcooling Fan Tooldock D2
    M106 P6 S0 C"PCF-T3" ; Partcooling Fan Tooldock D3
    M106 P7 S0 C"Waterpump" ; Watercooling-Pump
    M106 P8 S0 C"Heatsink D0"
    M106 P9 S0 C"Heatsink D1"
    M106 P10 S0 C"Heatsink D2"
    M106 P11 S0 C"Heatsink D3"


    The shown configuration section was just for initial testing and won't be like this in the end. We're working currently on a software concept to use the RFID-Chips to write and adapt the config.g file so the printer basically configures itself according to the tools on the CHANGER. In the near future if you insert a direct drive tool the E steps, driver current etc. are set automatically in the config.g file. 

    With this said the pins doesn't need to adress a heatsink fan or a partcooling fan in the end. It could be anything controllable with 12V.

View all 18 project logs

Enjoy this project?



Shane Hooper wrote 11/28/2021 at 05:06 point

I like the kinematic bed design. I kind of want to try MGN rails bed leveling system on my Solidcore CoreXY build similar to the HeVort Triple Z-axis setup.

  Are you sure? yes | no

gaaunapoi wrote 10/15/2021 at 03:46 point

That looks like a cool project, many good ideas. I am working on  my own,  and I really like your tool head cover you designed! Do you have a file for the new tool head cover? Thanks

  Are you sure? yes | no

Simon Wirz wrote 10/29/2021 at 07:03 point

Thank you for your feedback. I'll upload the cover to the "Files" section for you to download. 

  Are you sure? yes | no

Greg Holloway wrote 07/20/2021 at 08:01 point

Very cool! I envy your bed :)

  Are you sure? yes | no

Simon Wirz wrote 07/20/2021 at 10:19 point

Thank you for your feedback and good work on the toolchanger toolhead and docking mechanism. For sure safed me some time to use such a ecosystem :)

After some small modifications my bed design could be added to the original E3D-Toolchanger but you'll lose some build volume in the y-direction. 

  Are you sure? yes | no

Greg Holloway wrote 07/20/2021 at 11:16 point

Good to know we helped :) Our intent was to make ToolChanging accessible, and reliable. 

Maybe in the next version of the Motion System we'll have a 3 point bed :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates