MiniSub ROV




Introduction: MiniSub ROV

About: My name is DJ and I previously made electronic whatsits, 3D-printed thingamabobs, and laser-cut kajiggers for the Instructables Design Studio; now I build and repair puzzles for Escape Industries.

The ocean is calling your name! Creatures, seascapes, and treasures both natural and man-made lie just below the surface of the world's waters waiting to be found. You could wear a suit and dip in, but why go to all that trouble when you could just send a robot instead? Enjoy a dry adventure with your very own miniature, remotely-operated vehicle! In this Instructable, I'll discuss the design and operation of my ROV. Let's dive in! (I promise to limit nautical puns to minimum, but I really can't be trusted with that sort of thing)

Step 1: Theory of Operation

So, what is an ROV?

ROV stands for remotely-operated underwater vehicle. So, in its most basic sense, it is an RC submarine. Here are the main design concepts and challenges I needed to build a minimal ROV:


In order to properly navigate the briny depths, an ROV needs some means of maneuvering and thrust. Most electronics don't play too well with watery environments and express this discontent in the form sparking and sudden death. In order to minimize the number of motors and components exposed to the elements, I chose to go with a three motor setup: two parallel motors in the rear for differential steering, and one centrally located motor for vertical adjustments. Brushless outrunner motors make a great choice as they are (generally) water-proof, having enamel-coated coil-windings with epoxied joints. Choosing the right motors is beyond the scope of this Instructable, but I've provided a few reference links at the final step if you're interested in learning more.


Ideally, the ROV would be neutrally buoyant so as to require minimal thrust for moving through the water. There are three main tubes that contain air which increase buoyancy and (in addition to the weight of the vehicle) two pieces of stainless steel for ballast. I designed this version for fresh water usage, so additional ballast would be necessary for a saltwater environment.


Unless testing in a relatively clear pool, some means of visual feedback is necessary to properly pilot an ROV. As a simple solution, I opted for a small composite video camera which provides enough resolution for steering and underwater inspection.


The ROV is operated via a handheld controller with a few basic inputs. The controller houses a joystick, buttons, and the LCD for viewing the camera feed. The ROV has its own power supply, as transmitting power via a long tether is increasingly difficult as distance grows, weighing down the craft, which in turn requires more power to move, which requires larger, heavier wire and so on. The controller communicates via UART to the ROV's onboard Edison over a balun. The balun maintains the signal integrity of both the composite video feed as well as the separate Tx and Rx lines over the 75ft of Cat-5e cable which tethers the ROV to the controller.


I built the ROV largely out of 1/8" Delrin, ABS, and polycarbonate tube. I chose Delrin since it is quite easy to laser cut, lightweight, and very durable. I was unable to manually snap failed parts during cutting, so it should easily withstand bumps and scuffs in any situation. The bulk of the frame consists of interlocking Delrin plates. Polycarbonate tubes house the electronics and mate to the frame via 3D-printed ABS parts. I focused on eliminating drag for the design, maintaining symmetry for balance, and keeping a minimal unique part count. All in all, there are four unique 3D files and seven unique vector profiles. This allows for easy replacement should a part fail and makes assembly much easier. All design files are linked in the next step.

Step 2: Parts and Materials

(2x) Intel Edison board with Arduino Breakout

(3x) propeller (one counter-clockwise)

(3x) 750 kv brushless outrunner motor

(3x) 30A ESC with reverse


led driver

(2x) white led

(2x) balun

NTSC camera

2" LCD

(2x) audio/video balun

(75') Cat-5e cable

11.4V (3 cell) RC LiPo battery

7.4V (2 cell) RC LiPo battery

(2x) arcade button

(2x) 1.5 x 12" stainless roundstock

ABS filament

6' 14 AWG silicone wire

(2x) .125" x 2' x 2' Delrin sheet

5" x 12" polycarbonate tube

2" x 12" polycarbonate tube

6-32 screws

6-32 nylon lock nuts

(when finalized .STL and vector files will be attached above)

Step 3: Controller Electrical Connections


The controller is a handheld assembly that provides an interface for the pilot and houses the main control electronics. On its face, the controller has a number of controls: controller power switch, light status button, thrust-direction joystick, dive button, and surface button. The onboard Edison reads the state of the buttons and joy stick and transmits serial commands via the balun, which allows for long range transmission. The video signal runs entirely independent of the Edison system, but still runs on through the balun on each end.


A single 7.4V LiPo battery provides power for the controller. Really, any decent battery over 6V will do, but I chose to use an RC battery since it can be charged with the same charger as main ROV battery. The 7.4V is fed (via a power switch) to the VIN pin of the Edison Arduino Breakout Board, which then provides 5V for the LCD and joystick.

Step 4: Controller Assembly

The controller assembly itself is rather simple and consists of a simple Delrin box tightened by eight screws along the edge. A single plate rests beneath the LCD to keep it in place. The rest of the controls are panel-mounted components which simply pop through the top plate and fasten in place. Internally, the battery and balun attached via Velcro. The retro-embossed labels on the front are optional, but highly recommended.

Step 5: Spool Assembly

The tether spool provides a weighted base for the tether and allows the ROV to freely pull itself along. It has a slip ring in the center to allow for continuous unspooling and a toothed wheel for easy retraction.The tether itself is plenum Cat 5e networking cable. It's rated for a little extra wear and tear, which is important for this kind of use. The the spool assembly consists of laser-cut ply wood that is fastened with a handful of nuts and bolts.

Step 6: ROV Electrical Connections


ROV power is provided by a single three cell, 5Ah RC LiPo battery. At full draw, the ROV can pull >60A, so a power switch would be too bulky; instead the ROV is turned on my manually plugging in the bullet connectors that separate the battery from the terminal block bus.


Two 3W warm white LEDs provide illumination for the camera. Any body of water is likely to be fairly dark and these make viewing much easier. A bucktoot breakout board provides the constant current for driving the LEDs.


The camera is independent of the Edison and simple needs 5V to operate. The composite video feed connects directly to one of the balun RCA connector inputs.


The ROV Edison board continually waits for communications from the controller board, expecting control characters over UART via the balun. Two digital pins control the LED driver and three PWM pins connects to the signal pins of the ESCs. The Edison regulates the 11.1V of the battery to 5V for the LED driver and camera.

Step 7: Main Frame Assembly

The main body consists of four separate Delrin plates that bolt together. Two 6-32 x 3/4" screws fasten the midplate to the two side plates. The rear tension plates each require their own pair of 6-32 x 3/4" screws. Although not immediately used, each side plate has a line of evenly spaced holes toward the top and bottom edge for adjusting the placement of ballast or for attaching additional components. The frame is rather flexible, but becomes quite rigid once the tubes and electronics are screwed into the frame.

Step 8: Main Body Tube

The main body tube houses most of the ROV's electrical components including:

Edison with Arduino Breakout board

Arduino proto shield

11.1V LiPo battery

power bus terminal blocks

vertical motor ESC


LED driver board

LED heat sinks

receiver balun

The main tube has a centrally located plate that provides a screw mounting point for most of the electronics. The battery is mechanically secured by a void in the middle of the plate. Two riser plates screw into the main plate and provide support for a smaller plate which makes the mounting point for the camera and LEDs. Once everything is mounted, the plate can slide into the main housing and align with the slots in the 3D-printed end caps. The end caps bolt to the frame with six 6-32 x 3/8" screws around each axis.

Step 9: Port and Starboard Thruster Tubes

The port and starboard thruster tubes are electrically simple, but have the most mechanical components of the ROV sub-assemblies. Each side tube houses an ESC for a thruster, has two end caps, two adapters for mounting the caps to the main body, a motor plate for offsetting the motor to increase flow around it, a motor, and a duct to protect the propeller from damage. We'll need to add connectors between the motor, ESC, and battery power bus. For each tube we'll need:


(3 pair) bullet connector

(1 pair) XT60 connector

(3x) 4" 16 AWG wire

(2x) 6.5" 16 AWG wire


Heat Shrink with Adhesive Tubing

Silicone glue


motor plate

motor shroud

(2x) tube adapter

(Insert true photo assembly)

Step 10: Vertical Thruster and Tether Assembly

The vertical motor assembly is similar to the side tubes, with the exception being that instead of a dedicated motor plate, it mounts into the center of the main body midplate directly. Once the motor is secured, the motor duct can be screwed on and the leads can be fished through the main tube. With the tether inserted into the main tube, the hole can be epoxied shut.

Step 11: Software

There are two separate Arduino style sketches that run the system which are (insert code archive above). The first sketch "ROV controller" constantly polls the buttons and joystick and passes different chars via UART depending on input conditions. The "ROV receiver" sketch is constantly parsing any characters passed and temporarily activates the motors. Unless constantly detecting update codes, the receiver sketch enters an idle state to conserve power and prevent damage to the motors. The receiver responds with an ACK code for any valid character received.

Step 12: Pre-Dive Preparations

Prior to submerging the ROV, it's important for everything to be fully inspected. For a good seal, all six o-rings need to be greased. Any synthetic grease will do. Once the o-rings are greased, the rear motors can be plugged into their ESCs and the side tubes can be popped in and screwed down securely. The main tube power connection can then be made. Once the battery is connected the LEDs should immediately light up as they require a signal to be actively turned off. The ESCs will now be expecting a control signal and will begin a steady beeping and the motors will twich. Once the Edison has booted it will immediately send the proper PWM pulse to the ESCs and they'll make a pleasant confirmation chime, this confirms that they are receiving a neutral throttle signal and will react accordingly. The video feed from the camera should also be immediately be visible on the controller if everything is properly wired.

Step 13: Final Thoughts

If you enjoyed reading this and are inspired to build your own, please contact me via private message first and I'll help out. Having completed this design, I've realized many improvements that can save both time and money and improve quality.

I'm happy with this so far as a prototype. ROVs are quite challenging! If you'd like to learn more, check out:

OpenRov and HomeBuiltROVs

These are two great references for hobbyists looking to build their own.



    • Fix It! Contest

      Fix It! Contest
    • Metalworking Contest

      Metalworking Contest
    • Tiny Home Contest

      Tiny Home Contest

    40 Discussions

    ROV stands for Remotely Operated Vehicle. NOT Remote Operated Underwater Vehicle. there are many types of ROV and not all are used in water.

    7 replies

    The term ROV most usually means some sort of underwater craft. On land, the water surface, and in the air they use the term RC.

    ROV does stand for Remotely Operated Vehicle but it is mostly used for underwater craft. Rc is for everything that is Radio Control. not only in the air and on land. ROV is just every vehicle that is controlled from a distance including drones, RC cars, RC boats and ROUV's.

    the term RC is not exclusive to land and air. it means Radio Control. and is typically used for the hobby community. and as your unit is a rov it is also a ROUV or the like. ROV is a blanket term and covers MANY more things than just water based machines. I am not trying to troll the thread. I am simply helping you look better. if I was using a term incorrectly I would hope someone would point it out and not be rude about it. I am not trying to be rude in any way.

    Sorry. that is incorrect. on both accounts. RC is used for the hobby community. and ROV still means what I said previously. if it is for water it would state Under water Remote Operated Vehicle. notice the part where it says Underwater? google is your friend and can help with this.

    Teledyne makes a whole line of remotely controlled underwater vehicles and they don't use "U" or "underwater" in the name of any of them. They simple call them "ROVs".

    anyone can pick a company or 2 and if they label it one thing does not make it so. look up the term ROV. its simple. the term ROV means Remotely Operated Vehicle. you don't have top change the argument to what ever oe pick at a person because you are wrong. the term ROV is a broad term and there are classes of rov that fall under it uav,drone etc.

    You seem to be the type who will put tomatoes in a fruit salad because biologically tomatoes are fruit. Just don't try getting a job in food service, or in underwater robotics either. You will find people don't work that way.

    Nope, not even close to Jealous. and just because I have not built one doesnt mean I cannot. I have chosen not to. and I didn't pick holes in his work. I think his work is great. his terminology is incorrect. iamborg your trolling tells the rest of the world how sad you clearly are... go troll elsewhere.

    Nice job! I want one..

    A big problem is always having to build to withstand the extra pressure on the hull.

    I got around that with my underwater vehicle by equalising the pressure inside the hull with the external water pressure - I did this by having a cylindrical tube fixed to the main hull tube and connected to it by a small duct. This external tube is open to the sea at one end but a rubber balloon is fitted inside which expands along the tube as the vessel dives lower, compressing the air inside the main hull to equalise to the water pressure. Of course, this will only work down to a certain depth !

    4 replies

    You could have filled the ROV with mineral oil which is incompressible. The ballon won't expand as much as it goes down, and you should be able to expand the depth by several orders of magnitude.

    Filling the tube with the camera with oil is going to cause optical problems. Definately test this before trying it for real.

    Actually, it just changes the index of refraction. That will be equivalent to changing the focal point in the camera. The only thing it might wreck would be lipos if you are using those. Lipos need to breath. You definitely want highly filtered oil though. I would wonder why lipos are being used in the first place. I would use supercaps and transmit low power through the control cable. Batteries are only needed for untethered operation. There are pleny of examples of oil immersion right here on instructables.

    Not too keen on that idea, can you imagine having all the components like cameras, batteries, electronics, servos etc, all covered with sticky goo ?
    I imagine it would wreck most of those devices.


    2 years ago

    Awesome! Nice work. Has been a pipe dream of mine for a while :) I always figured I would include a pressurised gas canister for buoyancy... your design would only be neutral at a certain depth and would start to sink as it got deeper right? A gas canister could fill a void with air, or a valve could open that void to water...

    But I'm not sure I completely understand the effect of pressure on buoyancy... I understand that as pressure forces the object to compress, it's volume is reduced so it is less buoyant... but that's not going to happen forever right? The material surrounding the void, plastic, metal, whatever, and the shape of it, it will either implode or eventually it could surely reach an equilibrium where the material/structure is incapable of compressing significantly and is happy to withstand the force of the pressure differential? It could plateau for a while even though it would eventually implode given enough pressure...

    So in that plateau state, if the pressure increases, is buoyancy unaffected? What I've been trying to look up (without success) is if the compression of water would be a factor... under pressure the density of water increases so the buoyancy would increase right?

    So going back to your model... you've either got something that would compress and therefore sink at greater depths, or something that doesn't compress much that might be more bouyant under pressure (if water compression is a factor?) so kinda reaches a maximum depth equilibrium, or a limit to the "neautral" zone... Sound about right?

    3 replies

    The compression effect you're talking about only applies if there's a flexible container of air (think a balloon, or lungs, or similar). As it descends the air compresses, it becomes physically smaller and displaces less water, therefore less buoyant.

    Now replace the balloon with a rigid container filled with air. The pressure on the outside still increases as it descends, but it doesn't change size; the volume of air inside doesn't change. So there's no change in buoyancy. Bottom line is that for this kind of design with rigid tubes containing the air, there's no buoyancy change as it descends.

    That's theoretical of course; even very hard plastic isn't 100% rigid so it might compress a tiny bit as you go deep. Then of course it will implode at some point. But the buoyancy shouldn't change more than a couple of percent.

    Ah ok cool, that's good to know! My only experience of the effect is from snorkelling: go down a couple of meters and you become neautrally bouyant, but that would be due to compressible wetsuit material, plus somewhat compressable chest and lungs :) Awesome to know my dream of building a sub might be that little less complicated!

    Buoyancy is the result of the (very small) pressure differential between the upper surface and the lower surface. Since water is (for the most part) incompressible, the only way to change buoyancy is to physically change either the surface area or depth of the vehicle. Anything else is changing the ballast. Submarines generally alter the ballast by moving water around thereby changing the effective density of the vehicle.

    Please include the cost of materials.