Uploaded May 2017 | Updated September 2026, 2 weeks ago
In this video I walk through how to model a Fidget Spinner with OpenSCAD. Even though the Educational environment is current hostile to Fidget Spinners they should re-consider, there are a number of learning opportunities here. The opportunities cross multiple disciplines, coding, 3d Modelling and 3d Printing. It would also be very easy to use Spinners to teach some basic principles of Physics.
Sorry I am jumping on the band wagon here, but after thinking on it for awhile I realized the fidget spinner provided an excellent education example of programming in OpenSCAD.
I have included a time index for those who like to skip around:
00:44 add a cylinder() for bearing
01:38 add a cylinder() for center hub.
02:00 Cylinder for end of weighted arm
02:45 Use hull() to create basic arm shape
03:03 Use difference() to remove space for bearing
03:21 add a two cylinder() to remove some material of the arm
04:59 use scale() to adjust the shape of the two cylinder()
05:38 using $fn add a 6 sided cylinder() to remove space for weight
and a second cylinder to make the weight visible from below.
08:22 use module() to abstract this code and make it easier to re-use
add a for() loop, to add arms using the module() call
09:27 finish the for loop by adding a rotate.
09:58 re-cap the parts of the model
In this video I walk through how to model a Fidget Spinner with OpenSCAD. Even though the Educational environment is current hostile to Fidget Spinners they should re-consider, there are a number of learning opportunities here. The opportunities cross multiple disciplines, coding, 3d Modelling and 3d Printing. It would also be very easy to use Spinners to teach some basic principles of Physics.
Sorry I am jumping on the band wagon here, but after thinking on it for awhile I realized the fidget spinner provided an excellent education example of programming in OpenSCAD.
I have included a time index for those who like to skip around:
00:44 add a cylinder() for bearing
01:38 add a cylinder() for center hub.
02:00 Cylinder for end of weighted arm
02:45 Use hull() to create basic arm shape
03:03 Use difference() to remove space for bearing
03:21 add a two cylinder() to remove some material of the arm
04:59 use scale() to adjust the shape of the two cylinder()
05:38 using $fn add a 6 sided cylinder() to remove space for weight
and a second cylinder to make the weight visible from below.
08:22 use module() to abstract this code and make it easier to re-use
add a for() loop, to add arms using the module() call
09:27 finish the for loop by adding a rotate.
09:58 re-cap the parts of the model










