Vehicle Specification · RoboSub 2026
Built without
a lab.
Sub-Epsilon is a fully autonomous underwater vehicle, garage-built by a team of high schoolers competing in an international university bracket with no institutional backing.
- Weight
- 2.1 kg
- Depth
- 8 m
- Thrusters
- 5×
- Build cost
- ~$850
Weight
Lightest entry in the 2026 RoboSub bracket by a wide margin. Most university vehicles weigh four to eight times as much.
Build Cost
Less than a single component on many university builds. Every off-the-shelf carrier board was replaced with a custom PCB wherever the geometry allowed.
Design Process
Requirements
Defined mission profile against the 2026 task list. Weight and cost ceilings were set before any part was ordered.
Frame Design
PVC tube frame with 3D-printed joiners. Thruster positions iterated in simulation before committing to cuts.
Electronics
Custom PCB frames inside a sealed acrylic capsule. Every board was designed in-house to fit the tube geometry.
Software
ROS 2 Jazzy on paired Raspberry Pi 5 boards. Computer vision pipeline built around YOLOv11 for gate and target detection.
Water Trials
Pool sessions of two to three hours. Each ends with a full hardware inspection and log review before the next.
Sealed Capsule
Custom PCB frames, no carrier boards.
Electronics live in a sealed acrylic tube with aluminum end caps and dual O-ring seals at each end. All PCBs were designed to fit the capsule geometry, eliminating the wasted volume of off-the-shelf carrier boards.
- Tube material
- Clear acrylic
- End caps
- 316 aluminum
- Seal method
- Dual O-ring per cap
- PCBs
- Custom frames, in-house
- Depth rating
- 8 m tested
Compute Platform
Two Raspberry Pi 5s, each with a defined job.
One Pi 5 handles the computer vision pipeline exclusively, running YOLOv11 inference against the camera feed for object detection and gate identification. The second handles navigation, state machine execution, and thruster control.
Splitting the workload keeps both boards within thermal limits inside the sealed capsule and keeps the vision pipeline from competing with navigation for CPU time. Both boards communicate over an internal network via ROS 2 topics and services. The split was not the original plan.
Field Notes
We burned through several Pi 5s.
Power regulation fault.
An unstable supply line delivered voltage spikes that killed two boards before the fault was isolated. Each board took the capsule apart and back together.
Thermal runaway, pool session.
The third died during a pool run. Ventilation inside the capsule is minimal; we had underestimated the steady-state load under sustained inference.
Protocol established.
Every board swap is now a full waterproofing recertification. The capsule pressure-tests before any pool session following an internal change. Three stable sessions since.
ROS 2 Implementation
Jazzy on bare metal, no simulation crutch.
The stack runs ROS 2 Jazzy directly on Raspberry Pi OS Lite, no Docker, no simulation overlay. Every node was written from scratch and validated against real hardware.
/nebula
├─ /vision_node
└─ YOLOv11 · gate / target detection
├─ /imu_node
└─ orientation · roll / pitch / yaw
├─ /depth_node
└─ pressure sensor · depth hold
├─ /nav_node
├─ PID controllers · 3-axis
└─ mission state machine
└─ /thruster_node
└─ 5× ESC · PWM command
Autonomous Navigation
State machine execution, sensor fusion.
Sub-Epsilon navigates using a hierarchical state machine that sequences mission tasks against the RoboSub task list. Each task is a defined state with entry conditions, execution logic, and explicit exit criteria.
Depth hold and heading hold run as continuous background PID loops. Detection results from the vision node are consumed as task preconditions: the sub will not transition states on detection alone, but gates on confidence threshold and positional alignment.
- Depth control
- PID on pressure sensor
- Heading
- PID on IMU yaw
- Vision
- YOLOv11, confidence-gated
- Mission
- Hierarchical state machine
- Localisation
- Dead reckoning + vision
