write a distance function with the maximum value being the circumference, use rospy's Time function to update distance and whenever the current_distance exceeds the circumference, publish a zero velocity msg to stop the turtle.
There are quite a few ways to go, and opinions vary both by person and by application.
Check out these links to see some examples of this:
$ rosmsg show turtlesim/Pose
Get the pose. How are you wanting to know if it did a complete revolution? You could check that the path length is equal to the circumference, or that the rotation angle is back to the start angle, or the horizontal x/y position is the same as the starting position.
Try with the old Raspberry Pi 2, ARM A7 900MHz first. If it is too slow, then you can check ARM R or M microprocessor. If you want to deploy your Python code you need an OS for it. Using Ubuntu on ARM M will be difficult.
Some "robots" can be implemented without any micro-controller at all. When I was a child, I created "robots" by just gluing empty cigarette packs together.
There are other robots which are so complex, that a single micro-controller is not enough at all. So the choice depends highly on the product you want to develop.
For any project, when ...
How is the (P) controller not standing up to its task ?
Well, just like you said - how is it not standing up to its task? What is it doing that makes you think it's not working? You said,
I tried multiple values of Kp but could not succeed
Nobody here knows what that means. "Could not succeed" could be a lot of problems. My guess is that you're ...