I am a newbie and decided to start on the path of robotics. So a basic question: What is your preference as far as the motor shields go? Is the official Arduino shield the "best?" Or are there third-party electronic suppliers which you see as just as good or better? Like SainSmart or Adafruit?
Welcome! Everyone has their reasons and mine is none other than “It was handed to me for a project” :). I am using Rugged circuits motor shield.
It controls two DC motors and can do forward and reverse as you probably need that. It has some protections and some traces you can cut and customize/reroute. You may want to make a list of hardware you want to use and find the shields that don’t have pin conflict, which is hard if you use two to three shields. Then if there is no way to avoid conflicts, find shields that have traces you can cut and reroute controls.
I would avoid anything with L298 or L293D or other darlington-based motor drivers, they are so inefficient, waste volts and watts and present a heat-dissipation challenge.
Designs with discrete MOSFETs in the 0.02 ohm or less would float my boat (that's what I use for my own designs of motor controller).
Something like this is a good example (although its limited in supply voltage): http://www.pololu.com/product/706
But until you know what size and type of motor you're not really in a position to select a driver anyway...
Seems like the rugged circuits motor shield is NOT using the L293D or L298 but Arduino official shield and adafruit shield are: