Are there any defacto standards for interfacing between common 3D printers and custom extruders or other tooling? I was thinking how it would be good to have switchable nozzle widths mounted on the same heat block and switched between using a solenoid so you could have say a 0.25 mm for surface layer and details, then swap to 0.6 mm for the infill.

What would be the path of least resistance so it could be accessed in generic firmware?

The design I was thinking would be similar to a generic aluminium heat block with two nozzles screwed in side by side with there inputs meeting in an inverted Y junction with its center drilled out and replaced by a rod with appropriate channeling to divert the already molten plastic between nozzles. Turning the rod would be done from a solenoid mounted somewhere behind the heat-break.with a clamping mechanism.

  • $\begingroup$ you mean swapping the nozzles or whole printheads? $\endgroup$
    – Trish
    Commented Apr 20, 2020 at 16:30
  • $\begingroup$ Just the nozzle $\endgroup$
    – norlesh
    Commented Apr 20, 2020 at 16:34
  • $\begingroup$ That will be challenging to fabricate a rotating/sliding mechanism. In firmware it is easy, just select the next tool and handle the tool change in the tool change script. But, I think this idea is outweighed by dual nozzle designs or tool changer designs. Actually, my Ultimaker 3E can already have multiple nozzle sizes. The only thing to do is to appoint the correct nozzle to the correct section to print (infill extruder in Cura). $\endgroup$
    – 0scar
    Commented Apr 20, 2020 at 21:29

2 Answers 2


Generally: nozzles are not changed, the whole tool head is

While "tool change" is easy to implement in a G-code and could be easily adapted in the firmware, there are several practical issues to hot-swapping nozzles without swapping the whole hotend assembly:

  • The hotend is a fluid-dynamic system that needs to be sealed to operate under pressure and temperature.
  • The seal of the nozzle-heatbreak system is in most systems a metal-on-metal pressure seal
  • Rubber seals are not an option in a system that runs over 180°C
  • Moving metal seals are very hard to make and run smoothly.

Your idea: especially No

There is literally no way to design a turning Y-switch that fits the following bills:

  • sealed
  • filament path ~2 mm
  • screw-in diameter for heatbreak and nozzles M6
  • creates enough free space between the lower outlets to mount 2 M6 nozzles with enough space to hold a wrench (=15mm diameter of centers)
  • fit into the form factor of a conventional heater block

Your idea would need to be considerably larger, need a stronger heater element and creates an impossibly to clean area around the turning junction peg. Atop that, you would trade 1 area of possible leak (between heatbreak and nozzle) for 3 areas of possible leaks (nozzle-block and heatbreak block) and one area of guaranteed leak (the turning peg).

How is it done then?!

Currently, there are the following ways to swap between different of nozzles mid-print that have been proven to work somewhat reliably:

  1. fixed independent print heads with independent carriages.
  2. fixed independent nozzles and heaters on one carriage.
  3. swapping print heads on one carriage.

The first design is used for example in the Leapfrog Bolt, combined heads are for example the e3D Chimera, Cyclops and Kraken. e3D also designed on a reliable printhead - or rather tool - swapping system starting about 2018 and did release it to the public in late 2019.

Type 1 needs you to level the printheads well and to the same height in the easy case, but with the right setup of firmware, a Z-offset of the two tools can be included and compensated for - possibly even automatically. Type 3 does usually demands you to include very accurate offsets of the used tools or includes a way to measure the offset during operation, though I lack insight into how e3D solves it. Both setups can mitigate oozing of the unused nozzles out of the printing volume.

Type 2 not only demands hyper exact leveling, but it also is very prone to create some sort of oozing of the unused nozzle.


Tool change is M06 (then some value specifying what change to occur). You will need to implement the necessary changes in the firmware to support whatever electronics is required to perform the tool change (eg stepper driver | hobby servo, mosfets to run the solenoid). Once done, your slicer now has to do the work of knowing that there is a different nozzle size for different parts of the model. I know of no, slicer that can do that for different sizes on the same layer.

As for your idea: manual "tool changes" might be a better way to go, otherwise you would have to put the entire hot end on a carousel. Proposed hot end ejection mechanism The link (authored by me) describes a fast removal system for manually changing the hot end nozzles before prints. The electronics would need to be connected via pogo pins so that the installer doesn't need to connect any wires.

Further in this video (Printhead swapping), the author shows a magnetically attached and registered quick swap hot end, which can even swap the extruder.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .