12 Servo Quadruped - Servo Shield selection discussion

michinyon:
The reason people use devices such as the SSC-32, is that it enables you to subdivide your code
into manageable parts.

It is simply very difficult to manage all the low-level details of servo control and the high level
details of controlling some kind of insect-robot in one piece of code. It can be too difficult
to manage all the de-bugging and perhaps too much work for one processor.

Subdividing code into functional parts is definitely the choice way to go.

However, the second part here is not truly the case. If you use timer interrupts, as I believe
Arduino does, then the overhead involved in controlling servos is very minimal. Years ago,
I wrote my own servo controller chip firmware using a 20Mhz PIC, which actually executes
at about (20/4)/16 = 31% the speed of the AVR chips, and using timer interrupts, I was
able to control 20 servos and the overhead was only about 5-10% of the processor cycles.

Later on, I added full gait control to the same chip using lookup tables and up to 44
movements per gait [limited by available RAM], and there was still plenty of horsepower
left over to do user interface, RS232 comms, EEPROM work, and A/D sampling.

OTOH, the overall coding is definitely easier if you offload the servo timing stuff to a
slave chip.