It seems like a bad idea to connect Vin from the to the TB6612’s VCC line. Even if that happens to have 5V on it when you are connected to USB, if you ever plug it into a 9V wall-wart, you could instantly destroy the chip. Why not use the 5V output of the Arduino instead?
The double ground connection is generally not a good idea, since any extra loops of wire can pick up noise and cause random problems.
But the biggest problem I see is that your board does not even appear to be soldered to the header pins! Without making those solder connections, I don’t see how you expect the board to actually do anything.
Paul, thanks for the quick reply
I will try soldering all the connections and report back. Why is soldering essential when the interior of the connection holes are lined with a conductor and those interiors are pressed firmly against my male pins?
Pushing it with your finger would only have a chance of working if you were pushing sideways, and unless you press really hard, it is unlikely that you would make all of the connections.
When we need to make temporary connections to boards we either use “spring pins” or test clips - individual springs pushing against each conductor will guarantee a connection.
By the way, if you can easily post a picture with the soldered board and corrected connections, I can take a look to see whether there is anything else that could be improved. Your pictures and code might also be useful to anyone else trying to connect a motor driver carrier to a Duemilanove.
One improvement I was thinking about - have you considered using the batteries to power both the motors and the Arduino? I believe you would need a battery of at least 7V to power the Arduino, but then your whole setup could be disconnected from the computer.