A toolchanger keeps several complete toolheads parked in docks and uses an empty carriage to pick one up, print with it and put it back. This page covers the change sequence, how the coupler holds a tool, tool parking, what limits the toolhead count, and the main systems from the Snapmaker U1 to the Voron StealthChanger.
A 3D printer toolchanger parks several complete toolheads in docks on the frame and puts a coupler, not a fixed toolhead, on the carriage. To change tools, the carriage drives the active toolhead into its empty dock and releases it. It then moves to the next dock, couples to that toolhead, locks it and carries on printing.
Each toolhead has its own nozzle and filament, so a change needs no purge of the old color. That sets it apart from a filament changer such as Bambu Lab’s AMS (Automatic Material System) or Prusa’s MMU (Multi-Material Unit), which pushes every filament through one nozzle. A dual-nozzle printer has two nozzles fixed on one toolhead. Multi-color printing compares all the layouts, and toolchanger vs AMS covers the trade-off.
A toolchanger works in four parts: docks that hold idle toolheads, a coupler on the carriage that grips one toolhead at a time, usually a sensor that confirms a toolhead is attached, and firmware that runs the change sequence. Each tool carries its own nozzle and filament, so swapping tools swaps material without purging.
This is the sequence the open-source klipper-toolchanger extension runs when the slicer’s G-code calls SELECT_TOOL. Commercial printers follow the same pattern in their own firmware.
- Save state. The firmware saves the G-code state and runs a before-change macro.
- Switch off the old tool. The current tool’s extruder and part fan are deactivated.
- Drop off. The carriage follows the tool’s dropoff path into its dock and releases it.
- Pick up. The carriage follows the next tool’s pickup path, couples to it and checks the detection pin. Klipper reads an untriggered pin as tool mounted and a triggered pin as tool absent.
- Switch on the new tool. The new extruder and fan are activated and an after-change macro runs.
- Resume. The G-code state is restored, and the new tool moves to the print position with its own X, Y and Z offset applied.
The offsets matter because no two nozzles sit at exactly the same spot. Each tool’s config holds gcode_x_offset, gcode_y_offset and gcode_z_offset; toolchanger tool offsets covers measuring them.
When step 4 fails, the detection check stops the print; toolchanger failed pickup covers the causes. Klipper toolchanger config walks through the config files.
A coupler has two jobs: put the tool in the same place every time, and hold it there against printing forces. Most systems locate the tool with a kinematic coupling (balls or pins seated in matching grooves). E3D said its ground coupling reached “precision better than 5um” and self-aligned from a few millimeters off. Holding is where the designs differ:
- Motorized lock. E3D’s ToolChanger used a servo that turned a sprung bayonet into a slot in the tool head.
- Lock pin. Jubilee tool plates (compatible with E3D’s) carry three threaded steel balls that seat on the carriage pins. The toolchanger’s lock pin engages a slot on the tool.
- Pin grip. On the Prusa XL, each tool carries what Prusa calls a Cheese board, with “3 hexagonal positioning pins, 2 carrying pins”. The locking mechanism picks the tool up by those pins. To release it, the toolchanger brings the tool to the dock position and slides to the right.
- Mechanical lock with no motor. Snapmaker says the U1 seats each toolhead on “steel-ball kinematic couplings” and secures it “with a mechanical lock”, with no extra motors.
- Magnets. StealthChanger mounts the tool to the shuttle with “bushings and pins, with magnets to help create a strong mounting connection.” Its predecessor TapChanger uses a kinematic mount on bearings and rods with “no servos, no wires on the shuttle.”
- Induction tools. Bondtech INDX keeps one active Smart Head on the gantry. Its tools are passive (no electronics), held by a Maxwell kinematic coupling and heated by the head’s induction coil. Bambu Lab’s Vortek on the H2C swaps contactless induction hotends in the same way.
Tool parking is putting an idle toolhead in its dock, a fixed holder on the frame outside the print path, so the carriage is free to carry another tool. A parked tool keeps its filament loaded, and some printers keep it heated: Prusa says parked XL+ heads “stay preheated” and power down when unused.
Jubilee docks are parking posts: wings on each tool slide onto the post with an even gap on both sides. Its carriage has no height adjustment, so each post is set to the right Z height instead. StealthChanger docks mount on the top rail, on a crossbar or on both. The choice depends on the printer’s width and front idler clearance.
The firmware needs each dock’s exact position. In klipper-toolchanger every tool has params_park_x, params_park_y and params_park_z, described in the example config as the “position with the toolhead aligned with the dock”. Jubilee’s documentation calls correct parking post positions “critical to smooth, reliable tool changes”, and says play in a picked-up tool most likely means poor post alignment or Z height.
Temperature while parked is up to the firmware and the slicer. The klipper-toolchanger example macros extend M104 and M109 with a T parameter, so the slicer can heat or cool a parked tool before its turn. Slicing for a toolchanger covers the slicer settings.
There is no fixed limit in the mechanism: the number of docks that fit along the frame sets the count. Commercial systems take four (Snapmaker U1), five (Prusa XL+), six hotends (Bambu Lab H2C) or eight (Bondtech INDX on the Prusa Core One). A Voron 350 with StealthChanger fits five Stealthburner toolheads.
For a DIY build, measure the frame. StealthChanger’s dock guide says to subtract 40 mm from the top bar length (clearance for the gantry to pass the tools at each side), then divide by the toolhead width:
- Stealthburner, XOL or Blackbird: 76 mm per tool. A Voron 350’s 470 mm top bar fits five (380 mm), with 50 mm left over.
- Dragon Burner or Yavoth: 60 mm per tool, plus the 5 mm gap the guide recommends for extruder handles.
TapChanger’s README says it fits six Dragon Burner hotends on a 350 frame. E3D limited its ToolChanger to four tools “due to volume constraints” and said more could be added. Bondtech’s INDX documentation says “Run two tools or ten”, as far as build space allows.
Each conventional toolhead brings its own extruder, heater, fans and usually its own toolhead board; the klipper-toolchanger example tool runs on a BigTreeTech EBB CAN board. That makes every extra tool a full toolhead’s cost. INDX tools are passive, so an extra tool is a nozzle rather than a whole toolhead.
The main complete printers and DIY systems, sorted by maximum toolheads. Toolchanger printers compares the complete machines with prices.
| System |
Type |
Max toolheads |
How the tool is held |
| E3D ToolChanger |
DIY motion system, discontinued in August 2023 |
4 |
Kinematic coupling, servo-driven bayonet lock; magnets hold parked tools in the docks |
| Snapmaker U1 |
Complete printer |
4 |
Steel-ball kinematic coupling and a mechanical lock with no motor; changes in 5 seconds, per Snapmaker |
| Prusa XL+ |
Complete printer, sold with 1, 2 or 5 toolheads |
5 |
Locking mechanism grips the carrying pins on each tool’s Cheese board |
| StealthChanger |
Open-source mod for the Voron 2.4 and other front-mount motion systems |
Set by frame width; 5 Stealthburners on a Voron 350 |
Pins and bushings, with magnets |
| TapChanger |
Open-source mod for the Voron 2 |
6 Dragon Burner hotends on a 350 frame |
Kinematic mount on bearings and rods; no servos or wires on the shuttle |
| Bambu Lab H2C (Vortek) |
Complete printer; changes hotends, not whole toolheads |
6 interchangeable hotends |
Contactless induction hotends that heat to temperature in 8 seconds, per Bambu Lab |
| Bondtech INDX |
Conversion kit for the Prusa Core One; dev kit for Voron, RatRig and custom CoreXY |
8 on the Core One |
Maxwell coupling; passive tools heated by induction; about 14 seconds per change including heat-up, per Bondtech |
| Jubilee |
Open-source multi-tool motion platform |
Set by its 409 mm of tool rack space |
Three steel balls on each tool plate (E3D-compatible) and a lock pin |
The Voron mods, TapChanger and StealthChanger, run on Klipper with viesturz’s klipper-toolchanger or the klipper-toolchanger-easy fork. That fork bundles the config, macros and code for StealthChanger users and needs Klipper 0.13.0-707 or later. The Voron toolchanger page covers the Voron options in detail.
INDX supports Kalico, Klipper and RepRapFirmware. Jubilee ships Duet config files.