Encoder/motor shield incompatibility


Just a follow up to my post regarding the incompatibility between the Robogaia encoder board and the generic 4 motor, 2 servo control board available for a few dollars on ebay and lots of other places.

I've been successful at getting them to work together but at a cost. Specifically I had to give up both servos and one motor, cut five pins and route two jumpers in addition to altering the code.

Examining the schematics it appears that only one line, pin 8, needs to be rerouted but in fact the Robogaia schematic is incomplete. There is no note that SPI is implemented using pins 8,9,10,11,12 and 13. Serial interfaces generally require two lines. Calling SPI's six line interface "Serial" is insane. Just saying.

For the motor board I used pin 2 to replace pin 8 and A3 to replace pin 12. Pin 11 which nominally provides a PWM signal to control motor 1 is simply cut.

I would have thought that by now a motor controller / encoder board (shield) would be available but no. It seems people believe they can use steppers and count steps to position motors. Crudely that's correct but steppers lose steps and slip unpredictably making precision impossible without constant re-zeroing. Encoders solve that problem.