Set up a rod and torus, make the rod passive rigid body, make the torus active.
The rod and torus I used for this example were
rod: default cylinder with -90 x rot and 12 Y length, history deleted and transforms frozen.
torus: -90 rot, twist 45 degrees, subD AXIS 60, Height 4 scaled to be just over the rod (in this case, something like 1.637), history deleted, transforms frozen.
Make the rod passive rigid body, make the torus active.
Parent your object to the torus (or, group your object and parent constrain the group to the torus if you want to do other fancy things).
Edit the rigidBody node to have low static and dynamic friction (this controls how fast it will slow down - combined with tuning the damping, too low damping will make it spin forever so I would suggest at least higher than 0,5 but it depends on how long you want it to spin - for example, you could have it slowing down while you fade to black or something).
Edit/Note: You may need to also lower the friction and static friction of the passive rigid body node (the cylinder).
Then, animate the spin impulse (z) to get it to 'rev up'. Or, if you want to debug your friction and damping, delete keyframes on spin impulse and add some Initial Spin (like 50~800) then when you're happy with the damping and friction, re-add the impulse AS an 'initial' kind of push, depending on how you want it (for example, you want it to wind up and then down... so start adding to the impulse, then lower it to 0 at some point and let the friction naturally slow it).
To make it quickly stop it requires more animating, you can either bake it and hand animate it a bit (only 1 rotation axis you need to animate...) or do negative spin impulse.. however again it depends on what you want it to look like. This will give the effect your after anyways, anything further requires some fine tuning ofc.