**Driver Based approach.** For the planet I have added a driver to its z rotation. pi * frame / 40 where `frame` is known to the driver namespace as the current frame. The rotation is 0 degrees at frame 0 and 360 degrees (2pi radians) at frame 80. A satellite object and an orbit circle is added. A follow path constraint, with follow curve and fixed position. [![enter image description here][1]][1] The driver is added to the offset. (frame / 40) % 1.0 At frame 0 and frame 40 will be at 0 and 1 offset (same position) respectively. The % is python modulus, ie the remainder when divided by one. [Related](https://blender.stackexchange.com/a/91511/15543) Ok so now have a planet that revolves once in 80 frames and a satellite that orbits every 40 frames. To loop the animation, set 1 and 80 as start and end frames. [<img src="https://blend-exchange.giantcowfilms.com/embedImage.png?bid=5246" />](https://blend-exchange.giantcowfilms.com/b/5246/) [1]: https://i.sstatic.net/tL0me.png