• Hey guys,

    after countless hours and multiple iterations, I would like to present to you the D-PATCH (Delta Printer with automatic tool changing). To my knowledge there is no Delta Printer available with tool-changing. I have been working on it for over 2 years (started in March 2018) and I am proud, that it is now a reality.

    As you can see it’s not completely finished yet, because the actual tool changer is missing, but is in the making. A prototype is existing already.

    Stats about the Printer:

    Print volume: 300x300mm

    Available tools: 5 (for now)

    Board: Duet 2 Wifi + Duex 5

    Power Supply: 24V 13A Meanwell

    Security: Circuit breaker + RCD +Emergency Stop

    Bed: milled aluminium bed with 600W mains heater switched with SSR

    Print surface: Magnetic bed

    Tool-Changing: Automatic and Manual

    Control: PanelDue

    I will updated the tread when I make more progress.

    I'm really curious about your opinions and please let me know if you have any questions.






  • Added a cover for the electronics compartment and fixed the bed. The bed sits on 1 Standoff and 2 Balls, so that the system is constraint but thermal expansion is allowed.


  • @taconite Nice work! I have no experience with Deltas but I'm definitely interested in how the tool changer works out.

  • FANTASTIC. I was thinking about going down this road...

    You've posted a lot of info and pics, and I will be looking at them very carefully, meanwhile TELL US MORE!!!

    This is incredible. Fantastic. Superlative. Nifty. I'm running out of words (at least without cheating on the web) and I hope I've conveyed just how cool this is.


    Now, to look at your pics!!

  • Would you be willing to post the tool macros?

  • @gtj0 thank you :), I will keep updating this post with news

    @Danal Thank you very much for your kind words. It feels good to hear, that people like it 🙂
    What else would you like to know?

    I have not completed the tool macros for this machine, yet but I can upload the ones for the prototype

  • Hey Guys,

    I uploaded some videos of the first prints here.
    Furthermore I added a video of a manual tool change

    Best Regards

  • That's really cool, I missed your original post! The first tool changing delta I am aware of is from 2013 (see https://www.youtube.com/watch?v=f60YuBrHRCA -- it's actually a pancake printer as shown in https://www.youtube.com/watch?v=t3O19n_JqXU).

    We've come a long way in the mean time! Can you give some details on your locking mechanism? It seems way more involved than a bunch of magnets.

  • @oliof Yeah you are right - I found these videos, too, when I started to look into tool changing Delta printers, but not many infos out there.

    About your question - yeah a little more brain juice went into the design of the locking mechanism.
    So it is basically a bayonet lock that is driven by a Bowden cable and reset by a bunch of springs

    The pieces of the bayonet that lock the tool are angled so a downward force is created by the rotation of the bayonet. It is locking onto 3 zylindrical pins that are placed 120° apart from each other so that the locking is uniformly

  • Pretty cool! I hope you publish your design one day as this would be an interesting setup for three printers down my ideas to build (orthogonal tripteron, or sextupteron). But that's a couple years out optimistically speaking (-:

  • Thanks that you like it! Yeah as soon as this version will be finished I'm thinking about publish the files under CC-BY-NC so that the community can use it 🙂

    BTW: I really love your unconventional tripteron design!

  • The design is not mine though. That credit goes to Evan Callicoat.

  • Started working on the Tool-Changer itself


    Here you can see a tool itself. Modular and with small modifications of the adapter compatible with various Hot-Ends (e3D, Mosquito, Nova,...)

  • Hey guys,

    worked a little bit more on the printer.
    I got the first automatic tool change (even if it needs a little more tuning), but it's a first step in the "proof of concept" direction (which I already did with the first prototyp).


  • @taconite that's a cool design. Where did you get the tapered metal parts?

  • @fšk thank you 😉
    I designed the tool so, that it utalizes standard stock material. The tapered part was done by a friend of mine on a standard lathe.

  • Tool Change Scripts

    ; tfree0.g
    ; called when tool 0 is freed
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 10 2020 17:42:42 GMT+0200 (Mitteleuropäische Sommerzeit)
    ; ------------------------------------------------------
    ; Script for parking of tool 0 (V1)
    ; 04.08.2020 
    ; v0
    ; Adrian Beetz
    ; ------------------------------------------------------
    if sensors.gpIn[1].value=0
    	M291 S0 T3 P"Tool detected so now parking" 
    	if {!move.axes[4].homed || !move.axes[3].homed || !move.axes[2].homed || !move.axes[1].homed || !move.axes[0].homed} ;if one of the axis is not homed, home them
    	if state.status = "processing"	;if printing retract and z-hop
    		G1 Z+2 F10000
    		G1 E-20 F4000
    	G1 X0 Y0
    	if {move.axes[4].userPosition>1}		; if the V Axis is further than the desired position move it back because of backlash
    		G1 V{1-1} F5000
    	G1 V1 F5000			;89.0
    	G0 Z{move.axes[3].userPosition+85.5}	; so in sum relative 82.5 ;52.5; 82.5
    	if {sensors.gpIn[4].value=1}			; if Lock is closed, open it
    		M98 P"lock.g"		;open lock
    	if {sensors.gpIn[4].value=1}			; if lock ist still closed, failed
    		M291 S0 T3 P"Opening failed"
    		abort				; if lock still closed --> abort
    	G1 X-76 Y46 F15000
    	G1 X-30 Y16 Z-3 F1000	;-4
    	G1 Z-14 X-2 Y-4 F3000
    	G1 Z-15 F5000
    	G1 Z{move.axes[3].userPosition}	   ;move Z back to the standard pos before tool change ;-30
    	; sum: X=106, Y=62; Z=83.5
    	G1 X0 Y0
    	G4 P200
    	if sensors.gpIn[1].value=1
    		M291 S0 T3 P"tool parked successful"
    	else {}
    		M291 S0 T3 P"tool parking failed"
    else {}
    	M291 S0 T3 P"No tool in effector"
    ; tpre0.g
    ; called before tool 0 is selected
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 10 2020 17:42:42 GMT+0200 (Mitteleuropäische Sommerzeit)
    ; ------------------------------------------------------
    ; Script for picking up tool 0 (V1)
    ; 04.08.2020 
    ; v0
    ; Adrian Beetz
    ; ------------------------------------------------------
    if sensors.gpIn[1].value=1
    	;M291 S0 T3 P"No tool detected so now pick up"
    	if {!move.axes[4].homed || !move.axes[3].homed || !move.axes[2].homed || !move.axes[1].homed || !move.axes[0].homed}	; if not homed
    		G28	;home
    	G90	; absolute movement
    	G1 Z{move.axes[3].userPosition} F10000	; move Z down to 0 pos -30
    	if {move.axes[4].userPosition>1}
    		G1 V{1} F5000
    	G1 V1 F5000  ; move Belt to tool 3
    	G1 X-108 Y+58 F10000
    	if sensors.gpIn[4].value=1
    		M98 P"lock.g"		;open lock
    	if sensors.gpIn[4].value=1
    		abort				; if lock still closed --> abort
    	G1 Z+60
    	G1 X-106 Y+62
    	G0 Z{move.axes[3].userPosition+79.5} F3000	;sum 79.5
    	G1 X0 Y0
    	if sensors.gpIn[4].value=0
    		M98 P"lock.g"		;close lock
    	if sensors.gpIn[4].value=0
    		abort				; if lock still open--> abort
    	G1 V{1+22.5} F5000
    	G1 Z{move.axes[3].userPosition+3} F10000	;move Z to the point where it was bevor the tool change   ;-30
    	if sensors.gpIn[1].value=0
    		M291 S0 T3 P"tool pick up successful"
    	else {}
    		M291 S0 T3 P"tool pick up failed"
    else {}
    	M291 S0 T3 P"still tool in effector"
    	abort "still tool in effector"

  • Tool Changing of two tools can be seen here:

    upcoming is the first multi-material print

  • @taconite that's a nice tool changer!

  • @taconite Hey any thoughts about preventing heat-creep after a (hot) tool is placed back on the carousel?

  • @JoergS5 Thank you
    @jpomo10 of course ;). There are multiple options:

    1. set the stand-by temperature so low, that a equilibrium is reached
      (+ no additional fans, - long heat up time)
    2. one fan for each tool in parking position
      (+ sufficient cooling, - lot of fans with lots of noise)


    1. one bigger fan with a fan-duct to direct the air to the heat sinks of the tools in parking position

    For now I have no fans at all. So after the first prints I had not a lot of heat creep and no problems with jams. But I guess I will move on with option 3

    BTW: I posted another video of the first dual color print on youtube


  • this looks like a sci fi attack hovercraft

  • @taconite Thanks for the reply!

    Is the tool-changer "carriage" set up as an additional axis? How does it increment along with the Z-axis?

  • @jpomo10
    Yep it is set up as U axis. I wrote a custom post-processing script for cura 😉

  • Hey guys,

    I keep posting small videos - some are not really special but I still want to share them with you: https://youtu.be/6-CR_1vN3cE

    In this small video I print with my go-to 100mm/s-profile

    And I just uploaded a video of the change of 4 tools

Log in to reply