Instead of reinventing the wheel and making our own motor controllers, we were adament that we should get a premade motor controller. This helped us focus on our main project goals.
The main challenge for our motor control were that our bilge pumps required 3A continuously when running at 12V. Therefore, we decided to purchase a Sabertooth 2X5 motor controller ($59.99). The motor controller is able to produce 5A continously for two motors, and 10A for one for short times.
There were many different options for controlling the Sabertooth motor controller: packetized serial, serial, RC control or analog voltage. We ended up choosing to use the analog control as an analog signal could be generated by a peripheral of the PIC microntroller. (low pass filtering the PWM output). Changing the mode was simple; just toggle the DIP switches on the Sabertooth appropriately. The motor controller will cause a motor to rotate in one direction at full speed when given a voltage of 5V, and in the other direction at full speed at a voltage of 0V.
The RC servo motors did not require any special circuitry for motor control. All they require are pulses of the that are high between .8-2.5ms in a period of 18-22ms and they will be fine. Key thing to remember is that if the RC servos are not sent a signal, they will not hold position. In the case of our valves, we needed to constantly send it the signal to hold its position when we wanted to lock the valves.