The Carter Turn ROV, TROSS (Turn Remotely Operated Submersible System) is a small tethered underwater vehicle. TROSS uses a Raspberry Pi Model B over Ethernet with a camera for control and three Attwood Tsunami 800 GPH motor cartidges for thrust. The total price of the system is about $150. The system uses about 10 amps at 12 volts.


Parts list:


Construction


The current version of TROSS uses PVC for the frame and a plastic container for the electronics.
The motors are mounted to PVC T-joints with zip ties through holes drilled in the bottom plate of the motor cases.
The wires are passed through the waterproof cable pass throughs in groups. To ensure waterproofing, the wires are heatshrinked together with hot glue to fill gaps. In addition, the cable pass throughs are filled with epoxy. This system seems to work to a minimum of 5ft deep.
In order to offset the air inside the plastic electronics container, one of the PVC pipes was filled with a stainless steel rod.

Electronics


The primary controller for TROSS is a Raspberry Pi Model B (original). This could easily be replaced by any other Raspberry Pi Model B or a Model A with an Ethernet adapter. It would probably not be too difficult to use a different microcontroller with an Ethernet port, but the code would not work.
A 12V to 5V buck converter is used to supply power to the Pi. The lower the drop-out voltage and the higher the efficiency the better. The Pololu voltage converter currently linked above seems to work very nicely. The output of the converter is spliced into a USB cable, contrary to what the schematic shows. It would probably be possible to connect the 5V line into a 5V pin on the GPIO port, but this is not recommended. A 4.7mF capacitor was installed across the input to help compensate for sudden decreases in voltage due to motors turning on. A larger capacitor would probably be better.
The L6203 full H bridge is used for converting the signals from the Pi's GPIO to run the motors. The L6203 is needed as the motors can draw up to 4A. In the current version of TROSS, a ~150g block of aluminium is used as a heatsink. In future versions, it would be better to heatsink the motor controllers into the surrounding water. The capacitors used for the L6203 are based on the values recommended in the datasheet.

Code


TROSS uses a TCP socket to control the Raspberry Pi's GPIO ports. The drive code (to be installed on the Raspberry Pi) is available at Github. The control code (to be used on a GNU/Linux computer to control the ROV) is also available on Github.