For my final year Individual Project on the Electronic Engineering degree course I am doing at the University of Westminster, I decided to build an underwater robot (more commonly known as an ROV - remotely operated vehicle).

The general idea is to have a vehicle that is controlled by an out-of-the-water operator who can see where the vehicle is heading via a video camera link. Unfortunately this was deemed not quite complicated enough so I added a self-levelling control system to the specification.

The basic design I came up with has:

  • PVC frame and water-proof enclosure
  • mbed-based, joystick-controlled operator interface (Top Controller)
  • mbed-based motor controller (Bottom Controller)
  • 30 m cable connecting the two controllers (known as a tether)
  • 7 DC motors fitted with propellers (known as thrusters)

The project has been very challenging and is essentially a success, however at the time of writing, the control system is still not finalised, and the video camera is awaiting replacement. This is a short summary of the project and much greater detail can be found in the project report linked at the bottom.

During testing


The PVC frame is made up of 32 mm diameter drainage pipe and some suitable 90 degree elbows and T-junctions. This material is cheap, readily available, and easy to work with.

Frame construction


To minimise costs, it was decided to use 110 mm drainage pipe with suitable end-caps for the water-proof enclosure (as shown in the photo above). It was unclear if this would actually work as the fittings are designed to keep water in, not out: the rubber seals are shaped the wrong way. Testing to 5 m has so far been successful but I am not yet fully confident of taking it much deeper without more testing. A window has been machined into one of the end-caps for the video camera to look out from, and an 18-pole connector fitted to allow signals (to the motors and to and from the top controller) to pass in and out of the enclosure.


Seven thrusters are employed for positioning: four for horizontal movement, and three for vertical movement. For a basic ROV, it is possible to get away with using fewer (four is probably the minimum) but with the self-levelling system I ended up with seven. They are constructed by modifying bilge pumps. These are pre-sealed and designed to be submerged. The covers were machined off, the impeller removed, and then the propellers were added. Before:




Top Controller

The Top Controller is driven by an mbed connected to an LCD screen, four switches, six LED's, two analog joysticks, a temperature sensor, a piezo buzzer, and an RS232 driver IC.


Bottom Controller

The Bottom Controller is also driven by an mbed connected to five MOSFET's, three H-bridge IC's, a temperature sensor, a leak detector, an RS232 driver IC, and an IMU board. This IMU board is fitted with a 3-axis accelerometer, a 3-axis gyroscope, a 3-axis magnetometer, and a micro-SD card socket. Two axes of the accelerometer are used for the tilt sensing, and the micro-SD card is used for data logging.



The Top Controller is connected to the Bottom Controller via a 30 m ethernet cable. This cable is used to transmit operational instructions to the ROV from the operator, and receive sensor data and video images. Only two of the four twisted pairs inside the ethernet cable are actually used: two wires for serial data, one wire for video, and one wire for ground.

Control System

The self-levelling control system operates on two axes: pitch and roll. The pitch axis is corrected using the vertical rear thruster, while the roll axis is corrected by the left and right vertical thrusters working in unison. The control system uses a PID controller (from the mbed library) but it still needs to be "tuned" for optimal performance.


Operationally it works fine. It moves around freely in all directions and does exactly as was envisaged:


This project provided many challenges but they can mostly be summarised as:

Water-proofing, on a limited budget, with inadequate tools is hard.

... if only I had a CNC mill and laser cutter.

Having said that, there were many positives to come out of it: it will come as no surprise to most of you, but the ease-of-use that comes with the mbed development system, along with all the libraries available, made the whole process so much easier than it might otherwise have been. So thank you to everyone that contributes to this community.

I would like to take this opportunity to thank the mbed team, the staff and students at the University of Westminster, the forum contributors at, and Tim Marvin for his IMU.

Further details can be found in the project report: project report.

8 comments on ScottROV:

24 May 2012

Very Cool Project!!!

It's an awesome robot, how you implemented control? PID? Fuzzy? congratulations this looks very cool.

P.S. This link is down

24 May 2012

Link was corrupted somehow. Should be fixed now: /media/uploads/scotto/project_report.pdf.

Thanks for spotting that.

24 May 2012


Thats a report I'll really enjoy reading,

but can I ask you a question? How did you manage to upload a PDF to I haven't post much and I didn't know you could do that....

24 May 2012

There is a link on the top right of the "Post new comment" text entry box: "Insert images or files". Click that to open another box that has an "upload file" button. It works well with images as it automatically creates a copy of any images you upload and reduces them to 400 pixels wide.

24 May 2012

O_o! How did I miss that??

I'm currently working on a 'big' project with mbed, and the PDF and inserting files an images to will help me a great deal! You have helped me a lot today so thank you very much!

19 Jul 2013

Hi scott is it possible to build the rov without using the IMU board if possible kindly let us know whats the alternatives

19 Jul 2013

Anup Simha.N wrote:

Hi scott is it possible to build the rov without using the IMU board if possible kindly let us know whats the alternatives

It certainly is possible. The IMU board was included only to measure any tilt. If you do not want to know the tilt levels then you do not need any IMU.

08 Jan 2014

Hey Scott, Its me again can you do me just three favors

1. if its Possible can u please send me some more pics of your bottom and top controller especially the close up pics of the boards. my e-mail id is

2.Actually i have completed the hardware part long back but the problem here is shape and rpm of Bilge pumps that are available in India so is there any way i can build one or if possible just send me the link...

3.I just wanted to know how much time did your Rov stay under water with LIPO battery..?

Thanks in Advance

Please log in to post comments.