Introduction: 3D Printed Magnetic Toolchanger

Don't forget to turn the volume up while watching the video!!

Want to experiment with Toolchangers; but, can't afford the E3D toolchanger- which can cost you almost a cool 3K$? Well, i came up with this prototype that only uses off the shelf and 3D printed parts (No custom CNC milled parts) for affordability. Just like E3D, my design uses a Kinematic coupling for repeatability. But, rather than using the sprungtwist cam lock which needs CNC milled metal to function without regular servicing, i went with a servo driven magnetic twist lock.


  • ~65$ for a direct volcano tool
  • ~25$ for the toolchanger end effector
  • 400-500$ for my "host" corexy 3D printer with MGN9 rails


This toolchanger is designed to be mounted to a corexy 3D printer with an MGN9H X-axis rail facing up. You can download the fusion 360 file and adapt this design for your own printer. You will have to design your own 'belt adapter'

Before you download all the files and 3D print them to build one for yourself, note that this is a prototype. Not a finished project. If you need a 3D printed toolchanger compatible with the E3D toolchanger standard, check out Jubilee. The only quirk is that you'll have to regularly replace the 3D printed cam surface. This instructable will serve as a documentation of my implementation so you can design something similar for one of your projects! With that aside, let's get straight into it!

Step 1: How It Works

A kinematic coupling has 6 exact points of contact. It repeatably eliminates all 6 degrees of freedom when pre-tensioned. In other words, It just precisely joins 2 components when an attractive force (pre-tension) is applied to it. I've designed this magnetic twist lock that can turn the attractive force (pre-tension) on or off just using some permanent magnets and a servo.

Refer the image, The tool whcih normally faces the end effector is placed on the side of the end effector The north pole of a magnet is in red and the south pole is in blue. The magnets are placed in an alternating pole circular order. All tools have a set of magnets in this arrangement. the tool end effector has magnets in the same arrangement. But here, it can be rotated with a servo to turn the attractive force 'on' or 'off'. It can be done so because, the position of all the poles in the end effector reverses when it is turned 60 degrees while theposition of the poles in the tool remains the same. Switching it from attractive to repulsive or vice versa. For eg: Suppose, the same poles are facing each in an instant. The tool and the end effector repel. After turning the magnet arrangement in the end effector 60 degrees, opposite poles face each other. So they attract.

Step 2: Parts for the Toolchanger

This is a prototype so, rather than using expensive parts that will be better suited for the job, i used widely available components like a regular MG995 servo and 608 skateboard bearings to do the job . Here's the list for a setup with 2 tools:

3D printed parts

Download the fusion 360 model and check if it can fit your printer. Make modifications if needed. Export the components from the model and 3D print if satisfied

Step 3: Toolchanger Assembly

Tool assembly

  1. Insert the brass inserts to the tool dock mount using soldering iron
  2. carefully CA glue in the magnets to the tool plate In the alternating pole arrangement
  3. CA glue in the magnets to the dock and the tool dock mount such that they attract
  4. Insert the M4x8mm screws and screw it in using the threaded balls
  5. Assemble the hotend and extruder to the motor with the tool plate in between
  6. Attach the tool dock mount to the tool plate using M3x10mm screws
  7. Attach the dock to the frame

End effector asembly

  1. Insert the brass inserts to the effector head using soldering iron
  2. CA Glue in the 10x10mm steel L to it's slot
  3. Screw in the effector head to the MGN9H block using 4x M3x8mm countersunk screws
  4. CA glue in magnets to the rotating magnet holder in a stack of 2 in the same pattern as the tool
  5. Snap in the magnet holder and the 608 bearings from both the sides
  6. Prepare the Servo mechanism and insert the brass insert into it
  7. Snap it to the rear hexagon key of the magnet holder and tighten it with the M3x30mm screw
  8. Hot glue in the servo (what a sin!) and screw in the servo horn.
  9. Screw in the belt adapter using M3x20mm screws
  10. Attach the belt using zip ties, M3x15 screws and clamp
  11. Screw in the cover using M3x10 countersunk ( Ideally after testing and calibrating)

Step 4: Host Corexy 3D Printer

This is not meant to be a complete guide to build the host 3D printer. I'll write another instructable for that. Regardless, If you're going to build a toolchanger, i expect you to know how to build a normal 3D printer. A 20x20 T slot aluminium frame is recommended for modularity. For the sake of god, don't use a Ramps 1.4 + Arduino mega as the primary control board in 2020. There are 32 bit control boards for 20$! My machine skipped steps and crashed a few times because the controller couldn't keep up with my 200mm/s travel speed and 150mm print speed. Anyway, here's the specs of my host 3D printer:

  • 2020 t slot Aluminium extrusion frame with 400mm and 700mm extrusions
  • 32 bit SKR 1.3 + TMC2209 (previsously Ramps1.4+A4988) main MCU
  • klipper firmware! (previously marlin 1.9)
  • Tri actuator z axis (in the works, currently a cantilever)
  • MGN9H rails.
  • 300mm 750w bed. (in the works, currently a 200mm MK2B)
  • easy belt tensioning

Step 5: Configuration Testing and Calibration

First, you have to pick a firmware. I recommend Marlin2.0 or Klipper for generic 32 bit controllers. They support toolchangers. I originally used Marlin 1.9 (no native support for toolchanging!) on my ramps1.4 because marlin 2.0 was in beta back then. Now, iv'e moved to Klipper firmware and SKR1.3 as the main MCU.


  • Compile a rough version of firmware with the correct temperature sensor type, steps per mm, and homing sequence. Use large min and max positions so that the machine can move freely. Then upload it
  • Home the machine and find the min, max and endstop positions with the printer's front right corner of the bed as (0,0,0) and update the firmware
  • Find the lock and unlock angle of servo ny trial and error
  • Find the position of the tool docks in the docked position and the minimum position in which the tool can move in the x axis without crashing into the docks. and plug those values into the firmware configuration
  • Calculating tool offsets: USB microscope method (recommended) orVernier method

Helpful videos: How to configure Marlin2.0 / how to configure Klipper for toolchanger

After configuration, do a test run in low speeds and your hand next to the kill switch to confirm successful configuration

Step 6: Done!

Happy toolchanging!! I printed this cover of the toolchanger for the toolchanger by the toolchanger in dual color haha!

Thanks for your time!

Magnets Challenge

Participated in the
Magnets Challenge