Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Printable Spool Roller

by CidVilas, published

Printable Spool Roller by CidVilas May 5, 2012
3 Share
Download All Files

Thing Apps Enabled

Open in Customizer 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

16023Views 2896Downloads Found in 3D Printer Accessories


Update<5-6-12>: Corrected some dimensions in the SCAD

Inspired by the many attempts to create a spool holder.

The STL file contains a printable spool holder for the Cheap Chinese Spools coming from RepRaper.com.

The OpenSCAD file allows you to enter in just a few details about your particular spool, and hardware. After that you simply compile and print. These types of spool holders are great, but require care. If you let the filament get too loose, it will tangle. So be sure to keep tension on that filament!

Prepared STLs:

  • PrintableSpoolHolder-MakerGear.STL
  • PrintableSpoolHolder-RepRaper.STL


If you are using the spools provided from RepRaper.com, then use the STL. Otherwise, make sure to download the OpenSCAD file and modify to suit.

I have not tested the script thoroughly, so there may be some mistakes in the mathematics.

NOTE: Yes, I do apologize to the parents out there for being subjected to such words as RepRaper. I do understand how this word may bring images of careless and misguided RepRaping behavior. I assure you that both Machine and Operator are both consenting participants.

4x M4 Bolt
4x M4 Nuts
8x M4 Washers
4x 624 Bearings (Sourced from dismantled Sells Mendel)

Build to suit! If you want to throw in Fender washers, simply modify the SCAD as necessary, reprint, and rebuild!


More from 3D Printer Accessories

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing 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

There seems to be a few problems with the hole sizes if the reel width and length aren't fairly similar, with the bearing mounts being undercut by the semicircles cut out of the top and bottom edge.  After fiddling with the length until the bearings looked like they were about where they should be vertically, changing this portion of the script:

for(i = [0 : 3])
rotate([0, 0, i * 90])
translate([holder_base_length / 2, 0, -holder_base_height / 2])
cylinder(r = holder_base_length / 3.5, h = holder_base_height + 0.05, center = true);

to this:

            for(i = [0 :1])

        rotate([0, 0, i * 180])

        translate([ holder_base_length / 2, 0, -holder_base_height / 2])    

        cylinder(r = holder_base_length / 3.5, h = holder_base_height + 0.05, center = true);


    for(i = [0 : 1])


        rotate([0, 0, i * 180 + 90])

        translate([holder_base_length / 2, 0, -holder_base_height / 2]) 

        cylinder(r = (spool_width - holder_wall*2 - bearing_thickness) / 2, h = holder_base_height + 0.05, center = true);


sorted out the issue reasonably well.  It was originally just cutting all 4 holes to be  based on the length without taking width into account.  The update takes the width, wall thickness, and bearing thickness into account and cuts the top and bottom circles to butt right up against the inner bearing walls.

I was just playing with the parameters yesterday... Just increase the holder_base_length and the bearing slots will form nicely. 150 will do the trick. There's another problem after that, though, the cutouts are of wrong size. You can replace lines 153 to 159 with:

    cylinder(r = holder_base_length / 6, h = holder_base_height + 0.05, center = true);     
    for(i = [0 : 3])
        rotate([0, 0, i * 90])
        translate([holder_base_length / 2, 0, -holder_base_height / 2]) 
        cylinder(r = holder_base_length / 3.5, h = holder_base_height + 0.05, center = true);

Then you get this:

When scaling for a standard makerbot spool (75mm width) some nasty overhang is generated because the circles at the top and bottom go under the raised portion. I guess I'm going to have to try editing my first OpenSCAD.

I bought some hardware store bearings, which are big, but they're here. I entered my parameters but the result looks quite wrong =-O

spool_wall = 5;
spool_width = 90 - spool_wall;
spool_diameter = 162.5;
hole_diameter = 32;

bearing_diameter = 38.2; //Bearing + Fender = 13 + 6 = 19
bearing_thickness = 12.6; //Bearing + 2xWasher = 5 + (2) = 7
bolt_diameter = 9.3;

holder_wall = 8;
holder_base_height = 8;
holder_base_width =
spool_width + holder_wall;
holder_base_length = 100;

Also, the comment for bearing_diameter says "Bearing + Fender", but surely those diameters shouldn't be added together - one should use the larger of the two, right?

This is perfect, thank you! I've been looking at so many different spool-holding schemes and this seems to be the most elegant.

What is the difference between the two SCAD files posted? They have the same name and approximate date...

Hi Mr CidVilas

We sell thoses spools at http://www.voxelfactory.comwww.voxelfactory.com in Canada. I add a link to your spool roller to every filament pages :-)

Thanks for this funky spool roller!

Is it save to assume that these are only for the 5lb spools (namely from makergear...) I have a 1kg spool I've got rigged up right now that I'd love to put on a better spooler ;)

The spool from RepRapers is a 1 kg spool. Every spool is different whether taller or wider, and therefore you should download the SCAD and modify to suit your needs. Although, i have included an STL for the 1.5 lbs spools used with 1.75mm filament from MakerGear.

um i don't see 1.5 lbs spools on makergear's website...

Well, im looking at one now. ;) It may be sold with a different spec on the website.

huh, well I guess they don't carry it anymore ;)

this is a freshing alternative to the other spooling methods. kudos. simple.

I just got a batch f filament from http://RepRaper.comRepRaper.com. Took me a minute o figure their PLA out.

It takes some high temps to get the first layer to stick to hot glass (220C). But after that,it works great. It seems to have a higher "glass point" than Faberdashery filament.

CON: First Layer adhesion is tough,

PRO: Razor sharp prints due to minimal time before printed PLA turns rock hard

Thanks for that tip! I had not figured out how to get it to stick well yet. I thought maybe my Z height was off, but this makes more sense. Ill have to test higher temps out later.