Wire Spool Holder With Straightener

A 3D-printed holder for a spool of wire, with an integrated mechanism to straighten wires as they are pulled off the spool

Similar projects worth following
Motivated by the Hackaday circuit sculpture contest, I had the ambition to create circuit sculptures. Not just one or two, I wanted to be proficient enough to make it part of my repertoire of fabrication skills. And as the old adage says: "Practice makes Perfect."

If I want to create lots of practice sculptures, I need a source of wire for these practice projects. Buying straight metal rods from the local hobby shop will get expensive quickly. Buying a spool of wire is a lot cheaper, but they are not straight.

Hence the motivation for this project: a holder for a spool of wire that can straighten the wire as it comes off the spool.

This tool was built to support my circuit sculpture projects like the KISS Tindie Blinkies band (link to project)

Spool Holder With Two Stage Straighener.stl

Spool holder with integrated two-stage straightener.

Standard Tesselated Geometry - 1.06 MB - 01/29/2019 at 23:26


Single Stage Straightener.stl

Simple single-stage straightener that can be left on the wire of a separate spool holder.

Standard Tesselated Geometry - 158.97 kB - 01/29/2019 at 23:25


  • Featured on Maker Update

    Roger02/06/2019 at 07:32 0 comments

    My little project got a mention in this YouTube video (Around 4 minute mark):

  • Give The People What They Want: Wire Straightener Now On Thingiverse

    Roger01/29/2019 at 23:25 0 comments

    My wire straightener project was focused on simplicity and reliability. There are no mechanical adjustments for different gauge wires or to correct for a 3D printer's dimensional accuracy (or lack thereof.) Every adjustment had to be made in CAD by changing the relevant dimensions and printing a test unit. This requires more work up front, but once all the dimensions are dialed in, the single piece tool will never fall apart and will never need readjustment.

    It also means the raw STL files generated by Onshape for my printer would probably not work properly for anyone else. For starters, it was tailored for my specific spool of 18 gauge copper wire. According to Google, 18 gauge translates to a diameter of 1.02mm. My calipers say my spool is 1.00 +/- 0.01 mm, slightly smaller than specified. It is then processed into G-Code by Simplify3D, my printing slicer. And finally that G-Code is translated into plastic by my printer, with all its individual quirks.

    So while I was happy to share my Onshape CAD file, I resisted sharing the STL because it almost certainly would not work correctly and I don't want people to have a bad experience with my design. But people ask for it anyway, over and over.

    I have since changed my mind on the topic of posting the STL. I will post the STL, but never by itself. I will also post information describing why the STL is probably not going to work, link to Onshape CAD, and what people need to do to make their own. I foresee the following possibilities:

    1. People who don't read the instructions will print the file as-is:
      • If it works for them - great!
      • If it doesn't:
        • Abandon with "This design is stupid and it sucks." - Well, let's face it, I was not going to reach this audience anyway.
        • "Maybe I should go back and read the instructions."
    2. People who read the instructions:
      • Successfully fine-tune parameters to successfully make their own straightener - great!
      • Tried to follow directions, but encountered problems and need help - I'm happy to help.

    Unless I've failed to consider something horrible, these possibilities have more upsides than downsides, so let's try it. I'm going to share the STL files on this project page, and I've created a Thingiverse page for it as well.

    (Cross-posted to

  • Evolution of a Spool Holder

    Roger01/28/2019 at 03:11 0 comments

    Now that I’m warmed up to make circuit sculptures, it’s time for more practice. And for that practice, I’ll need wire and lots of it. Most of the projects I’ve seen are built from straight rods of brass that I could procure from the local hobby shop. However, I personally prefer the color of copper (though it will suffer from oxidation) and I can get copper wire fairly inexpensively in a large spool. But of course, that wire would need straightening.

    Thus the next project: A holder for a spool of wire that includes a straightener. For reference on straightener, I looked at CNC wire bending machines of both the DIY variety and an industrial offering, both of which featured similar wire straightening mechanisms. Then I tried to replicate my own using my stock of cheap 608 bearings and metal 8mm shafts left from my Sawppy rover project.

    Version 1 was a very simple base that laid out the five shafts in the arrangement I wanted. I neglected to consider wire behavior so they ended up getting caught under the bearing.

    Wire straightener 1Version 2 addressed that issue by raising its working surface so wire would not get under bearings. However, a 3D printer has problem holding precise tolerances and so shaft holes had to be drilled out before the shafts would fit. This changed position enough that final bearing spacing didn’t work well.

    Wire straightener 2

    Version 3 attempted to eliminate variability of shaft position by eliminating the shafts entirely – have bearings sit on 3D-printed posts. Unfortunately position errors were even worse!

    Wire straightener 3After stopping and thinking about the problem, I thought perhaps I’m over-complicating the device. As an introduction, I’m only dealing with 18 AWG wire. This is fairly easy to bend so perhaps I don’t even need bearings – simple shapes might be enough. Hence version 4 replicated the round (but not rolling) surfaces in a wave

    Wire straightener 4

    Version 5 tried to improve by having a second stage with different spacing. This is an improvement. A mild one, but an improvement nonetheless.

    Wire straightener 5

    Version 6 integrated version 5 into a spool holder.

    Wire straightener 6

    Since I’m not using bearings, friction is quite high. It would not be acceptable if I were trying to build a CNC wire bending machine (a potential future project) but for manual use it’ll do for now. Using a pair of pliers, I can grab and pull on the end to give me wire straight enough for the next few projects.

    Onshape CAD file is publicly available here. Adjust dimensions to fit your 3D printer’s characteristics, then export to STL for printing.

    UPDATE: Onshape has a free subscription tier for makers, even though it isn’t as prominently advertised as it used to be.

    (Cross-posted to

View all 3 project logs

Enjoy this project?



cutonem wrote 01/01/2023 at 21:10 point

Thank you for sharing your project.  I am currently trying to modify the OnShape design to suite my needs (i.e., 20 gauge craft wire).  Based on your logs above, where can I find the detailed instructions to fine tune the straightener to my application?  Thank you again!

  Are you sure? yes | no

Roger wrote 01/02/2023 at 02:11 point

You have to log into Onshape (create a free account if necessary) and make a copy of my CAD file. You can then edit your copy. Open a tab showing the design you want. Look along the left side for a sketch called "Guide" or similar. Edit that sketch by adjusting the radius corresponding to wire dimension. Once you save that sketch, the shape should regenerate for your new wire radius.

  Are you sure? yes | no

cutonem wrote 01/02/2023 at 02:23 point

Thank you for your quick reply! Besides the radius, do I have to adjust the "throat" width in the top view (currently set at 0.9 mm)?  The OD of the wire I am using is 0.75mm.

  Are you sure? yes | no

Keith Olson wrote 07/08/2019 at 22:20 point

OpenSCAD would be a perfect match for a project like this, as if you make the variable assignments in a form that Customizer can recognize, you can upload it to Thingiverse as a customizable version that will allow users to then enter their wire's diameter and download an STL that will fit that wire perfectly.

  Are you sure? yes | no

ekaggrat singh kalsi wrote 04/08/2019 at 01:28 point

a really brilliant project i have seen in a while!

  Are you sure? yes | no

matseng wrote 02/06/2019 at 09:29 point

I have to print this and see if it also works with the 1mm soft annealed steel wire I'm using for my freeform projects.  Currently I use the old and proven twist-the-wire-with-a-drill method, but it this seems like a better/easier/faster method if the results are as good as with the twisting.

  Are you sure? yes | no

Roger wrote 02/07/2019 at 23:51 point

Different materials are going to respond differently, so if you'll be trying this idea on 1mm steel wire I'd be very curious to hear about the results.

  Are you sure? yes | no

Crazor wrote 01/29/2019 at 18:34 point

Any chance you could upload this to thingiverse?

  Are you sure? yes | no

Roger wrote 01/29/2019 at 23:29 point

People ask, I listen. See links section for Thingiverse page.

  Are you sure? yes | no

Lee Wilkins wrote 01/29/2019 at 16:53 point

This is handy!

  Are you sure? yes | no

Alexander wrote 01/29/2019 at 16:34 point

So neat! I love being able to see the iterations of the design. I would love to build one for jacketed solid-core wire, I wonder if a similar design would work...

  Are you sure? yes | no

Mike Szczys wrote 01/28/2019 at 18:07 point

A brilliant leap to go from the bearings (which I've seen numerous times on How It's Made) to the squiggle patter which. I can't remember seeing a passive design to solve this problem... well done Roger!

  Are you sure? yes | no

Dan Maloney wrote 01/28/2019 at 15:58 point

That's a clever design. I like how you kept reducing it to just the basics.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates