3D printer filament spool holder, fully-printable

by CWSpangler, published

3D printer filament spool holder, fully-printable by CWSpangler Mar 29, 2014


Use This Project

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

44384Views 9908Downloads Found in 3D Printer Accessories


(UPDATED 2014-10-31, details at the end of this section)
This spool holder design has a rectangular peripheral frame, supporting a filament spool's flanges on bearings or 3D-printed rollers. It is for use upright on a horizontal surface with a filament spool having intact rigid circular flanges. The design should not interfere with any filament which is below the height of the spool flanges, and if built using bearings it should have very low friction.
The spool holder is designed to use four inexpensive 608ZZ shielded skateboard bearings ($1-2 each in quantity 8 or more). 3D-printed pins are used to secure the bearings in the frame; they should be 3D-printed at precise sizes, as they are intended to be a light (hand) press fit into the 8.00mm bearing bores and the frame. A design for bearing-sized 3D-printed rollers is included as well, which should be a loose low-friction fit on the pins; although bearings are preferable, these rollers may be adequate, at an even lower cost. When rollers are used rather than bearings, they are most likely to work satisfactorily where the filament is pulled off the spool nearly straight up or generally down, rather than mostly sideways.
The designs are in OpenSCAD (SCAD files), and have a few feature switches, and are mostly parametric. To avoid binding, it is important that the spool flanges be a loose fit within the frame: 1-2mm of clearance in excess of the greatest width over the spool's flanges. Since the inexpensive 608ZZ bearings are only 7mm wide, each frame width is only suitable for a single width of spool. STL files are included for frames with two common widths, for 8" MakerBot spools (frame310, 3.10" inside frame width) and for 6" wiring-type spools (frame395, 3.95" inside frame width), but frames for spools of other widths or which are "virtually wider" due to warped flanges may easily be generated with OpenSCAD. Via parameters, the designs also could be customized for double bearings, or wider rollers, or to have the pin and bore diameters all in metric sizes (in case one has only metric drill bits).
UPDATE 2014-10-31
A new version of the openSCAD source file for the frame, "frameV2.scad", has been uploaded. This version has some additional functionality, selectable via additional flags in the source.
A few new ".stl" files have been uploaded; for other combinations of features or dimensions, one should expect to use openSCAD to generate customized ".stl" files for printing. Two new ".stl" files are intended to produce frames for use with MakerBot XL and XXL sized filament spools, and should be printable on MakerBot Replicator (dual) and Replicator 2-sized printers. Four other new (and more experimental) ".stl" files (with suffix "m" for Mini) are for various widths of 8" diameter filament spools, and are intended to be printable on 3D printers with small print beds, such as the MakerBot Mini. None of these frame sizes have been tested with rollers, and it is recommended that these only be built with bearings; this is due to the high spool weight of the XL and XXL spools, and due to the reduced bearing spacing to allow the small frames to be printed on 100mm printbeds.


(UPDATED 2014-10-31; details at the end of this section)
The pins should be 3D-printed two at a time, as provided in the SCAD and STL files. (Empirically, pins printed one at a time may have distortions from the plastic not cooling enough between layers and being dragged. When pins are printed four at a time, with a layer pattern A-B-C-D/D-C-B-A/A-B-C-D..., pins A and D come out with one diameter, and pins B and C with another. When pins are printed out two at a time, they seem to come out well and be the same size as each other, allowing a fairly precise and repeatable size to be achieved for a given combination of printer / filament / temperature / humidity / etc.)
First print out a pair of pins, and determine whether they have the correct diameters. Ideally the 8mm part of the pins should be a light (hand) press fit in the the 8.00mm bore of a 608ZZ bearing. If your pins are not this size, slightly adjust the parameters for the pin diameters in OpenSCAD, perhaps by .05mm, and try again. Pins are likely to print out with their cross-sections being slightly eliptical, rather than round; this is probably OK, as long as they fit the bearing bore.
Usable 608ZZ bearings should spin freely. If a bearing does not spin freely, it is possible that internal parts are dragging slightly on one or both of the shields. In that case, you could (by hand) press the bore sideways relative to the rest of the bearing, from both sides alternately, to see if it improves and becomes usable. Given the sometimes mixed reviews on the "$1" 608ZZ bearings, it may be worth purchasing a slightly better grade of bearing.
The holes in the frame should only need light reaming, by hand (unpowered) with sharp drill bits and/or hand reamers. When doing this reaming, keep the bores of the holes coaxial (in line), rather than having a bit/reamer at an angle. After this has been done, a pin should be able to be pressed by hand into the frame and through the bearing, and should not fall out. An STL file has been provided for a test piece of just one corner of a frame, if desired to validate or adjust the sizing of the holes in the frame before taking the time to print out a full frame. There is very little "sanity checking" of the parameters, so be careful when modifying them.
If rollers are used instead of bearings, their bores should be lightly reamed to remove any stray filament, which could cause substantial drag and resistance to rotating freely on the pins.
The photographed spool holders and components were printed in ABS and PLA on MakerBot Replicator (dual) and Replicator 2 printers at TechShop Mid-Peninsula (San Carlos) and TechShop San Jose.
MakerWare settings that have produced good results on those printers:
for pins: .10mm layers, 3 shells, 20% fill
for frames: .20mm layers, 2 shells, 20% fill; extended raft to minimize corners pulling up
for rollers: .20mm layers, 2 shells, 20% fill; raft for consistent bore sizing on a heated bed
Tools Required

  • 1/4" (=6.35mm) conventional drill bit (not a brad-point drill bit)
  • 5/16" (.3125") or 8mm (.3150") or letter-size "O" (.3160") conventional drill bit
  • 8mm hand reamer (optional but recommended, ~$5 from Amazon)
  • the tools should be sharp, and be careful to not cut yourself while "reaming"; holes should be "reamed" by hand power only, not with powered tools
  • fine flat file (optional, for rollers: to smooth the raft-sides of the rollers as needed)
    UPDATE 2014-10-31
    Pin diameters and frame widths may also be adjusted slightly by use of the scaling facility in MakerWare. Large adjustments would still need to be made in the source file and recompiled with openSCAD. Wider frames, especially the frame for 7" wide XXL spools, may require width adjustments to print in the correct size; with the spool flanges riding on bearings that are only 7mm wide, a fairly small percentage error in calibration could still be a problem.
    The XXL frame will need to be rotated in MakerWare (or other slicer) by 90 degrees around the Z axis to fit on moderate-sized print beds.

More from 3D Printer Accessories

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

my spools are pretty thin. 68mm outside measurement and 58mm inside measure ment. what frame would i use for that?

which bearing size?
15mm X 28mm X 7mm ?

from http://www.nmbtc.com/bearings/608-bearing/
"What Is a 608 bearing?
608 Bearing
The most common standardized ball bearing size is the 608 series. The 608 series is the original standard ball bearing. In the 608 series, the ball bearing typically consists of optional closures, inner race, outer race, balls, and ball retainer. It is characterized by an 8mm inner diameter (the bore of the ball bearings), a 22mm outer diameter, and a width of 7mm."

I like the corner rafts/brims to help reduce lifting, great work!

May 6, 2015 - Modified May 6, 2015

On mine the roll always gets upset when i manually and carefully pull the filament. will have to try other holders, i guess.
EDIT: user fault. seems to work :)

i tried to print four of bedtest two mirror object then realized it will too long man i wasted time and pla. i have printrbot simple which can't fit so thats why. any other spool? give me link or update on your work?

I've uploaded frame files for a few 8" filament spool widths, which I think should be printable on a MakerBot Mini, Printrbot Simple, Micro3D, or equivalent. It is important that the inside width of the frame be slightly larger (1-2mm) than the overall width of the filament spool, for the spool flanges to ride on the bearings while not binding in the frame.

Perfect! I have some skateboard bearings kicking around, Thanks!

The MakerBot 8" size will also work for the Printrbot spool (IWinches 3.10). For a Monoprice spool, I changed your IWinches setting in the SCAD file to 3.25. Thanks for a super customizable OpenSCAD file!
I'm waiting for my bearings to arrive to finalize it all works perfectly, but test fit seems good.