Arduino ROV (remote controll submarine) controll over 150ft cat5 cable

I am currently building a ROV that will be controlled via an arduino microcontroller. It will have internal power. This submarine will use 6 12v bilge pumps with an amp draw of 2.5 amps. I plan to control them with 6 relays. This submarine will use 3 servos, 2 for camera pan and tilt and 1 for controlling a gripper. It will have to 12v lights which will be controlled with 2 more relays. I need a way of somehow controlling this whole setup over a 150ft cat5 cable*. I would like to be able to use a joystick for movement and a tumbstick for the camera pan tilt. I want to use a switch for the lights. Does anyone know how to control all of this?.

*voltage drop must be considered.

Where's the Arduino? Topside or inside?

INTP:
Where's the Arduino? Topside or inside?

Inside

How many controls do you need? Sounds like just two 2-axis joysticks and a button from what you say, but I think you need more.
Using buttons over long lengths of csble may just need stronger pullup/down resistors so not much of a challenge there. Just need to figure if you have enough wires in a CAT cable.

Using relays for motor control? As in, only moving at full speed or no movement?
I would think that you would want variable speed so that you can ease up to your target.

Gripper as one servo? I usually see a gripper at the end of an articulated arm. Without that, you will have to pilot the entire sub into a very precise position to use the gripper.

Bilge pump as propulsion. I always think of a screw or prop. Is the pump reversible?

This sounds like an AWESOME project. You MUST post pictures and videos when you get there!

edit: Would it be easier to send control commands as packets of data between a topside control station and the sub? Then the number of wires does not increase and you need for control increases. You just need more options in the command packet.
The joysticks, buttons and any other controls would be attached to an arduino topside.
That would send a number of data packets to the arduino on the sub.
The sub would convert those commands into motor movements.

vinceherman:
Using relays for motor control? As in, only moving at full speed or no movement?
I would think that you would want variable speed so that you can ease up to your target.

Gripper as one servo? I usually see a gripper at the end of an articulated arm. Without that, you will have to pilot the entire sub into a very precise position to use the gripper.

Bilge pump as propulsion. I always think of a screw or prop. Is the pump reversible?

This sounds like an AWESOME project. You MUST post pictures and videos when you get there!

edit: Would it be easier to send control commands as packets of data between a topside control station and the sub? Then the number of wires does not increase and you need for control increases. You just need more options in the command packet.
The joysticks, buttons and any other controls would be attached to an arduino topside.
That would send a number of data packets to the arduino on the sub.
The sub would convert those commands into motor movements.

The pump can be reversed if modified. is their a way to control the 12v pumps with ESC’s (or other methods) with an arduino. How would I send these data packets (Please post some example code) to the sub? Currently I am planning on using serial communication. I am planning on using a USB extender to get the signals to the sub.Can 2 arduinos communicate with each other over USB serial (not TX and RX pins). Would this work? Thanks for the help!