Introduction: MiniSub ROV

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.


ClearCaseMan made it!(author)2016-02-04

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

SherpaDoug made it!(author)2016-02-05

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.

AlexanderS212 made it!(author)2016-10-01

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.

ClearCaseMan made it!(author)2016-02-06

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.

ClearCaseMan made it!(author)2016-02-06

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.

SherpaDoug made it!(author)2016-02-06

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".

ClearCaseMan made it!(author)2016-02-06

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.

SherpaDoug made it!(author)2016-02-06

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.

ClearCaseMan made it!(author)2016-02-06

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.

mikes351 made it!(author)2016-02-06

Nice job! I want one..

and7barton made it!(author)2016-02-04

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 !

Nyxius made it!(author)2016-02-05

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.

SherpaDoug made it!(author)2016-02-05

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

Nyxius made it!(author)2016-02-06

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.

and7barton made it!(author)2016-02-05

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.

SiDawg made it!(author)2016-02-04

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?

TimothyJ999 made it!(author)2016-02-05

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.

SiDawg made it!(author)2016-02-05

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!

Nyxius made it!(author)2016-02-05

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.

stleary made it!(author)2016-02-04

Please include the cost of materials.

Nyxius made it!(author)2016-02-05

I'm estimating a low ball of 500 just to get the basic components and parts. The motors and boards alone are at least 350 USD.

MikeD11 made it!(author)2016-02-04

So the motors can get wet? Can they take salt water? Thanks for making the Instructable!

Nyxius made it!(author)2016-02-05

Yes they can take salt water, but they need careful maintenance after exposure. Leaving the salt on the motor can cause corrosion and alter eddy currents in the rotor lowering performance. I would recommend ferrofluid sealed motors for saltwater.

BobF13 made it!(author)2016-02-04

Isn't an Edison (actually 2 Edisons) over-kill for this project? What are they doing that the Arduino's can't handle?

ptdecker made it!(author)2016-02-04

I think Intel sponsored this advertisement... er, instructable. :-)

Kiteman made it!(author)2016-02-05

@ptdecker: That's why there's a big "sponsored" banner at the top of the page.

@BobF13: My coding skills are minimal (I've made my arduino blink lights so far) - would an arduino be up to the job?

BobF13 made it!(author)2016-02-05

@Kiteman: I'm using an Arduino Leonardo operating a balancing robot, running PID algorithm using inputs from an accelerometer/gyro sensor. It then communicates information via an Xbee shield to my wifi router so I can control the robot using my iPad. The Leonardo is so old that it isn't in production anymore (except by cloners). I bought 3 of them from Amazon for $5.00 each. Much cheaper than an Edison at $100 each. I'm also using an Arduino Due to operate my 17 DOF walking biped robot. No balance algorithms yet, but they are coming, along with obstacle detection. Control using PS/2 controller, bought off eBay for $5.00 each.

Kiteman made it!(author)2016-02-05

So, I guess that's a "yes", then?


BobF13 made it!(author)2016-02-05

Yes, sorry for the long winded reply...I thought you were "dissing" the Arduino as being capable of only flashing lights. (That's a good start, it's were I began!) I don't have anything to provide for the ROV in that regard, but search for ROV-DIY_Arduino and something might pop up.

Kiteman made it!(author)2016-02-05

Haha, no, I just have a poor record with code, but I'm starting to learn!

Nyxius made it!(author)2016-02-05

There are arduino variants that use ARM processors and can sample things at several hundred thousand times per second. I used a teensy for a neural controller on a stewart platform. I was very impressed. It was very compact too. about half the size of a gum stick.

billbillt made it!(author)2016-02-04

Very complete and interesting.... Just WAY TOO expensive for the average person....

BobF13 made it!(author)2016-02-04

This looks like a neat project. I've been accumulating info on various ROVs to try and get the best ideas. Too bad this site won't let me download a PDF so I can look at it in detail. Make Magazine does allow PDF downloads. So...I'll just mark this as a favourite and may come back to it. Why don't you submit to MAKE?

Kiteman made it!(author)2016-02-04

You can download PDFs if you turn Pro (either by paying, or by submitting a cool project that gets Featured), but the PDFs contain no more information that what you see on the screen - just copy & paste the page into your favourite text editor.

BobF13 made it!(author)2016-02-04

YEah, I know. I've done that. It's just more convenient as a PDF that I can access quickly from my computer where I have potential projects in folder. The ones with LOTS of promise I will print out. I'm too busy building other people's projects to come up with an Instructable of my own!

probetech made it!(author)2016-02-04

Water in the money bag...Priceless.

Kurt+E.+Clothier made it!(author)2016-02-03

Awesome work - very clean schematics. I'll have to try this out some time.

Alexander+heron+the+inventor made it!(author)2016-02-03

easier one please

Bill+Rose made it!(author)2016-02-02

A-Vast Behind..! And other nau-ticlly terms.. Great ROV. I suspect it could dive a long way down. Amazing engineering. From an old 'Sea-Dog' now beached like a whale..

SteveMann made it!(author)2016-01-31

Nice to see an underwater project.

I've also built some underwater devices, and it can be difficult to get things not leaking, etc..

About This Instructable




Bio: 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 ... More »
More by Aleator777:MiniSub ROVBasics of Thermal ImagingMiniature Autonomous Blimp
Add instructable to: