Skip to content

Submerged Unit

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

Microcontroller: ESP32-CAM (Ai-Thinker module)

  • Espressif ESP32-S (dual-core 240MHz, 520KB SRAM)
  • OV2640 camera (2MP, 1600×1200 max)
  • MicroSD card slot (used for model storage and image logging)
  • 4MB flash + 4MB PSRAM
  1. Trigger: Motion detected via frame differencing (camera captures at 1 fps idle)
  2. Capture: Full-resolution frame with IR illumination
  3. Classify: TFLite Micro inference (quantized MobileNet v2, INT8)
    • Input: 96×96 RGB (downscaled from capture)
    • Output: species class + confidence score
    • Inference time: ~300ms on ESP32
  4. Measure: Size estimation from known camera-to-subject distance
  5. Decide: Compare species + size against keeper thresholds
  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. 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 sleep10µAMost of the time
Idle monitoring (1 fps)80mA~200ms per second
IR capture + inference350mA~500ms 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.