Connecting two servo2040 boards together

I have bought 2 servo2040 boards for a humanoid robot that I’m building. One board is for above the hips the other for the hips and legs. I have two IMU’s to set the balance which rn on the I2C buses. What I wat to do is have each board bi-directionally communicate with each other to make balance related or full body related movements.

I want these board to run independently of the Raspberry Pi, but be able to receive and send data back and forth from the Pi.

I will have a couple of spare ports (unused by servos) on each board so, if I use GPIO ports 0 and 1 as UART 0 will there be issues because of the board and firmware configuration.

My programming language of choice is micro python as the rest of the robot is in python.

Thank you

Hi @channe,

Sounds like a cool project! Were you able to get anywhere with it or are you still needing assistance with Servo 2040?

As you already identified, the best way to have the two boards bi-directionally communicate between each other and the Pi would be to use UART.

The Servo 2040 firmware by default does nothing with the Servo pins at power up, so it is entirely safe to use GP0 and GP1 for UART0 (or any of the others for UART1). If you were wanting to use all 18 servo outputs, then UART0 is also available on the QwST connector and SDA / SCL pins. That would use up your I2C0, but I2C1 is available on pins A0 and A1.