Back to Portfolio
MechanicalElectricalSoftware

REEF: Ulysses Sensor Vessel

Water Logging System

Developed For:Ulysses Maritime Technologies
Project Media

The Objective

Most commercial water monitoring setups for hydroponics or environmental tracking are either way too expensive or built to be permanently bolted down somewhere. I built the REEF module to fix that. It's a modular, easily expandable sensor suite that logs hydroponic water quality metrics. The main goal was to get reliable data logging without the overkill pricing and massive footprint of existing industrial systems.

Architecture & Design

  • Processing Split: I used an Arduino Nano to handle the low-level signal reading. Splitting the architecture this way let me easily hook up cheap analog sensors to the Arduino, while keeping the I2C sensors on the Raspberry Pi.
  • Data Flow: The analog sensors plug straight into the Arduino, which grabs the raw voltage, cleans up the data, and shoots it over to the Pi via UART. The Pi then merges that feed with its own sensor data. From there, the Pi handles the heavy lifting, like managing the camera streams and pushing everything to a Grafana dashboard.
  • Hardware & Housing: I designed a custom waterproof housing and chassis to hold an underwater camera, a light, and the full sensor suite, built for reliable operation in a submerged environment.
Project Media

Picture of the first version

Testing & Iteration

  • Packaging & Wire Routing: Trying to cram all these electronics into a compact waterproof enclosure was a nightmare. I ended up having to modify the structural mounts just to route the wires cleanly without ruining the rigidity of the chassis.
  • Camera Bandwidth: I hit a massive bottleneck trying to run two camera feeds at once. By ditching the raw stream and switching to MJPEG encoding, I dropped the data payload enough to run concurrent video feeds without lagging the telemetry data.
  • Signal Noise & Calibration: Some of the analog sensors drift over time. I set up a strict calibration schedule to combat this, and wrote some moving-average filters on the Pi to smooth out the noise before it hits the Grafana dashboard.