Volturnus ROV

A low-cost, DIY ROV (Remotely Operated Vehicle) to detect marine pollution in local communities.

Similar projects worth following

Problem Statement

While water is all around us in the form of oceans, lakes and rivers, only 2.5 percent of it is freshwater. Furthermore, only 1 percent of that freshwater is accessible, the rest being trapped in glaciers and ice caps. This small amount of water has the huge responsibility of meeting the needs of all living creatures on the planet. With freshwater supply quickly diminishing, it's more important than ever to ensure that the water that we do have is pure, clean, and available for human use. Clean water also affects many animals, whether they drink the water itself or live in it as a habitat. Identifying bodies of water that are polluted is an area of great importance as we go forward in securing our world’s water sources.

Remotely Operated Vehicles (ROVs) are the perfect robotic applications to detect marine pollution in hard-to-reach places in bodies of water. ROVs extend the capability of human divers and allow us to detect pollution and concentrate efforts where they’re needed. However, existing ROVs are either expensive, multi-million dollar scientific systems designed for deep sea navigation or cheap, inefficient systems that are ill-adapted for targeted pollutant detection. A lot of people would agree that underwater pollutants are a huge problem, but the state of current technology puts practical ROV systems that can tackle these problems out of reach for communities that need it the most.


Rogue Robotics aims to start a worldwide crowdsourcing campaign in utilizing low-cost, self-assembled ROVs to detect underwater pollution in local communities.

The World-Changing Underwater ROV

There are a few other low-cost ROV systems available for use, but Volturnus has a unique focus on underwater pollution and implementing cheap ways to detect it. Volturnus is designed with a philosophy of minimalism: Volturnus implements a few features but implements them well. Thus, Volturnus has the benefits of expensive ROVs, but also remains affordable. Not only does this result in an effective, uncluttered design, but it allows for users around the world to easily construct and modify their own devices. Volturnus may not be perfectly adapted to every single aquatic situation around the world, but by opening up the technology to any many people as possible, Volturnus has the potential to spark similar innovations across the globe.


  1. We began by researching various material types that can be used for the frame. Finding the best material requires finding an appropriate balance between performance and cost, as our goal is to develop an efficient apparatus accessible to the public. We summarized our research into a decision matrix.

Table 1. Decision matrix for frame material selection


Neutral Buoyancy




Ease of Use
















ABS Plastic














  1. After deciding on using PVC piping, we discussed the ideal frame shape and size. We wanted to keep dimensions and weight to a minimum, as a smaller vehicle maneuvers more easily through water. We also placed a high emphasis on simplicity because simple designs are easier to develop and troubleshoot. The mechanics team sketched the frame layout on graph paper, including locations of thrusters, cameras, and tether attachments. We ultimately decided on a simple four motor orthogonal structure that maximizes space within the frame.
  2. We then created a CAD model of our proposed frame in Autodesk Inventor. Creating a CAD model prior to construction allows us to visualize the design and confirm the idea is achievable. We first created individual Inventor parts, including 90 degree elbows, tee connectors, and PVC pipes of specific dimensions. We assembled the parts together based off of sketches, making sure to leave...
Read more »

Concept Model Drawing - parts.pdf

Concept Model for Volturnus design

Adobe Portable Document Format - 107.27 kB - 10/21/2017 at 13:46



Documentation for the Volturnus design

Adobe Portable Document Format - 2.85 MB - 10/16/2017 at 04:43


ipt - 131.50 kB - 10/16/2017 at 02:30


ipt - 95.50 kB - 10/16/2017 at 02:30


ipt - 126.00 kB - 10/16/2017 at 02:30


View all 64 files

  • 1 × PVC pipe 10 ft. 0.5” ID
  • 6 × PVC tee connectors 0.5” ID
  • 4 × 500 GPH Johnson bilge pump motors
  • 8 × PVC 3-way elbows 0.5” ID
  • 2 × L298n Motor Controllers

View all 11 components

  • Improvements

    allai510/16/2017 at 03:26 0 comments

    We’re thinking about what to do next for our ROV. We would like to be able to implement filtration technology in addition to the detection technology that we already have, but we were also considering moving electronics to bottomside. This would greatly enhance our ROV as we could use more powerful thrusters and take in more sensor data. We would also like to try to test our robot in more real life scenarios. If we could actually monitor a body of water for an extended period of time, we would be able to see how to improve our robot so that it can be used commercially.

  • Buoyancy

    allai510/16/2017 at 03:23 0 comments

    We needed a way to easily adjust the buoyancy of the ROV depending on the density of the body of water that the robot is in. We tried attaching various “ballasts” to the ROV using environmentally friendly duct tape. We started by taping rocks to the robot to weight down different parts of the robot. This proved to be impractical as these rocks couldn’t be easily adjusted in a real life scenario. We then tried to tape styrofoam to the frame, but this was impractical for the same reasons as the rocks. We finally added Arizona Iced Tea bottles which are perfect as they can be filled with water to easily adjust buoyancy at any time.

  • XBOX Controller

    allai510/16/2017 at 02:32 0 comments

    We needed an intuitive control scheme and a portable controller. After going through many styles of joysticks, from small 2-axis potentiometer joysticks to large USB joysticks, we' decided that the the XBOX 360 controller would be the most intuitive ROV controller. Moreover, an XBOX 360 controller can be commonly found in households, further lowering the cost for the ROV.

    Although, this gaming controller has many joysticks and buttons, we only needed two joysticks to control all the motion on the robot. One joystick controlled forwards, backwards, and turning motion, while the other controlled lateral, up, and down motion. The joystick feedback was sent to a wireless receiver which was connected to a USB Arduino shield. We struggled with the receiver as the controller kept dropping its connection. We solved with this by doing several power cycles. Finally, we had developed a control scheme that was user-friendly and effective.

  • Ultraviolet Light: Detecting Optical Brightening Agents (OBAs)

    allai510/16/2017 at 02:16 0 comments

    We needed a way to detect pollutants in the water. According to recent studies, shining ultraviolet light on water samples, pollutants will glow a bright color. We tested this with water samples collected by the ROV. We found that the UV light was able to highlight the sample that contained chemicals commonly found in laundry detergents. Thus, we successfully developed a low-cost method for find pollutants in water.

  • Camera System

    allai510/16/2017 at 02:10 0 comments

    Since we are using a low-cost backup car camera, the camera feed is inverted, but for intuitive control of the ROV this needs to be reverted back to a normal, “forwards” view. To do this, after threading the camera through the tether management cross, we plug the RCA plug of the camera into the video plug of a USB capture card. Using a Python script and the pygame library, we are now able to concurrently revert the camera feed and display it on the operator’s laptop.


  • L298N Motor Controllers

    allai510/16/2017 at 02:04 0 comments

    We finished the final version of the motor controller circuit! To make the ROV more low-cost, we've replaced the Sabertooth motor controllers with L298N H-Bridge drivers.

    The primary purpose of the circuit on our ROV is to take input from a program and use this input to control the motors. First, the Arduino microcontroller reads pulse width modulation (PWM) inputs from two joysticks that act as potentiometers. In addition, the orientation of the joysticks tells the motors whether to turn clockwise or counter-clockwise. The Arduino then sends data signals to L298N motor controllers. These serve two purposes. For one, they can be used as h-bridges which can output a negative and positive voltage so that the motors can turn both ways. Secondly, they take in a PWM signal ranging from 0 to 255 so that it can output any voltage from 0 to 12 volts. Initially problems arose as we tried to ensure that the motor controllers could handle the current drawn by the motors. We performed calculations using Kirchhoff's Law to calculate the current drawn from and the voltage needed for the motors. We then had to measure these values in practice using a multi-meter. After this we tested our circuit and we found that it gave the robot the ability to turn and move forwards, backwards, and laterally at varied speeds.

  • Claw

    allai510/16/2017 at 02:01 0 comments

    We have a few different claw designs for Volturnus. We initially tried a simple Lego claw, but we found that it wasn’t secure enough for our 500 gph bilge pump motor. We then thought about implementing a passive claw design--this would be cost-effective and free a motor for something else--but it would be difficult to adapt to the variety of different obstacles found underwater. Finally, we were thinking about building a more professional claw with 3D printing and metal gears, but we have not yet been able to implement it. We will need to run more tests in the future to see which claw design will work the best. Perhaps this is something that we should approach from an angle of modularity?

  • Topside Electronics Box

    allai510/16/2017 at 01:58 0 comments

    The topside electronics box is finished! The electronics box allows us to provide power and control through two joysticks and Sabertooth motor controllers. A cable with banana plugs connects to a 12V DC power supply, then runs through an in-line fuse, kill switch and watt meter for power and monitoring. The 12V then goes to the SeaMATE motor control simulation board, receiving inputs from the joysticks and Sabertooth motor controllers. 

  • Tether Management Cross

    allai510/16/2017 at 01:56 0 comments

    Our tether has been attached--we opted for a lightweight tether with eight wires, two for each motor (3 drive motors and an additional motor that can be used for the claw). This allows our ROV to remain maneuverable in the water without getting weighed down by a heavy tether. Because electronics are being handled topside, there is no need for anything more than these wires.

  • Assembling the ROV frame

    allai510/16/2017 at 01:38 0 comments

    The ROV frame has been constructed! The frame is a simple rectangular box made from PVC--this offers the most versatile and cost-effective design. Currently, our frame has dedicated PVC connectors for mounting motors. While this is certainly very easily modifiable, it might be easier to position motors with snap-on components.

View all 10 project logs

  • 1
    Creating the Frame


    • 1 10 ft. 0.5” ID PVC pipe
    • 6 0.5” ID PVC tee connectors
    • 8  0.5” ID PVC 3-way elbows
    • 4 500 GPH Johnson bilge pump motors


    • Marker
    • Dremel
    • Ruler
    • Drill with 0.75” drill bit

    Note: PVC cement should be applied to piping prior to all connections.

    1. Using the ruler, measure two 17” lengths of PVC from the 10 ft. PVC pipe, and mark at the appropriate dimensions.
    2. Use the dremel to cut along the marks.
    3. Insert a 3-way elbow at either end of each 17” PVC pipe.
    4. Measure two 11” lengths of PVC,  and use the dremel to cut along the marks.
    5. Use the two 11” PVC pipes to connect the two 17” pipes via the 3-way elbows. This will create a rectangular structure.
    6. Measure two 11” lengths of PVC, and use the dremel to cut along the marks.
    7. Attach each of the 11” PVC pipes to the two 3-way elbows at the top of the rectangular structure.  
    8. Attach a 3-way elbow at the unoccupied end of each 11” PVC pipe.
    9. Measure four 5” lengths of PVC, and use the dremel to cut along the marks.
    10. Connect two of the 5” PVC pipes using a tee connector, and repeat for the other two 5” pipes.
    11. Connect each paired PVC pipe structure to the two 3-way elbows at the bottom of the rectangular structure, so that the tee connectors point toward each other at 45 degrees above the horizontal.
    12. Attach a 3-way elbow at the unoccupied end of each paired PVC pipe structure.
    13. Measure two 11” lengths of PVC,  and use the dremel to cut along the marks.
    14. Connect an upper unoccupied 3-way elbow with its corresponding lower unoccupied 3-way elbow using a 11” PVC pipe. Repeat on the other side.
    15. Measure four 8” lengths of PVC,  and use the dremel to cut along the marks.
    16. Connect two of the 8” PVC pipes with a tee connector, and repeat with the other two 8” pipes.
    17. Secure one of the paired PVC pipe structures in between the upper unoccupied 3-way elbows, so that the opening of the tee connector points directly downwards.
    18. Secure the other paired PVC pipe structure in between the lower unoccupied 3-way elbows, so that the opening of the tee connectors points directly upwards.
    19. Measure two 4” lengths of PVC,  and use the dremel to cut along the marks.
    20. Connect the two 4” PVC pipes with a tee connector.
    21. Secure the paired PVC pipe structure in between the two tee connectors pointing towards each other, so that the opening of the tee connector of the newly paired PVC pipe structure points into the frame.
    22. Measure one 3” length of PVC,  and use the dremel to cut along the marks.
    23. Insert the 3” PVC pipe into the final opening of the tee connector pointing into the frame.
    24. Attach a tee connector to the unoccupied end of the PVC so that the bottom of the “T” points downwards.
    25. Mount the four motors to the frame by securing them to the openings of the four unoccupied tee connectors.
    26. Drill 0.75” diameter holes into the PVC pipe in between in each set of connectors.
  • 2
    Creating the L298n Circuit

    The primary purpose of the circuit on our ROV is to take input from a program and use this input to control the motors. 

    1. Obtain 2 L298n motor controllers.
    2. Connect the 12 volts and ground to the two terminals. 
    3. Connect the 5 volts terminal to the Vin pin on the Arduino Mega
    4. Connect the pins on the first L298n as so:

    U4 to Digital Pin 7

    U3 to Digital Pin 6

    U2 to Digital Pin 5

    U1 to Digital Pin 4

    1. Connect the pins on the second L298n as so:

    U1 to Digital Pin 9

    U2 to Digital Pin 10

    U3 to Digital Pin 11

    U4 to Digital Pin 12

    1. Check if the Arduino's and the two L298n's lights are on.
    2. Sync the XBox controller with your wireless receiver by pressing the sync button on both components.
    3. Upload the code below to test your program.
    #include <XBOXRECV.h>
    USB Usb ;  
    XBOXRECV Xbox(&Usb) ;
    int x1;
    int y1;
    int a1=2;
    int a2=3;
    int b1=4;
    int b2=5;
    int c1=6;
    int c2=7;
    int d1=8;
    int d2=9;
    int a=10;
    int b=11;
    int c=12;
    int d=13;
    void setup() {
      // put your setup code here, to run once:
      Usb.Init() ; 
    void loop() 
      Usb.Task() ; 
      if (Xbox.XboxReceiverConnected) 
        x1=Xbox.getAnalogHat(LeftHatX , 0);
        y1=Xbox.getAnalogHat(LeftHatY , 0);
        //speed = Xbox.getAnalogHat(LeftHatY , 0) / 128 ;
        //speed = -Xbox.getAnalogHat(LeftHatY , 0) / 128 ;
        if (x1>9000){
          Serial.println(x1/128) ;
        else if (x1<-9000){
          Serial.println(x1/128) ;
  • 3
    Topside Electronics Box

    **Note: The final electronics box is based off of the SeaMATE TriggerFish ROV’s topside electronics box.

    1. Follow the instructions in the following PowerPoint.

View all 6 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates