This fidget toy is the result of experimenting with button designs for a future puzzle. After printing several tests, I realized that people might enj...oy the button as a fidget toy.
This is a 2-state click button with an internal mechanism similar to that of a retractable pen. This can be used with or without a long M3 bolt to transfer the click action into a secondary linear or rotary motion. Use the case with holes to see the cam pop in and out of view each click.
A spring that is about 15mm long and 5mm in diameter. The design can use larger and smaller springs, but this size worked best for me.
...Spring harvested from a standard click pen are a little longer than needed, but should work. If the click mechanism feels too stiff, shorten the spring with wire cutters.
I had a little success creating a spring out of PLA filament softened in hot water. This would probably work if you're willing to test different coil sizes, but metal springs will still be best.
Optional
A long M3 bolt to transfer the click action out of the device for some secondary purpose - or just to demonstrate the change in distance caused by the click.
Printing
All parts can be printed without supports.
The cam includes a thin 1 layer bridge over the bolt hole. If you intend to use a bolt, puncture that bridge with the bolt.
If the button is sticking, try this printing tip by kmk1018 - Print the cap and button at a 0.16mm layer height, and the cam at 0.2mm. This guarantees that the sliding surfaces have slightly offset "steps" and are less likely to catch. Details are available here: https://www.thingiverse.com/thing:4879008/comments#comment-5485270.