This Instructable will show you how to build Jim's Flying Motor Mount Dual Extruder. This extruder is a compact, light-weight, dual extruder which can be used on Mendel, Prusa, Wallace, and Printrbot 3D printers (and others) which currently use the single Greg's Wade's Extruder. This new design offers a true dual extrusion capability to these printers, allowing two color printing, or use of an alternate support material.  Use of support material is a feature of recent versions of Slic3r. Alternate support material removes restrictions on printing overhangs to allow printing of arbitrary shapes.

Caution: This Dual Extruder is designed to be used as part of an existing or new 3D printer. Some adaptation is needed to make it fit any particular printer. This adaptation is up to the user. Although I provide instructions to guide the adaptation, some creativity and ingenuity will still be required of the user.

Full disclosure: I have yet to get the dual extruder mounted and fully tested on my printer. I have extruded plastic through both nozzles to verify hardware and software functionality, but printing awaits a new X Carriage design. I share it so that others can help prove and improve my design.

Printed Parts:
Print two each (It's a dual, remember?) of the Extruder Body, Tensioner, Large Gear, and Small Gear from Thingiverse. I used 40% fill. Note the support material used with the Extruder Body.

Vitamins (metal parts):
Four M4x35mm socket head bolts  with nuts. (nozzles)
Four M4x16mm socket head bolts with nuts. (leveling)
Two M4x?? socket head bolts with nuts. (X Carriage mounting) Actual length needed depends on your X carriage.
Two M3x25mm socket head bolts with nuts and washers. (tensioner hinge)
Four M3x35mm socket head bolts with nuts and washers? (tensioner tightening)
Two M4x25mm socket head bolts with nuts (tensioner bearing axles)
Six M3x10mm socket head bolts (motor mounts)
Two M3x8mm or 10mm set screws with nuts. (small gear mount).
Two M4x50mm all-thread bolts with 6 nuts (three each –  2 Nylocks) and 4 washers. (main axles)
(These are hard to find. I found them in stainless with Phillips pan heads at the local hardware store. M4 threaded rod could be used; use a Nylock instead of the plain nut in the pocket on the gear.)
Two nozzles using 16mm groove mount of the same type, or at least the same length. I have used Ubis nozzles; the J-nozzle should work also. Others using 16mm groove mount may work, but are untested. A different nozzle mounting method would require modifications to the scad files.
Two NEMA14 bipolar stepper motors. The ones I use have 3.2 Ohm coil resistance.
Six 624 Bearings.
One piece of 4mmID, 5mmOD brass tubing (McMaster-Carr) long enough to be cut into two pieces the same length as filament drive gears. Details follow.
Two filament driver gears  (Makerbot  MK7 (SKU2394) – 5mm hole)
M3x5mm set screw (2) (filament drive gear)

Step 1: Clean up Plastic Parts

Carefully trim away all the support material on the bodies.

Clean up flashing and any blobs, etc. from the parts – especially the gears! Clean the nozzle mounting holes so the nozzles fit properly and extend the same distance. Clean out the space for the filament drive gear.

Drill holes for M3 bolts to 3.2mm or 1/8 inch. Drill M4 bolt holes to 4.2mm or 5/32 or 11/64 inch. Check each step for the hole sizes. (This has the added benefit of making you read the instructions before you build. That's a good thing!)

IMPORTANT: Drill the filament holes to 3.5mm or 9/64 inch. See the picture titled “Filament Guide Holes”.
Has anyone tested how well this extruder works on flexible filaments??
I haven't tried flexible fibers with this yet, but they should work fine. The distance from the driver to the guide hole is minimal, as is the distance to the nozzle entry, so there is little room for the fiber to bend.<br><br>If anyone has experience with using flexible fiber with this design, please post.
<blockquote>have you ever run into a buzzing noise with the extruder where it doesn't move just goes back and forth a little bit? please let me know because its happening to my Printrbot classic right now please help thanks!!!!!</blockquote>
<p>Hi doctek,<br>I'm trying to tweak Marlin to get PS_ON on my printrboard. It will allow my 3D printer to shutdown the ATX PSU after finish an object. I'm following your mod, as it's the best guide I've found to know the board pinout on expansion headers.<br>I've decided to use pin 5 on EXP2 as PS_ON_PIN.<br>Following your guide, I modified pins.h, adding &quot;PS_ON_PIN 4&quot; inside the &quot;motherboard == 81&quot; block, as EPX2 pin5 is refered as pin 4 on Marlin.<br>I've uploaded the new FW into the board, but it does nothing. G-code M80 and M81 should set ON/OFF pin 5 on EXP2. A multimeter measures 1.5V no mather the command sent.<br>Do you know what is happening? Any clues?<br>Thank you!</p>
Right now I am in the middle of a major cross-country move, including selling our house. All my electronics stuff is packed so I can't do any experiments to help you. I'm very sorry.<br><br>One thing you might do is check other pins on the header and see if any of them change when you do the M80/M81 codes. Mapping in Marlin is a little convoluted and easily misunderstood, so I'd check all the pins to see if any are changing. Then change the map to match reality.<br><br>HTH.<br>
<p>Hi doctek,</p><p>I've finally found the problem. It looks like the code on M80 routine doesn't behave as expected. Marlin make use of macros:</p><p>SET_OUTPUT(PS_ON_PIN);<br> WRITE(PS_ON_PIN, PS_ON_AWAKE);</p><p>But it doesn't change the port to act as output neither outputs High or Low level on it. So I used standard arduino functions instead;</p><p>pinMode(PS_ON_PIN, OUTPUT);<br> digitalWrite(PS_ON_PIN, 0);</p><p>And it does the job! I'll try to get in touch with Marlin developers to know the reason of this failure.</p><p>Thank you, anyway</p>
<p>I have a full set of printed parts now. There is a 695-2RS bearing with a 5mm bore. It is only 4mm wide, but I do not see that as a problem. So I'll go with four 695, and two 624 bearings to avoid the brass tube fix.</p>
Your parts look great! Please post your progress, especially about the bearings. Sounds like a good idea.<br>
<p>I'm printing the plastic parts in ABS, and intend to complete the project. However when I do have a dual extruder working, how do I design two color parts? If I color the STL file, will slic3r take it from there, and produce G code for the two extruders?</p>
That's a really great question, JohnDH! I think you'll find all the details you need, as well as a sample calibration piece, here:&nbsp;<br> <a href="http://www.thingiverse.com/thing:124450" rel="nofollow">http://www.thingiverse.com/thing:124450</a><br>
The details on this are in Step 12 of this Instructable. Using the heated bed controls to get the dual extruder working is highly recommended as the simplest approach. If you then want to use a heated bed again, have a look at the schematics for the Printrboard and copy the circuits for the resistor and thermistor interfaces. <br> <br>As far as the exact hookup, I have published the code I use here: <br>http://www.thingiverse.com/thing:124448 <br> <br>You will care about that because it has a version of the Marlin/Lincomatic firmware which I modified to provide independent control of the two extruders. Have a look in pins.h to see exactly what pins I used for what functions.
This is a good time for an update. I've posted several items on Thingiverse pertaining to this design. <br>Here's the dual extruder in action: <br>http://www.thingiverse.com/thing:123609 <br> <br>Here's a modified X-carriage for the Prusa: <br>http://www.thingiverse.com/thing:93513 <br> <br>The modified firmware was mentioned just above. <br> <br>And finally a method of calibration: <br>http://www.thingiverse.com/thing:124450 <br> <br>These postings also contain some useful instructions for construction and use of the Dual Extruder.
hi, <br>I would like to know where I have to connect the thermistor and the resistor of the second extruder. <br>on which pins of printrboard I connect?
I'm having trouble with low torque output from my printrboard, even with the voltage across the gain pot up at .8v, I was wondering if it was possible to connect a total of three pololu drivers to the board, I noticed on the extension headers there are only eight PD(x) pins, is it necessary to use these and if not, how can I found out the relevant pins to set in pin.h for the rest of the headers?
Again, this is really a question for the Printrbot forum. I'll again offer an answer based on my experience. <br> <br>First, be sure you are solving the right problem. It is possible you have too much current to your steppers. This will cause them to skip steps also. A sign of this is a loud whining noise when you command them to step. Try turning the current down in steps of about 1/8th turn, then command a short movement. <br> <br>Also check your motors to be sure they are moving freely. I often use a spare motor and connect it to the driver with no load. If it moves easily, then the driver is not the problem. Check your wiring to the motors the same way: disconnect from your printer and hook up a spare motor. <br> <br>If you really want to replace the drivers, keep in mind that the Pololu driver board uses essentially the same Allegro chip so you won't get a lot more drive, if any.
This method for locking the hot ends in place is interesting. <br>Are the hot ends securely fastened to the body using these pairs of parallel bolts? I can't judge how tight the fit is from a picture. I would worry that the bolts were not close enough together to snugly pinch the hot end notch. Did you have any problems with the hot ends/nozzles coming loose?
The bolts are spaced such that they byte into the sides of the nozzle and hold it securely. While I know this method can be improved, it works and has worked on printers I've built for many rolls of plastic.
It seems that you need to take several steps in order to modify the axle to fit the $12 MK7 filament drive gear. Wouldn't it be much easier to modify this design to use an M8 bolt that is hobbed, just like in Wade's Extruder? The process of modifying the bolt into a drive gear is as simple as the above instructions.<br> <br> <a href="http://reprap.org/wiki/Wade%27s_Geared_Extruder" rel="nofollow">http://reprap.org/wiki/Wade%27s_Geared_Extruder</a><br> <br> The bill of materials for this design is quite expensive due to the wide variety of parts and suppliers that must be used to get these parts (pololu, McMaster Carr, some fastener company, MakerBot/MakerFarm). Using an M8x50mm bolt would require two 8mm bore bearings (608), 8mm nuts, 8mm washers, and a modification to the Dual Body and Large Gear files, but the results might eliminate the need to purchase brass from McMaster Carr (avoiding the cost of the brass and shipping, yay!).<br> <br> This design is great, but we can make it better :)
First, I *really* appreciate your spirit of collaboration. Your eagerness to contribute to improving the design is awesome! And any suggestions, comments, etc. are most welcome.<br><br>Let me explain the reasons for some of my design choices. First, I like the Mk7 extruder because it is larger diameter than the typical 8mm hobbed bolt. I chose the 4mm axle because it used the smaller 624 bearings (which I happened to have) and the extruder bodies could fit closer. I was trying to get the nozzles as close together as possible and have looked at many alternatives. The 8mm hobbed bolt and the attendant bolts add significant weight also. BTW, the tubing (with shipping) was only about $5 or so.<br><br>If you want to explore using the 8mm hobbed bolt, consider using 688 bearings. They are also 8mm bore, but not nearly as large OD.
Thanks for mentioning the 688 bearings. Those will do much better than the bulky 608s. The MK7 extruder does indeed have a larger diameter, so it would have more contact with the filament, a valid benefit.
It would seem prudent to use narrow compression springs on the outside of the tensioner block, sleeved onto the tensioner bolts with washers on the socket end. This would improve grip on the filament when the diameter varies (which unfortunately happens often) and eliminates the need to tighten and loosen bolts whenever filament in inserted. <br> <br>The bolts will need to be changed to a longer size to accommodate the springs, but this shouldn't be an issue. Deciding an an appropriate spring will take a bit of research though.
Good catch! I didn't have these in the parts list. Small rubber o-rings under a washer have served me well on other extruders without requiring longer bolts. <br><br>Sorry I left these out.
What stepper driver is connected to the breadboard in the picture titled <em>&quot;Stepper Driver Wiring</em>&quot;? What drivers can run the NEMA 14 at the rated currents we can expect?
The driver shown is of my own design and uses the Allegro A4988 chip. The A4988 driver from Pololu will also do the job. Wiring for the Pololu board will be slightly different since you need to connect the stepping mode pins. My board is set up for 1/8th step microstepping. The NEMA 14 motors draw less than an amp at 12V.<br><br>I think Sparkfun also has a similar driver. The control signals are enable, step, and direction. As long as the board is controlled by these and is rated at 2 amps (meaning it can do 1 amp continuously) then you should be fine.<br><br>Note that drivers like that from Adafruit do not use step and direction for control and are not suitable for this application.
Thanks for the great pictures of your project. Would like to see it in action and stuff you make.
what printer does this attach to? reprap?
This design fits no existing printer perfectly, but should be adaptable to most any printer with not too much work. <br> <br>Perhaps I should make the &quot;Caution&quot; (the second paragraph) clearer? <br>

About This Instructable


120 favorites

More by doctek: Easy Oogoo Miixing with Printed Auger Build a Dual Extruder for 3D Printing Simple Robotics Breadboard
Add instructable to: