multiple filament bowden extruder drive

by fritzgutten, published

multiple filament bowden extruder drive by fritzgutten Jan 23, 2012
0 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

14793Views 7538Downloads


this is a proof of concept in the use of driving more than 2 filaments (3 here) using 2 motors. one motor drives the filament while the other drives a cam that pushes the filament into the drive shaft.
i am currently preparing to test this, but wanted to get it out there. current issues are that is does not have good access to the drive mechanism for cleaning or feeding filament and that much of it was designed to be machined instead of printed. the side plates are to big for a cupcake, but i ws able to print a few of the pieces on one. it may also not be compatible with other motors until there is a redesign, as the motors are integral to its strength.
if anyone has improvements, let me know.
EDIT: added an IGES assembly file(let me know when you find its broken, and how to fix it) and SW2005 part and assembly files. also added an exploded image
EDIT: lookes like this has been worked on a bit already by wildseyed http://www.thingiverse.com/thing:10783 . not sure if i should list it as derivative.
Finally got more than 1 hot end functional at a time, so to check out the filament drive in action see http://youtu.be/CVaYHlLkvWM
and http://youtu.be/yqAGEqaoPg4

it works! all 3 filaments running:


mill (or print) the side plates, machine the drive shaft and camshaft, print the infeed and top plates.
i am using:
2 - 32 pitch gears of 19 and 54 teeth.
4 - 5x13x3mm bearings for the drive and cam shafts.
3 - 608 bearings for idlers.
4mm teflon tubing.
3 - 4mm x 1/8 pipe push-lock fittings.

File Name



All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

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

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

when i open the files the part are massive?????

Hi, great work on the extruder! I was wondering if you cold explain, in a little more detail, how your print file controls the motor to select the new filament. Are you hand coding the motor rotation to select the filament or are you using a "T" (tool change) gcode to select the filament?

Hi fritzgutten, Great concept and design. I've got a dual extruder setup, but it's not nearly this elegant. Any updates on the design or how it's been performing to date?

finally got all 3 running! see the horrible results here:



still much tuning left to do, but i'm calling it functional. 8-)

Finally got more than 1 hot end functional at a time, so to check out the filament drive in action, see: http://youtu.be/CVaYHlLkvWMyoutu.be/CVaYHlLkvWM

and http://youtu.be/yqAGEqaoPg4youtu.be/yqAGEqaoPg4

only 2 colors at the moment, need to finish another hotend.

Could you share your original design file(s) too? Stl-meshes are much harder to handle in most cad programs than the native format (or imported format).

I really like the design, but I think the separate stepper to stand in for a multi way swicht is not a good idea. If you start your firmware up, you have no way to know what state the machine is in.
Replace the switch stepper with a few cheap 3$ servos (or 5$ ones if the cheapies are too weak) an
d drive the servos with PWM from the arduino and a separate 5V line.

thanks for the input.

i'd be glad to share my files, what would be most universal? I'm running solidworks 2005.

as for the stepper drive on the filament selector, i will be installing a home switch on that axis. I'm unsure how current electronics will handle the stepper or home switch, but figure its an option as dual extruders are coming out.

many printers are running or have run by manually setting the home position, this could be an option for the filament selector motor as well.

hobby servos may indeed be an option, but control is less understood for myself. driving multiple servos would simplify the mechanical setup, but complicate the programming and control scheme.

I am using EMC2 and the use of a stepper is not much of a concern for my use.

Ah, EMC is indeed less hackable (IMHO), but then you will be putting all logic to change tools further upstream, into the gcode?

A floating home location doe not matter that much for additive manufacturing, it does not matter that much where exactly the object is built, as long as it is built correctly. With your design here that is not the case, it matters a lot wich filament is being extruded. So you will need that home switch.

But running servos from EMC should be possible as well, it sure can do PWM. I wonder if you have enough IO ports though.

Actually, I think you will lose much more time hacking EMC to do your bidding, than if you were working with a RAMPS board and marlin firmware.

I believe have enough IO ports, the only thing i havent configured is the home switch in question. As far as hacking EMC, there is zero "hacking" to do, just configuration of XYZAB axis. I am not currently using EMC to control tempuratures, just the standard gcode moves.

at any rate, its all possible whether using reprap electronics or driving from a parallel port.

as for the home switch.... the home position of the filament can be set , by hand, to a know location, all moves from there are known locations....the home switch isnt absolutely necessary, but it will
make life much easier.

SW2005 would be awesome! If you output iges as well that is a bit more editable and less lossy on Nurbs packages like Rhino.

In future maybe I suggest STEP format. Its comes in clean to proe, and have found it quite good going back and forth with solidworks and rhino.

Is the idea to have N hot ends for N filaments, or to have the filaments join into one hot end?

N hotends for N filaments

So... it looks like you are using one drive to "select" the feed and apply pressure on the selected filiment and the other is the actual drive, which drives all three, but only if they have pressure on them. Correct?

wow! i was dreaming about something like that! Can you post some more info about it's inner working? i'm no engineer... :)

I'll see if i can get around to it. busy constructing my other hot ends to test it out.

but basics are : the drive shaft uses hobbed grooves like most, except it is about 2 inches long or so and has 3 grooves equally spaced. the idler arms press the filament into the grooves independant of one another. the arms are vey similar to others out there. instead of using springs or a lever to engage the filiament, there is a 3 lobe cam running along the back of them that can be rotated to select which idler is engaged. filament is selected by isuing a gcode command to the cam motor to rotate to the proper orientation to engage the correct cam.


now, if we'll use two materials (example - PLA and ABS) - we will need to consider the fact that each filament act differently (for example - 10mm of pla extrusion gives different amount of plastic then 10mm extrusion if ABS).

That can be manipulated in software though 8-)