Is there anything that can’t be done with the right Arduino shield?
Adafruit makes a nice motor control shield that can control up to four DC motors or two stepper motors, as well as two servos. Since it uses L293D H-bridge drivers, it can use an external supply of up to 36V to drive the motors — and can pass up to 1A per motor. For higher-power loads, some heatsinking may be needed, but the board handles a pair of 12V, 100 ohm unipolar stepper motors nicely. The board can use all of the standard stepper motor drive modes (single-pole, double-pole, interleaved, and microstepping) — and drive modes and speeds can be switched on the fly.
The board comes as a kit, but since it is well-thought-out, uses all through-hole components, and has excellent assembly instructions available online, it’s straightforward enough to assemble. I wouldn’t recommend it as a first soldering project, but if you have a decent temperature-controlled soldering iron and can solder DIP16 components, you should be OK.
Like nearly everything Arduino, the board doesn’t ship with drivers or instructions — but it does have the support URL silkscreened onto the board. Since the drivers and assembly instructions have probably been refined since the board was made, this is a good thing; you automatically get the latest version of the drivers and instructions. Costs are also kept down, since there’s no need to include a CD-R for a few hundred k of files.
The software side of things is very straightforward, too. Copy the provided driver library into the Arduino Libraries folder, and with an include statement and a few lines of code, you’re up and running. (The provided examples are a great starting point.)
Overall, the board is great. I can definitely see ordering more of these as projects warrant. About the only improvement I can think of would be to include proper extensible Arduino header pins, to allow other shields to be stacked above this one. (This would require some layout changes, though, since more pins would have to be carried through.)