June 2024 Update: Added a 0.3mm tolerance version as some people were having trouble with breaking it free. Use the 0.15mm 3mf print profile and replace in the 0.3mm STL version if you're trying to do multicolor.
Currently trying to grow my Youtube.
Subscribing would mean a lot!
https://www.youtube.com/@cheezylabs
My take on a simple print-in-place fidget keychain.
Features a gear wheel that rests against a spring mechanism.

My initial v1 design was just a straight arm on a hinge, but after about a few hundred back and forth spins, the hinge would fatigue and break. For v2, I put a rounded hinge that would spread out the bending moments throughout the curve. So far, it's yet to break after fidgeting all day.
Tolerances are pretty tight at 0.15mm, so I have a 0.20mm version uploaded as well.
Print with no supports, at least 3 walls. Orient with the open side facing down so that the gear is touching the bed on the first layer.
Tested and printed on a Bambu X1C with PLA and PETG, although I think PETG would last a bit longer. PLA has a louder click than PETG.
If you aren't using default Bambu profiles, make sure your bridging settings are dialed in. Depending how good your bridging is, the print may require an initial “breaking free” when finished but shouldn't take much force at all.
If you want to print using multiextrusion, break the file apart in the slicer and assign the colors accordingly or check out the .3mf file (if using BambuStudio)
For the key rings, I got them on Amazon here.
If you have questions/comments please be sure to let me know!
Check out my very own filament on Amazon.
If you'd like to support me further or for commercial licensing, check out my Patreon.
The author marked this model as their own original creation.