Dual Extrusion Calibration using Slic3r

by doctek, published

Dual Extrusion Calibration using Slic3r by doctek Jul 28, 2013
24 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

31560Views 10625Downloads Found in 3D Printer Extruders


As promised in http://www.thingiverse.com/thing:123609 showing my dual extruder in successful operation, and http://www.thingiverse.com/thing:124448 giving the Marlin code and showing how to set up Pronterface , here is a Thing for calibration of your dual extruder. The details of using Slic3r and OpenSCAD to create objects for dual extrusion are also presented here.

Credit goes to HanspeterH http://forums.reprap.org/read.php?267,21456 and Alessandro Ranellucci (alexrj) https://github.com/alexrj/Slic3r/wiki/Multiple-extruders for their explanations. I have merely filled in a few blanks and added a few (hopefully) helpful details and clarifications.

This concludes my work on the design of Jim's Flying Motor Mount Dual Extruder. All the pieces should be in place for others to build one and implement the firmware and procedures to use it successfully. Hopefully, others will extend this work to other printer designs and other controller boards.

Or maybe it's just the beginning...


I use Slic3r version 0.910b, and these instructions apply to that version. The following instructions apply to printing an object which is made with two different materials, two different colors of filament for example. The OpenSCAD process and the amf file creation, as explained below, are not necessary if all you need is a different support material.

Before we can slice an object for dual extrusion, we need to have a separate stl file for each section. The sections must have the same origin and orientation. One suggested approach is to create the object with OpenSCAD using two different colors to distinguish the two sections, then export each section separately as an stl. Look at the OpenSCAD file for an example.

Slic3r (I'm using version 0.9.10b) can handle a new format called amf ( http://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format ) which represents different materials. Since OpenSCAD doesn't export this format, Slic3r conveniently includes the ability to make a file with that format starting with two stls. It is clearest to think of this as a stand-alone utility within Slic3r since it is unrelated to any other Slic3r functions. To use it, select Combine multi-material STL files from the File menu. Select the two files you want to combine. You can select them both at once or one at a time. When you have no more files to select, choose cancel to complete the step. Then choose a file name for the amf file. Do not change the file type – leave it as .amf.xml. Note that the first file selected will be printed with the first extruder. Also note that you do not need to do this to use support material. The resulting .amf.xml file behaves like an stl file. It must be brought into the Slic3r Plater and sliced as described in a few paragraphs.

Parameters for dual extrusion are specified in three sections of Slic3r. Under the Multiple Extruders page of the Print Settings tab, Slic3r assigns extruders to applications. With two extruders, either may be assigned to print perimeters, infill, or support. Notice that the extruders are referred to by numbers 1 and 2, not 0 and 1. Don't worry, Slic3r generates the correct g-code.

Under the Printer Settings tab, first increment the Extruders value on the General page to 2. You should then have an Extruder Two page on which you can set up your second extruder. Set the Extruder Offset value to 0 in X and Y directions. These values will be adjusted as you calibrate. On the Custom G-code page, you may want to specify g-code that will turn off your extruders when the print is done. Put M104 T0 S0 in the End G-code section to set the target temperature of Extruder 1 to 0. Duplicate the line with T1 instead of T0 to do the same for Extruder 2. (Sorry about the confusing numbering – no way around it.)

If that last bit was confusing, brace yourself for the Filament Settings tab! On this tab, we must use the Filament page to specify diameter and temperature settings for the filaments for the two extruders. But notice you have space to set up for only one extruder's filament! The answer is to create an individual configuration file with the applicable settings for each filament. Enter the values for one filament and notice that the modified flag appears on the name bar. Enter all the necessary values, then click the disk icon. Enter an identifying name for this configuration in the Save Preset file box, then click save. The names you enter will be available in the drop down menus. When you have created entries for all the filaments you want to use (at least two), then use the Export Config entry on the File menu to save all the entries.

Now it's time to use our Slic3r settings and our .amf.xml file to create the g-code file for printing. In Slic3r, on the Plater tab, locate the second Filament drop down block and find the entry for the filament used in your second extruder. You should end up with two configuration entries for your two filaments. Now use the Add... button to bring your .amf.xml file into the Plater. We'll start simple with just a single instance, so click Export g-code... to create the g-code file. You always have to use this method to re-slice, but you don't need to create a new .amf.xml version. IMPORTANT: It won't work to simply load an stl or .amf.xml file directly into Pronterface. You must use Slic3r to create the g-code file and load that.

Once the g-code file is created, you may want to view it with Repetier host. It uses two colors to show how the extrusion will be done with two extruders. This is extremely helpful when trying to check results from slicing experiments. It works for dual extrusions where a second extruder is used only for support material as well. The offset you specify for the extruders will separate the two sections. Keep that in mind as you view your part. If it looks OK, you can load it into Pronterface, and prepare to print in the usual manner. Be sure to load your g-code file, nothing else.

Wow! That seems like a hugely complicated process just to do a dual extrusion. But it's really not that bad after a little practice. For comparison, look back at ScribbleJ's original dual extrusion piece ( http://www.thingiverse.com/thing:6632 ). This is way simpler.

Now let's proceed to calibration. To calibrate your dual extruder, slice the object (as described above) with zero offset in the X and Y direction specified in Slic3r and print it. Measure the X and Y distance from any two points that should be conjunct and put the values in for the X and Y offsets, and go through the slicing process again. If either offset of the second nozzle from the first is nearer the origin, then the offset will be negative. I have a hard time getting this right the first time, but a quick test will tell you what the correct signs are.

The pictures show examples of my calibration steps. I measured the offsets from my first test (not shown since the two sections were far apart) and got the result in the first picture on the next try. Notice the small gap along one edge. I adjusted by 1mm and got the second result. I then adjusted again, but got the sign wrong yielding the third picture. The fourth picture shows the final result with a satisfactory calibration. My adjustments were as small as 0.3mm.

More from 3D Printer Extruders

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Great design. after 4 tries I got it right..... Russ

I literally just printed two cubes on top of each other from different nozzles, measured the offset across each side at three points with micrometers, averaged this, averaged across X and Y and added those values to my previous CAD-based offsets and the next test was perfect.

I keep getting an sd card read error in the first couple of layers. Ive used multiple sd cards with the same error. I have never gotten this error before.

Since I don't use an SD card when I print, I really have no experience in the area. I don't even know how to go about trouble shooting this problem. Does it print properly if you try with a direct connection from your PC?

Sorry, I haven't done much with dual extrusion for the last couple of years, so I really can't say.

Great design. I am just setting up dual extrusion on my prusa and this helped me get a handle on it (I think). Slices like a dream using Cura's "Dual Extrusion Merge" option. Would you say Slic3r has an edge with dual extrusion?

Just printed one (with two "dualTest3A" parts), but calibrating my printer with this piece is a bit hard. I think it's better to calibrate vertically (printing two identical objects on top of each other) to see if the multicoloured layers are shifted.

Overlaying the layers like that can make it difficult to see small offsets that will leave weak joints in your parts. The overlayed layers will "smush" a bit. But use the method that works best for you.

I used Kisslicer (Sep 2014 version 1.4.6, PRO-license) . The trick is to import both STL at the same time with multi item select in the OpenSTL file dialog box. Then assign extruders to each (sub)file. Both my extruders used PLA so it was a simple two colour job. No additional adjustements to the files, just used the ReptierHost to spool it to the printer.

Simpler is always better! Improving the process is what it's all about. Thanks for your input.

I made one. I'll upload a picture tomorrow. Your instructions seem very complicated. My process was open RepG -> Gcode tab -> Merge .stl for DualExtrusion -> locate the 2 files on the computer -> click merge. Than it merged them into one .gcode file and I printed it. My first dual extrusion print and it was surprisingly simple to do. Next I am going to try a QR code. Thanks for this file, it made me a cool trinket I can show people when talking about printing.