How to use the CNC Router to fabricate a simple spinner body.
Back to Shalvey home
Design of variations to the Fidget spinner is done using INVENTOR software. Autocad can also be used.
The bearings are standard skateboard bearings: OD=22mm, ID=8mm and thickness=7mm.
After some experimentation, it was found that the 3mm diam cutter produces a good fit to the bearing when the tool path is set up to a diameter of 21.85mm (with 1.5mm tool offset). In 5mm Polycarbonate, this produces a press-fit that can just be done by hand (i.e. finger tight).
Sample for testing bearing fit. A simple ring was machined to test the fit of the bearing. Diameter 21.85 worked perfectly.
The 4mm rim width seems like a good thickness around the bearing (not too weak or flexible)
Here is a general layout using recommended dimensions.
Now add the toolpath.
This tool is 3mm diameter, so we offset the outline by 1.5mm. (Yellow)
The toolpath is changed to a different layer, which makes it easy to focus only on the toolpath during the CNC programming stage.
CNC Routed Part
A standard 3-bearing design (Well - 4 bearings altogether) drawn up in AutoCad.
(The 3 outer bearings are on 26mm radius and has a 4mm thick wall around each bearing)
For CNC cutting, this design was offset by 3mm for a 6mm cutter (yellow lines).
Download the Autocad file: fidget-3-bearing.dwg
Then this file was saved as a dxf file, for import into CNC generator program (DXF2GCODE)
Download the DXF file: fidget-3-bearing.dxf
(Only the yellow layer is included in the code, Layer "0" is the drawing itself and has been disabled in the menu below - so these lines appear dotted in the image and are not included in the G-code).
Which outputs the code... (abbreviated)
Download the GCODE file: fidget-3-bearing.ngc
(This file is set up for MACH3 CNC controller)
Things to Note:
There are a number of little tricks to run DXF2GCODE correctly here. Firstly, we run the program in INCREMENTAL mode which makes it easier to place the parts at random positions on the polycarbonate plate.
To set incremental mode, go to the DXF2GCODE file structure > postpro_config > open "postpro_config.cfg" using Notepad.
Change the following setting:
# Used to switch between absolute (G90) and relative/incremental coordinates (G91).
abs_export = True
Change this line to...
abs_export = False
The code is also set up to run 2 cuts, the first at z=-3mm and the second at z=-5mm.
Using incremental, we start at z=1, go down by z=-4, then by z=-2, then up by z=+6. This is repeated for each entity.
Since the code is set up to start at z=+5, move the tool to z=+5 before running the code and no changes will be necessary.
There is a limit to the diameter, otherwise the part will not fit within the average hand.
There is no minimum, but the is a maximum!
Little 3-bearing fidget = 80mm
Typical maximum diameter = 90mm
Absolute maximum diameter = 95mm (but try to avoid this - stay within 90mm)
Polycarbonate Sheet: (2400 x 1200 x 55mm) $150
Size of each item (100mm x 100mm)
Quantity of parts per sheet: (2400 x 1200)/(100 x 100) = 288 parts
Material cost per part = $150/288 = $0.52 each
Machine cutting time: 3 minutes
Machine running cost: $5 per hour
Machining time cost: $5/20 = $0.25 each
Cost of cutting tool: $20
Number of parts per tool: 200
Tool Cost per part: $20/200 = $0.10 each
Total of material expenses: $0.52 + $0.25 + $0.10 = $0.87
(Note: This does not include labour costs - designing, postprocessing and running the CNC machine)
A spinner sample cut out on the CNC router.
(Time to machine: 1 minute)
This is 3mm black acrylic
Thicker material (8mm clear Polycarbonate)
Holes are drilled first while the board is held in place.
Completing the outer cut in 8mm PC (Hold-down screws are not shown in this photo).
Feedrate: 700 mm/minute
Cut depth: 4.5mm (two cuts)
Material cost approx $1
Spinner with bearings inserted.
Some experimentation was needed to ensure a good fit with the bearings (which was a bit tricky since these cheap and rusty bearings from an old skateboard were not the best ones to test the fit).
Hole size was reduced by 0.1mm (CAD diam 21.90 mm). This is rather high, so we expect there might be an issue. (Check cutter diameter, cutter concentricity, mounting rigidity, chatter etc. Perhaps test at various RPM and feedrates to be more certain about the degree of fit)
The clear body is nice. A light de-burring on the edge with sandpaper was the only finishing.
OK, we can manufacture fidget spinner bodies easy enough.
Now we are ready for some fresh ideas!
Student's CNC'ed parts
Aotearua. This turned out to be a bit too large in the hand. Need to pull those bearings closer together.
Bayley. Nice adventurous design. The saw tips were a bit sharp (needs a radius). Try to reduce diameter a bit more.
Dante. Tips seemed to be on the sharpness limit at R0.2mm. Elegant design.
Eyring. A bit large, need to tighten up the spacing.
Hayden. Reliable work with a new twist on a 5-bearing fidget.
Orren. Standard 5-bearing design, neatly done.
Simon. Standard 5-bearing design, neat.
Bayley. More nice work from Bayley.
Jaedyn. nice work from Jaedyn, a bit large but nice idea.
Ricky. Neat and clean work from Ricky.
Simon. More from Simon. Clean design.
Ricky. Another neat design from Ricky.