Post

DIY Smart ROV: Build a Cloud-Connected Robotic Submersible

Bring the Ocean to You with SparkFun, AWS, and Your Local Hardware Store

Author name: Joe Sambuco

Ocean exploration doesn’t have to cost six figures or require a marine engineering degree. In this build, we walk through how to design a fully functional ROV (Remotely Operated Vehicle) that’s:

  • Built with SparkFun electronics
  • Powered by Arduino
  • Connected to the AWS Cloud for real-time telemetry and control
  • Assembled with PVC, epoxy, and parts from your local Lowe’s or Home Depot

Whether you’re a student, diver, hobbyist, or professional, this guide gets you 20+ feet underwater with full sensor visibility and live feedback via a cloud dashboard.


Why This Project Matters

I’ve always had a passion for blending my love of the ocean, oceanography, scuba diving, Naval Diving, and robotics with the latest in technology and engineering. This project represents the convergence of all of those passions, bringing together the thrill of underwater exploration with hands-on innovation in electronics and cloud computing. It’s more than just a build, it’s a way to prototype real-world tools that could be used for everything from recreational dives to military-grade underwater missions.


Features

  • 20+ ft underwater depth capability
  • Live sensor and video feed
  • Tethered comms (Cat6 or fiber)
  • Web-controlled via AWS IoT
  • Expandable architecture

Materials

Hardware Store

  • PVC pipe (2” schedule 40)
  • End caps, elbows, tees
  • Marine epoxy
  • Stainless screws, zip ties, hose clamps
  • Acrylic disc (for camera dome)
  • Electrical junction box
  • Ballast weights or sand

SparkFun & Electronics

  • SparkFun RedBoard (Arduino-compatible)
  • Qwiic Environmental Sensor Kit
  • SparkFun Motor Driver (Serial Controlled)
  • Bilge pump motors or T200 alternatives
  • ESP32-CAM or USB cam
  • Underwater servo (optional)
  • Qwiic cables

Cloud / Compute

  • Raspberry Pi 4
  • AWS IoT Core
  • AWS Lambda
  • AWS DynamoDB
  • AWS CloudWatch
  • Ethernet-to-USB or Wi-Fi bridge

Tools

  • Soldering iron
  • Wire strippers
  • Heat gun & shrink wrap
  • Epoxy gun
  • Drill with hole saw
  • Laptop with Python & Arduino IDE

Step-by-Step Instructions

Step 1: Build the Frame

1
2
3
4
5
# Dry fit all joints before gluing
- Cut four 12" PVC sections and four 18"
- Create rectangular base frame
- Add T-branches for vertical lift arms
- Mount ballast tubes at the bottom

Step 2: Create Electronics Bay

1
2
3
4
5
- Use waterproof junction box
- Mount RedBoard and Raspberry Pi inside
- Drill holes for bulkhead connectors
- Mount sensors on perfboard
- Seal cable entries with epoxy

Step 3: Motor and Thruster Setup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Arduino example for PWM motor control
#include <Servo.h>
Servo motorLeft;
Servo motorRight;

void setup() {
  motorLeft.attach(9);
  motorRight.attach(10);
}

void loop() {
  motorLeft.write(1500);  // neutral
  motorRight.write(1500);
}

Step 4: Add Sensors

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Example for reading Qwiic environmental sensor
#include <Wire.h>
#include "SparkFun_BME280.h"
BME280 sensor;

void setup() {
  Wire.begin();
  sensor.beginI2C();
}

void loop() {
  float temp = sensor.readTempC();
  float pressure = sensor.readFloatPressure();
  float altitude = sensor.readFloatAltitudeMeters();
  Serial.print("Temp: "); Serial.println(temp);
  delay(1000);
}

Step 5: Camera & Dome

1
2
3
4
- Use ESP32-CAM or USB webcam
- Mount inside acrylic dome
- Seal dome to PVC endcap with silicone
- Test waterproofing before mounting

Step 6: Tether & Power

1
2
3
- Use 50-100 ft of Cat6 cable with RJ45 ends
- PoE injector or battery topside
- Use floaters to neutralize cable buoyancy

Step 7: Cloud Connection (AWS IoT)

Pi Python Script (MQTT Publisher)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import paho.mqtt.client as mqtt
import json
import time

client = mqtt.Client()
client.username_pw_set("YOUR_IOT_USERNAME", "PASSWORD")
client.connect("YOUR_ENDPOINT", 8883)

while True:
    payload = json.dumps({
        "temperature": 22.3,
        "pressure": 1013.2,
        "altitude": 4.5
    })
    client.publish("rov/telemetry", payload)
    time.sleep(2)

AWS IoT Setup

1
2
3
4
- Create new "thing"
- Download certs and keys
- Attach policy to allow publish/subscribe
- Test via AWS IoT MQTT Test Client

AWS Lambda Function (process data)

1
2
3
def lambda_handler(event, context):
    print("Received: ", event)
    # store in DynamoDB, trigger alert, etc.

AWS CloudWatch Dashboard

  • Set up metrics to visualize telemetry
  • Add alarms for depth or temperature thresholds

Alignment with the Navy Deep Diving Program

This DIY ROV project aligns closely with the technical and operational mindset fostered in the Navy Deep Diving program. Key overlaps include:

  • Hydrodynamics and Buoyancy: Building and balancing this submersible reinforces understanding of neutral buoyancy, core to Navy dive operations.
  • Pressure and Environment Sensing: Real-time pressure and depth tracking mirror the instrumentation used in deep dive suits and submersibles.
  • Remote Operations: Learning to operate the vehicle remotely over tether simulates real-world control scenarios for underwater tools and rescue devices.
  • System Troubleshooting and Redundancy: Integrating sensors, power, and communications provides hands-on experience managing complex systems in a harsh environment, critical for Navy dive missions.
  • Data Collection and Analysis: AWS integration teaches remote telemetry and analysis, a skill increasingly important in modern naval operations and underwater reconnaissance.

For Navy divers and techs, this project offers a controlled, scalable way to prototype tools and build experience in marine robotics, translatable to salvage ops, underwater repair, and surveillance missions.


How Recreational Diving is Fueling Innovation

Recreational diving has become a proving ground for innovation, blending curiosity with practical engineering. The growing accessibility of dive gear, open-source electronics, and cloud platforms has opened the door for individual tinkerers and startup teams to push the envelope in underwater technology.

  • DIY and Maker Communities are repurposing low-cost materials and microcontrollers for dive-related experiments, building everything from underwater drones to smart dive computers.
  • Cloud-native Platforms like AWS enable divers to gather, store, and analyze real-time environmental data from their expeditions.
  • Electrical and Software Engineering Skills, once isolated to labs and corporations, are now powering innovations from garages and makerspaces, enhancing dive safety, data collection, and marine research.

The cross-pollination of diving, cloud computing, and modern electronics is accelerating a new wave of underwater exploration tools, empowering individuals to build what used to require institutional budgets.


Budget Estimate

ItemEst. Cost
PVC + Hardware$45
SparkFun Parts$120
Motors + ESCs$80
Camera + Pi$65
Tether & Power$40
AWS Free Tier$0
Total$350

Future Upgrades

  • Manipulator arm
  • Sonar scanner
  • GPS surface buoy
  • 4G or Starlink comms via topside node
  • Edge ML via AWS Greengrass

Final Words

With under $400, you can put a rugged, expandable, cloud-powered robot in the water. SparkFun makes the electronics modular. AWS brings the data to your fingertips. And PVC keeps it all cheap and strong. Build it once. Upgrade it forever.

Happy diving, Happy ROV’ing

This post is licensed under CC BY 4.0 by the author.