Moving multiple servos at once on a Pi

Hi all
I have a Pi Zero 2 W controlling 3 servos in a project via an Adafruit 16ch pwm bonnet which is working fine. But at the moment it only moves 1 servo at a time, but i need it to be able to move them at the same time.

Ie: servo 1 and 2 need to move together at the same time, with a 3rd sometimes making a move as well.

Ive seen some suggestions that using threading might be the way to go, is there a better way?

Thanks.

2 Likes

Hi Robert,

Could you please post your code for us to take a look at? Three backticks (```) either side of your code should get it looking nice in a post.

My understanding of the PCA9685 that powers this servo board is “open loop”. It has no idea when the servos are done moving, and hence doesn’t wait for the servo to be done.

I’ve taken a look through the relevant CircuitPython code and can’t see anything that would prevent simultaneous operation, but I may have missed something

I reckon this is something happening in your code, give us a look and we’ll see what we can do!
-James

1 Like

I’d suggest you to check your code. Those parts of the code which are written to control servo1 and servo2.