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.


8 thoughts on “Filament Winder – Intro

  1. does filastruder work with PLA as well? there have been some complications with the constant quality and dimensions of the cross section, did they already solve the problem? it sounds so cool to recycle all the failed prints, it might be the most sustainable manufacturing method especially if you print with PLA

  2. As I understand(IE I am speculating) the problem variability in PLA extrusion is because PLA retains more heat then ABS and so is compliment longer the ABS. Because of this added compliance the filament stretches under its own weight as the filament extruded. Since the system was not extruding at a constant rate the filament stretched more in some places then others causing variability in extrusion diameter. The filastruder team did note in the comments on the kickstarted that they reduced the variability by supporting the filament as it left the hot end. I do not have my filastruder yet but I bet adding a shelf following the hot end would allow the filament to cool without distorting.

    Again I am speculating I have not been able to test this yet!!

  3. I am interested in making one of these suckas…. Approx. how much will it cost (in parts) do you think. I just assembled my Filastruder and don’t like the filament laying on my dirty garage floor. I would aso like to be able to extrude PLA.

  4. Pingback: Another recap update | 3D Printing

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s