How to make a part rotate around it

I can create a script do do it with while true do, but i dont want to do that. I want use bodygyro or bodyangularvelocity or something else. I want it to go up and down and rotate around
I’m not good at English so I drew a picture

Well I tried something. Doesn’t keep its orientation while spinning and I would rather use a constraint instead of BodyPosition.
Test.rbxm (3.7 KB)