A solar powered autonomous submarine that explores and measures the ocean at night, and posts the results to Twitter and Facebook by day.

Similar projects worth following
ArduSub is an underwater submarine that explores and measures the ocean or other bodies of water using its on-board PH, dissolved oxygen (DO), oxidation reduction potential (ORP), salinity, pressure, and temperature sensors. The ArduSub has two on-board Arduinos, which would allow users to upload experiments. The ArduSub would gather ocean data during night missions and surface during the day to charge its batteries using solar energy. While on the surface of the ocean, the ArduSub would transmit the gathered data to social sites such as Twitter and Facebook via PACTOR or WINMOR protocols on the high frequency (HF) amateur radio (HAM) band.

The goal of this project is to provide a low cost platform in which various groups of people can have access to remote real-time data for experiments and research of various bodies of water.

Solar panel 5 amps at 12 V.

Max depth 200 feet

Entry Video

View all 13 components

  • Design flaws

    cjh12/19/2014 at 05:21 0 comments

    I have discovered a few problems with the MDM board. 1. Missing pull up on tx out pin on the rs485 driver. I discovered that when the ~re (receive enable) pin on the 485 driver goes high, the tx out pin goes low. This high to low transition will appear as a start bit and cause a character interrupt on the xmega. By pulling up th tx out pin the line will stay high when the receiver is turned off. 2. The chip select lines for all six motor drivers are connected together but are not connected to the xmega.

  • Board testing

    cjh12/13/2014 at 15:21 0 comments

    I finally got around to building up the MDM board. I populated 1 motor driver IC and the rs485 driver. I had a problem where the package I used from Kicad for my Atxmega was too small so I had to create another Atxmega break out PCB and wire that to the original MDM board. Long story short I have lab view on the PC sending messages via rs485 to the xmega which is driving PWM to the motor driver that drives the motor with a propeller attached. The motor draw less than an amp at full speed when unloaded and about 3 amps when submerged in water.


    cjh09/12/2014 at 03:22 0 comments

    I got the MDM PCB from OSH Park a couple of weeks ago. I started to assembly the board tonight, but I relized that the ATXMEGA128D3 was too large for the footprint I had put on the board. I selected the TQFP64 footprint from Kicad, but didn't verify the dimensions against the data sheet.

  • System Design Diagram

    cjh08/20/2014 at 04:23 0 comments

    This diagram shows the ArduSub connected to the Internet, on-board electronics, sensors and thrusters.

  • Entry Video

    cjh08/20/2014 at 04:17 0 comments

    Uploaded entry video. It was very hard to describe all the details I wanted in two minutes. I did manage to show the board from KiCAD 3D viewer in luie of waiting for my board to ship.

  • PCBs

    cjh08/17/2014 at 13:42 0 comments

    MDM pcb is on its way should be here on Monday. Working on code, I wanted to demo board for my entry video but I don't think I will have enough time.

  • MDM Hardware Block Diagram

    cjh08/09/2014 at 16:49 2 comments
  • ArduSub Communication Spec

    cjh08/09/2014 at 15:30 0 comments

    Working on this document, describes the messages that go from one board to another. Will post soon.

  • PCBs

    cjh08/09/2014 at 15:01 0 comments

    I ordered the MDM PCB from OSH Park 3 copies of the MDM for $80.15.

  • 08-07-2014 3:20 PM

    cjh08/07/2014 at 20:20 0 comments

    Added MDM Gerbers

View all 13 project logs

Enjoy this project?



Reine wrote 12/22/2021 at 01:03 point

Amazing! I like this one, I think I saw this used in a movie.

- Reine,

  Are you sure? yes | no

silvio biasiol wrote 04/21/2016 at 20:44 point

Thank you! I will probably pick it as well!

  Are you sure? yes | no

silvio biasiol wrote 04/18/2016 at 20:23 point

thank you! :)

  Are you sure? yes | no

cjh wrote 04/18/2016 at 18:38 point

I mainly picked the MPU-9150, because I heard this is what is used on cast AR. I figured if the specs were good enough for head tracking they would be good enough for a submarine.

  Are you sure? yes | no

silvio biasiol wrote 04/14/2016 at 20:46 point

That's an amazing project! Can I ask you what  are your considerations for choosing the MPU-9150? I'm doing an autonomous boat and I'm struggling to choose the right IMU :)

  Are you sure? yes | no

cjh wrote 10/02/2015 at 02:20 point

I want to add a side scan sonar to this project. I think I could build it from ultrasonic cleaner transducers. I have also been thinking about adding a beagle bone black as the master controller. This will make video capture easier as I won't have to design a board for that.

  Are you sure? yes | no

cjh wrote 10/02/2015 at 02:16 point

Chris, thanks for your comments. I like your idea about the bouy it allows the ROV to constantly be in communication with the surface. This way I can stream video and other data. It also allows for a larger solar array.

  Are you sure? yes | no

chris jones wrote 08/22/2015 at 20:00 point

I love this project. I've seen other hobbyist UUV (unmanned underwater vehicles). They used neutral buoyancy too. They used water pump jets for lateral navigation and for vertical power dives/ascents. When the jets stop the UUV naturally ascends slowly to it's natural buoyant point. You'd have to reverse vertical jets for powered ascent. Using jets versus screws (propellers) help from getting fouled in vegetation or coming into harmful contact with biologicals (i.e. fish, manatees, etc.)

Personally I would like to see this: 

(1) Tethered line to a floating stationary sea-buoy. The buoy could have a sea-anchor or bottom-anchor. It could contain the solar cell array and send recharging power down to the UUV. It could have a self-retracting spool to prevent line-fouling. It could also contain the radio telemetry package and radiate at all times since it is not underwater. Also GPS package is top-side. The UUV would not need to navigate laterally underwater and could just stay in that column under the buoy. The buoy could also have strobe lights and safety flags.

(2) To assist in descent/ascent... take a clue for US Navy submarines. You could construct some sort of PVC tank that is balanced, large, and can handle seawater and compressed air. It would have a water pump attached to it and an air pump. To dive you'd turn on the water pump and effectively scuttling the UUV. You could monitor rate of descent with some sort of barometric sensor. Also water detection sensors at key vertical points in the tank tell you how much ballast you've taken on. Conversely a compressed air pump could push the seawater out through a electronically controlled one-way valve (a/k/a blowing ballast). You will see a lot of bubbles during ascent. However, there is a weird effect that may or may not occur, ice crystals around the compressor air nozzle. You may need a electronic Peltier Effect element to provide heat to melt any ice build up. If you're concerned with the vessels horizontal attitude (a/k/a down-bubble) or trim during descent you could use Hg switches to monitor horizontal level. However, you need more than one ballast tank to compensate for trim. But if your ballast tank is perfectly balanced in the center of the UUV then this might not be an issue.

(3) Emergency acoustic pinger is a good idea but it is difficult to pinpoint location without sophisticated passive-systems (and JW Fisher 12 khz pingers are about $95 but others go into the thousands). Also you have to regulate the decibels to prevent biological hearing damage (i.e. whales and dolphins). You also need to add a up-pointing blue/green LED flasher. Putting a bulls-eye pattern on top of the UUV will aid in seeing the UUV from the surface if the waters are not too turbid. Unfortunately you may need to invest into a grapple hook for sea rescue of your UUV if the tether breaks or you don't use one at all.

(4) At 200' (61 m) of seawater your PSI is about 104 psi. If you want a good resealable end-caps for your PVC you should use Oatey Test Plugs (available at Lowes and Home Depot in USA) . But moisture could still be introduced to you interior via inner-wall condensation. Not sure how to combat that without interior temperature regulation which would make your costs prohibitive. Oatey test plugs are not rated for 104 psi. But the sea pressure will be pushing in on them rather than out. They can withstand 17 psi head pressure (pushing out). Remember everything will get tighter at depth and reverse that on ascent. Make sure all equipment is rated to withstand 104 psi from all sides for 200' depths. A under-rated ballast tank could implode at submerged depth and could explode if air pressure is too high during ascent. So the tank should be over-spec (i.e. MilSpec). If you add cameras they may need special water-tight and pressurized containers at depth. Unless you're buying underwater rated cameras.


SOTB (a/k/a Chris)

  Are you sure? yes | no

cjh wrote 09/12/2014 at 04:11 point
What liscence should I use for the code on this project?

  Are you sure? yes | no

J Groff wrote 08/10/2014 at 17:36 point
James Cameron built a new sub that uses weights as ballast. There are special restraints that corrode in seawater such that the weights are dropped by a certain time, regardless, as well as manual release inside. Failsafe. Someone joked about him littering the Marianas trench.

  Are you sure? yes | no

J Groff wrote 07/31/2014 at 17:15 point
60 watts of solar panel is going to take some room. Are you going to have a way to retract it during dive?

  Are you sure? yes | no

cjh wrote 08/09/2014 at 14:57 point
I found 2.6W 6" x6" solar cells on amazon. I need 24 cells in series to get 12V out. I calculated a total cell area of 24" x 36". The top frame of the sub is 16" x 24". So there will be an overhang of 6" on the front an back and an overhang of 4" on both sides. I don't think I will need to have any mechanism for retraction. With all that said seems like I should reduce my power by 1/2, would make things easier. Only concern is can I charge batteries with 30 watts. Need more research.

  Are you sure? yes | no

cjh wrote 07/24/2014 at 03:52 point
Due to pressure concerns I am limiting phase 1 of this project to 200 feet.

  Are you sure? yes | no

J Groff wrote 07/27/2014 at 16:54 point
Limiting? I think if you make a successful dive and recovery from 200' you have achieved a great feet, er feat.

  Are you sure? yes | no

cjh wrote 07/24/2014 at 03:45 point
As far as computing power goes, this sub will be controlled by the following PCBs:
1. Environmental Sensing Module (ESM) This board is responsible for reading all environmental sensors.
2. Motor Driver Module (MDM) This board is responsible for controlling all thrusters and contains the inertial navigation and GPS chips.
3. Solar Charging Module (SCM) This board manages the charging of the batteries and solar cells.
4. Mission Control Module (MCM) This board controls the missions and interfaces with the two Arduino processors.
5. Radio Communication Module (RCM) This board transforms digital data into HF radio.
Each board has an Atmel ATXMEGA8E5-AU and is connected by RS485. The reason for the Arduino is to provide a common platform so that users can design experiments for this sub and also be able to test the experiments at home. The two main goals of the project are modularity and low cost. Also my plan for phase 2 of this project is to add video cameras and possibly a higher end processor on the video board.

  Are you sure? yes | no

cjh wrote 07/24/2014 at 03:45 point
I have thought about the recovery a bit. The sub is neutrally buoyant with an electromagnet and weight on the bottom. The electromagnet is powered from a separate battery pack with a 24 hour life before there is not enough power to hold the weight. Unless the sub surfaces to charge this battery the sub will surface after 24 hour and start a navigation path towards the nearest coast. There are some details to work out with this design, but that is my initial plan.

  Are you sure? yes | no

J Groff wrote 07/23/2014 at 20:30 point
I think thats why most hobby AUV projects favor active-dive positive/neutral buoyancy platforms. I am most interested to see how you maintain a resealable watertight compartment with those 6" PVC water main fittings.

  Are you sure? yes | no

jlbrian7 wrote 07/23/2014 at 22:40 point
If the far end is a threaded plug I think it would work if it was teflon taped and had swak applied every time it was resealed.

  Are you sure? yes | no

jlbrian7 wrote 07/23/2014 at 22:46 point
As for the positive/neutral bouyancy, I dont think that it would help if this was operating near shore and got cought on rocks/debris/plants, and off shore debris and plants would be an issue, but for a hobby device so would recovery so it probably wouldn't matter.

  Are you sure? yes | no

George Aguirre wrote 07/23/2014 at 16:30 point
Try expanding the computing potential by using a BeagleBone Black, UDOO, WandBoard, HummingBoard, Raspberry Pi, whatever you are used to. Since you are using an Arduino in the initial design, a UDOO may be the most appropriate. It has a full computer system onboard, and you can get them with bluetooth and wireless as well. It would allow the system to store more data and run analysis on board before you retrieve the data

  Are you sure? yes | no

jlbrian7 wrote 07/23/2014 at 16:48 point
I disagree. Once you put this thing in the water at some point you are going to lose it. I think that the most important things are low environmental impact of the parts, keep it cheap, and if feasible build in a way to ping it if it fails to surface in the event you are able to recover it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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