Skip to content

Submerged Unit

The submerged unit lives inside the crab pot, handling all vision, detection, size measurement, and door control operations.

Compute Module: Waveshare ESP32-P4-NANO

  • Espressif ESP32-P4 (dual RISC-V HP cores, 400MHz)
  • 768KB SRAM + 32MB OPI PSRAM (200MHz)
  • MicroSD card slot (model storage, image logging, calibration data)
  • USB-C programming interface
  • ESP32-C6 companion chip (bench testing and diagnostics only — not used in deployment)

Camera: OV5647 NoIR (MIPI CSI)

  • 5MP (2592×1944), no IR-cut filter
  • MIPI CSI-2 (2-lane) interface
  • Hardware ISP: debayering, white balance, noise reduction, lens distortion correction
  • IR-sensitive natively (NoIR variant)
  1. Trigger: LP-Core detects motion via frame differencing (main CPU sleeps until woken)
  2. Capture: MIPI CSI frame with IR illumination, processed through hardware ISP
  3. Detect: ESP-DL YOLO inference (320×320 input, INT8 quantized)
    • Output: bounding boxes + class scores + confidence
    • Inference time: TBD (estimated <200ms based on esp-detection benchmarks)
  4. Measure: Pinhole camera model converts bounding box pixels to physical size (mm)
    • Uses camera calibration data + known pot floor distance
    • Accuracy target: ±5–10mm at typical pot dimensions
  5. Decide: Compare species + measured size against regulatory minimums
  6. Act: Lock door (keeper) or unlock door (release bycatch)
  7. Report: Send CATCH_EVENT up the tether to the smart buoy
  • Wavelength: 850nm (invisible to crabs, effective underwater)
  • Array: 3–5 IR LEDs, forward-facing
  • Power: Pulsed only during capture (100ms pulse, ~500mA peak draw)
  • Range: Effective at 30–50cm (typical pot interior dimensions)
  • Actuator: MG90S metal gear micro servo (stall torque 1.8kg·cm)
  • Mechanism: Cam-locked sliding bolt
  • States: Locked (retain catch), Unlocked (release)
  • Feedback: Position sensor confirms door state
  • Failsafe: Door defaults to unlocked on power loss (releases all catch rather than trapping indefinitely)

The submerged unit connects to the smart buoy via a 4-conductor shielded cable:

WireFunction
RedV+ (24V from buoy boost converter)
BlackGND (power return)
YellowUART TX (submerged -> buoy)
WhiteUART RX (buoy -> submerged)

The submerged unit includes an MP1584 buck converter stepping 24V tether power down to 5V, plus a 3.3V LDO for the ESP32-P4. This PoE approach reduces voltage drop over 10-20m cable lengths from ~0.85V (at 5V/500mA) to ~0.18V (at 24V/104mA), providing clean power at any practical tether length.

  • Baud rate: 115200
  • Protocol: SLIP-framed packets (same format as LoRa packets, minus encryption)
  • Cable length: 10–20m depending on deployment depth
StateCurrent DrawDuration
Deep sleepTBD (datasheet v0.5)Most of the time
Idle monitoring (LP-Core, 1 fps)~5–10mA (estimated)~200ms per second
Active inference~400–500mA (estimated)~300ms per event
Servo actuation500mA~1s per event

All power is supplied as 24V PoE via tether, stepped down locally. The submerged unit has no local battery.