Yes in the schematic I posted; no in the circuit I described in the last paragraph of post #19.Hm, I don't quite understand how it only uses two Arduino pins - there are Ports A, B, C, and D, right?
Here is the schematic of how to reverse a DC motor, and do PWM on it using only two Arduino pins. I also show how to monitor the motor current using an Arduino A/D pin. This is part of a swing gate controller I built this summer. Reversing happens only after the gate stops moving, so relay is fine for the task. Relay is DPDT with 12Vdc coil.
The PWM is used to soft-start (accelerate) and soft-stop (deaccelerate) the motor. Current sensing is used to detect that the gate ran into an obstacle, and that the motor has coasted to a stop before reversing direction.
Also shown is the correct grounding scheme for the Arduino pcb to keep motor and relay currents from flowing along the Arduino ground traces...