Introduction: The Fractal Spinner

About: DIY FTW! I love 3D printing, arduino, and anything you can make yourself.

Fractals are everywhere - trees, lightning, network technology, snow flakes, and even pineapples! Why not add fidget spinners to that list?

The Fractal Spinner uses specialized software to develop the complex geometric patterns required. Of course, the Fractal Spinner does not involve true fractals since the 3D printer is incapable of printing infinitely small designs, but we'll certainly get as close as we can.

To make the Fractal Spinner, we're going to need a 3D Printer and some software:

Structure Synth

Autodesk Meshmixer

Autodesk Fusion 360

Repetier Host, Cura, etc. for slicing and printing

Let's Begin!

Step 1: Designing the Fractal

Structure Synth uses a coding language known as "EisenScript" to carry out processes. A full library of EisenScript can be found here.

My personal code is as follows:

set maxdepth 25

rule R1 {

{ x 3 rx 10 ry 10 rz 10 s 0.95 } R1

{ s 10} box


Essentially what this code does is construct a cube (box) of size 10 units^3. For each iteration, the cube is moved on the x axis by 3 units, rotated on every axis by 10 degrees, and reduced in size by a factor of .95. Set the number of iterations using "set maxdepth 25."

We'd have a real fractal if we used infinite, rather than 25 iterations, but for printing purposes 25 is okay (and, of course, the program could never process infinity). Feel free to mess around with the code and experiment with the software.

When you're done, export the model as an obj file.

Step 2: Fixing in Autodesk Meshmixer

As of this moment, the fractal design is not ready for modeling. To prepare it, we have to fix it up in Meshmixer.

Import the obj file into Meshmixer and place the model upright using the Edit - Transform tool.

Then, use the Edit - Make Solid tool to solidify the model. If the model is too complex, you may have to reduce the accuracy and density so the program does not crash.

When done, export the model as another obj file.

Step 3: Modeling the Spinner

Now for the actual spinner!

To begin, we need the diameter and height of the ball bearing. My particular bearing is slightly under 22 mm in diameter and 6.2 mm tall.

Open up Fusion 360 and sketch 2 circles - one slightly larger than the bearing diameter (to account for printer inaccuracy) and one several mm larger than the first. I used 22 mm and 28 mm.

Upload the fractal obj file using Insert - Insert Mesh. To convert the mesh into a body, select "Do Not Capture Design History" in the menu at the bottom right corner. Then, right click on the fractal and and select "Mesh to BRep."

Extrude the area between the two circles to the bearing height by pressing "E." Transform, rotate, and use non-uniform scale to accurately place the fractal on the side of the extruded area. Congratulations! You now have one arm of a fidget spinner.

To finish, copy and paste the fractal twice, rotating each copy 120 degrees and placing them on the other sides of the ring. Merge all bodies using the Modify-Combine tool, then select "3D Print" to export the model as an stl file.

Step 4: Printing

The fun part...

Upload the stl file into your preferred printing software. I use Repetier Host and slice with Cura. When I uploaded my model, I had to rotate it by 90 degrees on the x-axis to lay flat.

My Settings/Specifications:

Printer: Printrbot Simple Metal

Filament: Hatchbox 1.75 mm PLA

Resolution: .2 mm

Infill: 20%

Support: YES, Everywhere

It took roughly an hour to print.

Step 5: Cleaning and Finishing

When the model is done printing, there will be quite a lot of support to remove on the bottom. I personally used pliers and sandpaper to do so, but depending on how your print turns out the support may be easy to remove.

The bearing should snap right into place (use glue if the bearing is too loose), and the spinner will spin freely! If you have any questions, feel free to leave a comment.

Enjoy your Fractal Spinner!