Winder – Starting the Loop

Filament is very finicky and a bit difficult to manage.  The way it is looping down from the extruder and back up to the winder looks like a drooping length of string, but it doesn’t act that way.  It is flexible for the first couple of inches while it is hot, and then sets into a shape which may be a straight length or a bend, depending on what it was doing when it cooled.  Then it runs along a path like string, but being semi-rigid it also supports itself along the way.

For the filament to feed consistently, it needs to maintain the same shape as much as possible by keeping the same orientation as it hardens.  If the shape of the bend changes near the extruder, then that bend will push the filament around when it gets to the puller, creating another change in the bend at the extruder which pushes the filament when it in turn reaches the puller in a never ending cycle.  You can see it in action in this timelapse-

The key here is that the filament pushed back behind the nozzle opening, creating a tighter bend in one spot.  When that bend got near the puller it pushed the filament behind the nozzle again.  No amount of tweaking on the speed could compensate for that.  It only ran about an hour, and then developed a kink that was not going to make it through the puller, so I stopped it.

I also took the fan off halfway through.  With the fan, any extra movement of the filament near the nozzle gets quickly hardened into a permanent bend.  If it stays soft longer, there is a chance for it to straighten out again before hardening.  Cooling would be beneficial if it could freeze the filament right as it exits the nozzle, before it has a chance to move around much,.

Here is another attempt at the loop, but this time I moved the extruder or winder back and forth to make sure the filament kept the same angle coming out of the nozzle no matter how it was pushed around.  Eventually the inconsistencies created while guiding it to the puller worked themselves out and it ran steadily for 3 hours until it was time to stop it for the night.


Filament Winder – Puller


The puller controls the speed of the filament coming into the winder, and isolates the tension created by the spool from the extruder.  It’s run by a 37mm 15 rpm gearmotor, mounted by 2 M3x12mm screws.

Print the puller mount, and drill the holes so that they are the correct final dimensions.  Use a 3mm bit for the two holes at the top edge, and the holes for the motor, which are a little above center.  On the back drill the top two holes a short way in with a 6mm bit and push some M3 nuts in.

IMG_4522Mount the motor with M3 screws so that the edge of the motor sticks up above the mount, to allow room underneath for the bolt that holds the mount to the board.


Print the two extruder pieces, and clean out the support and trim any wayward threads from the bearing holder.  The 625 bearing should snap in and spin freely.  Use a short M5 bolt to hold it in place, but don’t use a nut.  Take care that the bolt does not extend from the back, or it will cause the holder to twist away from the mount.

IMG_4520Screw the base part of the extruder on to the mount with a M3 18mm bolt.  Ideally the head of the bolt will hold the part snug against mount without sticking out the back where it will get in the way of the motor.  Use some washers on the front if the bolt is too long.  Attach the bearing holder with a bolt long enough to go through both pieces and the mount.  Cut a section of spring about 10mm and wrangle it into the recess on the base part of the extruder.  Tweezers might help here.

IMG_4524Print the two halves of the tension wheel and glue them together.  Push a 608 bearing in through one side as far as it goes.  Put a M8 bolt through the larger hole of the tension arm, add a nut, and slide the wheel up against the nut.  Tighten another nut against the other side of the bearing in the wheel.

The potentiometer has a little tab that sticks out to keep it from spinning in its mount.  You will need to drill a small hole in the mount next to the hole for the shaft to accomodate this little tab.  Put the shaft a little ways through the first hole and slide on the nut that came with the potentiometer before pushing it the rest of the way through the second hole.  Use some tweezers or skinny pliers to screw the nut onto the threads on the potentiometer shaft.  It’s tricky, but you should be able to get it in a minute or so.

Turn the pot back and forth until you have it near the middle of its range of motion, and press the arm onto it.  Position the mount alongside the wide part of the motor with the wheel lined up with the upper filament guide hole and screw it down to the board.

IMG_4518Use some tiny screws to attach a spring that is 1.5″-2″ long to the arm and the side of the mount.  It should take only a little bit of force to hold the arm upright against the pull of the spring.



Filament Winder – Spool Mount

Spool Front

The spool mount is made to be easy to take spools off when done and replace them quickly.  The spool itself has printed ends which fit into a 6″ length of 2″ Shcedule 40 PVC pipe. It’s easy to make as many as you need at home, and they are made to fit smoothly onto a 3/4″ PVC pipe.

Spool EndStart by cutting two pieces of 1/2″ MDF to 16″x8″ and glue/screw them together at right angles.  Drill an 8mm hole about 7″ from the base, and 1″ in from the left side for the threaded rod..  Use a spade bit to drill another hole 3/4″ wide about 1″ down from the top and 2.5″ in from the left edge for the motor arm.  Cut a section of threaded rod about 9″-12″ and put it through the hole with a nut and washer on each side of the board.  Slide the spool stop against the nut on the front of the board.

The spool stop looks like a cylinder with a hole in it, but it is actually shaped like a small spool.  There is a single thread wall (.42mm wide) around the edge to act as support, which should be cut away.  This will be used later on along with a screw to keep the mount from sliding off when you remove a spool.

The Class 200 3/4 PVC pipe has an ID that is slightly larger than a 608 bearing.  If you wrap about 2-3 layers of electrical tape around the outside of the bearings it will make a snug fit.  Place two bearings on the rod far enough to provide good support for the spool, with a printed washer and nut on each side of each bearing.  The nut of the inner bearing should also hold the spool stop in place.  The washers will let you tighten the nuts against the bearings without restricting their motion.   You can save time threading the nuts on by using a drill to spin the rod.

IMG_4500 IMG_4502 IMG_4501

The mount for the hall effect sensors is also pictured, but that will be added in later when the electronics are done.

Cut a section of pipe long enough to reach the end of the spool and slide it on over the bearings, up to the end of the spool stop.  Slide the spool gear onto the pipe with the flange pointed toward the back board, flush with the end of the pipe.  With a 3mm bit, drill through hole in the flange, through the pipe.  Put a M3 16mm screw through the hole.  This screw will bump against the insides of the spool stop and keep the pipe from sliding off when you remove a spool.

IMG_4503 IMG_4504There are four small holes in the gear.  Drill them out to 4mm and put 3 M4 18mm bolts through them, with nuts on the other side.  The bolts will slide into matching holes on the spool to lock it in place, and the nuts keep the spool back far enough that it doesn’t drag against the motor gear.



Print Lyman’s gear motor arm and washer and mount them in the 3/4″ hole.  Use M3 screws to attach the gear motor and slip the small spool gear onto the motor shaft.  If it is too tight, drill it out with a 6mm bit.  If the motor arm was a tight fit into the hole, you are done with this part.  If it is a little loose, you will need to hook a small spring to it, with the other end screwed into the back board.  If the gears are not held tightly together, the motor will be pushed away whenever the filament gets a little hard to pull.    If you want the spool to spin freely, simply lift the motor up.

There’s more to come, as I can get it written.


Filament Winder – Intro


I’ve been working a few months with the beta of the Filastruder, which will start shipping kits soon from it’s Kickstarter campaign.  I was never very happy with letting the filament extrude onto my (often dirty) garage floor, so I have been working on a winder for the filament.  It has been tricky because filament doesn’t act like string, it is stiff and tries to maintain a shape that may be curved or straight.  There are a few other challenges that need to be addressed by a winder-

A winder needs to sync with the speed of the extruder, which is a bit variable.    If it is a little too fast or a little too slow, over several hours it will outrun the extruder, or let the filament pile up and get backed against the extruder making what looks like plastic ramen noodles.  Also there needs to be some tension on the feed to the spool to force the plastic to coil against it.  The amount of tension depends on how fast the spool is turning, but the speed it has to turn to maintain a given amount of tension will change as it fills up.  Lastly the filament needs to be guided back and forth across the spool so it lays down evenly rather than bunching up in the middle.

Originally I tried pulling the plastic directly from the extruder like the industrial machines do, stretching the filament down to the desired diameter which is determined by the speed of the pull.  I wasn’t able to get close enough tolerances doing this because the speed of extrusion isn’t constant.  When the filament can drop freely, variations in pressure inside the extruder cause the filament to come out faster or slower without really affecting the diameter.  When filament is being pulled out at a fixed speed, variations in extrusion will change the diameter instead.

What I have done is let the filament drop into a loop and then get pulled up again into the winder.  This way any pulling by the winder will act on the loop and not the filament at the nozzle.  There are two photo sensors at the bottom of the loop with a line laser shining on them.  When the winder pulls too fast, the loop will rise and shade the upper sensor which slows down the motor.  When the loop drops low enough to shade the bottom sensor the motor speeds up again.  The bottom of the loop then slowly rises and falls within about .25″ which maintains a steady enough pull on the plastic coming out of the extruder.

The winder has a puller which syncs the takeup with the extrusion and isolates any other handling of the filament from the extruder.   There is a mechanism to regulate the tension on the spool, and a guide arm waved back and forth by a servo.  The whole thing is powered by an Arduino Uno.

It is still a work in progress, but close to being finished.  I wanted to start documenting it so others can begin to play along, and maybe begin getting parts together.  There a lot of printed parts, which you can find at Thingiverse.  I don’t have a detailed BOM down to the size and number of screws, but I will list enough to get going.  I haven’t decided if I will set up sales of a kit somehow, but at the very least I would like to get custom PCB’s made.  This is set up on a breadboard at the moment which works, but is a bit clunky.  There will be a mix of metric and imperial which I apologize for.  I like to use metric whenever possible, but some things in the US are imperial only.

In addition to printed parts you will need-

  • 2 pieces of MDF 8″x16″
  • 2 37mm gear motors 15 rpm.  Ebay, probably from China.  Order now and start printing while you wait for the boat to come in.  These are for the spooler and puller.
  • HiTech standard servo – Amazon or the local RC hobby store for the filament guide.
  • 625zz bearing for the puller idler
  • 3 608 bearings for the spool mount and tension roller.  Get a pack of 10, it’s always good to have extras around.  I’m working on a spring loaded caliper to measure the filament which will use 2 more of them.
  • A short spring for the puller idler
  • 1/2″ OD latex tubing from for the motor shaft on the puller. Some easier to get rubber tubing may work, but latex is soft and has a good grip
  • M8 threaded rod for the spool mount
  • 3/4″ Class 200 PVC pipe for the spool mount (thinner than schedule 40)
  • 2″ schedule 40 PVC pipe for the printable spool
  • Arduino Uno rev3
  • Half size breadboard
  • 12v power supply.  I found a pile of them at the thrift store.
  • Solid wire for breadboard jumpers
  • Stranded wire for hooking up hardware
  • 2 photo resistors
  • 4 10k resistors
  • 2 MOSFETs for the motors
  • 2 1N4001 diodes for the motors
  • Some Molex single row wire housings like these – a handful of 2, 3, and 4 wire versions.
  • Crimps to go with the housings like these from Mouser
  • Straight PCB headers, 30 or so
  • A small spring, about 1.5″-2″.  The kind with loops on the ends, meant to stretch.
  • Various M8 nuts and washers
  • Short wood screws
  • M3 nuts and bolts ranging from 12mm-20mm
  • 2 10k potentiometers, 16mm diameter with a long shaft
  • 2 hall sensors for detecting spool rotations.  Mouser has them for less than $1
  • Cylindrical neodymium magnets, 1/4″ to go with the hall sensors.  Amazon has a pack of 20 for $10.  You only need 2, but they are useful to have around.
  • A coupe of microswitches with levers, similar to endstops on a printer.  Adafruit has some, you can probably track down an equivalent at Mouser.


Next I will start with the spool mount.