Which way is more feasible?

Hello, I am going to make a small robot use 12 MG996R servos.
I have tried four different ways to control the servos with Arduino and Pi3

  1. Use all pin 2 - pin13 on a nano.
  2. Use the Pi3 GPIOs
  3. Use the Nano via i2c to a 16 channel driver.
  4. Use the Pi3 via i2c to a 16 channel driver.

They all seem to work well. But the first two ways is not very feasible because I intend to expends the robot utilize some sensors in the next step. This two ways use up too many pins.
So left 3 and 4. My question is which will be better, use the Arduino with Pi or just use the Pi?
I do intend to add sensors and possibly some onboard calculation, such as distance etc. what are the pros ad cons? Thanks.

My opinion is #3.... and here is why.

You have not proven to me why a Pi is even needed in any of this project?!

If you do for some reason need a Pi... that perhaps all can be off-loaded to the Pi.. and NO Arduino..

(I cant speak for the Pi too much, I have only done a handful of projects with them)

Hi,

The biggest question is how big is the robot and how are you going to power it all?

Are you going to use continuous rotation servos to roll the robot around?

Thanks.. Tom.. :slight_smile:

Thank you for your replies.

@xl97 I am thinking in the near future, if things work out, I might add some sensors and do onboard data analysis, probably the Nano is not going to cut it.

@TomGeorge, the robot uses just 12 MG996R 180 degrees servos. Also I am not very sure how to power it yet. Right now I am using an external PSU, but I am still trying out some LiPO and LiMH batteries, the problem is the battery has to provide 7V 4A for the servos in stall position, finding a light weight, small size and not too expensive battery is a challenge.

Use a mega not a nano and dump the Pi and the I2C chip

Mark