ToolChanger support for OctoPrint


the idea to change hotends, to overcome limitations of current multi extrusion solutions, is floating around for some years, but got a lot of momentum recently when E3D jumped on the bandwagon and announced their solution. I started working on my own solution about 1.5yr ago, but I'm also taking part in the E3D beta program. The beta hardware should be available this year, so I guess that the momentum will increase in the weeks coming.

If this sounds like a buzzword sales pitch so far, you are right, but bear with me. It spent a some time thinking about how to connect all the dots, wrote a plugin for Cura to load/unload hotends and as of today released a utility to make nozzle calibration easier, but after all, came to the conclusion that all of this should be integrated in OctoPrint.

Why OctoPrint? Because of it's position in the tool chain.

  • Handling tool offsets is rather important and neither firmware nor slicer are the right place to deal with it. Firmware is the wrong place, as nozzle offsets are only important while printing but not during moves to (un)load hotends. Similar for slicers; nozzle offsets tend to change over time (e. g. maintenance) which makes sliced g-code unusable if the offsets are embedded. OctoPrint already has the ability to deal with X/Y offsets (Z would be needed as well), adding the ability to (un)load hotends would be needed.

  • Offset calibration is another pain point. State-of-the-art is printing vernier scale type patters (like analog calipers) and estimating offsets from there. At best this is very time consuming, and next to impossible if you want to use materials that require different bed surfaces to stick (ask how I know :)). The utility I release today uses a modified camera to overcome this limitation and allows for optical alignment in three dimensions. Getting this functionality into OctoPrint would allow people to easily verify/adjust current calibration just before printing.

I started to take a look at the code, but honestly failed to figure out where to start, even after days. On the other hand I showed it to few people and got fairly enthusiastic feedback, so I guess that idea to good to just let it go.

That why I'm trying to pitch this idea to an audience that knows OctoPrint really well, if someone wants to pick it up, be assured that I'm willing to help as much as I'm able to do.

Thanks for still reading.

This video shows the calibration utility:
The code to the utility:


1 Like

Other than OctoPrint itself, this is probably the most exciting thing I have seen lately within this space.

In my mind, it's not just about multiple extruders but could go way beyond this with multiple tool types (laser cutter, ink pen, probe tool, CNC drill).

The calibration tool looks interesting. I can't help but think that the Pixy2 camera board wouldn't be handy in a case like this; there's so much built into it since it has its own processor.

I started another attempt to implement a plugin :slight_smile:

Still a long way to go, but the first milestone, figure out how to acquire camera image, crop it and do the 'focus computation', is done.


1 Like