Try it quick with the “LITE” version - no additional parts needed: if you do not have the suitable bearing as described below (used for extra weight and precision), the “LITE” version will print as a fully-functional top without the need for any additional components.
With the bearing, though, it performs much better:
This a remix/recreation of the “Ultimate Mini Spinning Top” by @Lorro. His clever design uses the components of a deconstructed skate-wheel ball bearing in the “608” size (8x22x7 mm). He repurposed one of the balls as a hard, precision tip for the top, and the outer race as a means to put a significant mass out at the edges of the spinning disc (where it is most effective as storage of angular momentum).
After successfully printing this great design using the 608 size bearing, I realized I also had some larger bearings in the “6903” size (17x30x7 mm) on-hand, and wanted to try a larger equivalent design for a heftier spin, with more mass even further from the center.
I refer you to Lorro's original design for his very clear instructions on preparation, printing, and assembly. Here, I similarly include a variety of pre-configured files for various inner-race fitment diameters (26.0 to 27.0 mm), as well as a Fusion360 file with two “User Parameters” to vary, called “innerdia” and "outerdia".
For reference, I needed 26.6 mm inner diameter for a good fit – your mileage may vary.
I recommend slicing with ~4 perimeters and low infill (10%) to keep the majority of the mass distributed outward.
Want to make some more fun spinning-top stuff? You may also be interested in my 3D-printable concave spinning dish, wherein I try to cleverly avoid creating layer lines inside the shallow curvature.
---
Bonus tip: if you need help disassembling the ball bearing, this YouTube video is a great demonstration at larger scale. Essentially:
The author remixed this model.
Redrawn for compatibility with a larger bearing (6903-2RS, 17x30x7mm) compared with Lorro's bearing choice (608-2RS, 8x22x7mm).