Skip to content

System Overview

SmartPot consists of three communicating units connected by a wired tether (submerged unit to buoy) and LoRa radio (buoy to base station).

A waterproofed ESP32-CAM module inside the crab pot. It runs a lightweight convolutional neural network (TFLite Micro, quantized MobileNet) trained to classify catch by species and size.

Key capabilities:

  • IR-illuminated camera for zero-visibility bottom imaging
  • On-device species classification and size estimation
  • Servo-driven door latch — lock to retain keepers, unlock to release bycatch
  • Hardwired tether to the surface buoy for data and power

When a catch event is detected, the camera classifies it and signals up the tether to the smart buoy. Bycatch and undersized animals can be released autonomously, in real time, at depth.

A Heltec Wireless Tracker (ESP32-S3 + SX1262 LoRa + dual-frequency L1/L5 GNSS) in a sealed buoy enclosure. It serves as the communications relay between the submerged unit and the base station.

Key capabilities:

  • Receives status from the submerged unit via wired tether
  • Logs GPS position (dual-frequency for sub-meter accuracy)
  • Transmits telemetry over LoRa at several miles of range
  • Solar panel and wave-energy harvesting for indefinite power
  • Sleep current of 15uA — idles for days between events on a small battery

A matching Heltec Tracker on the boat or at the dock. It receives telemetry and sends commands back to individual traps.

Key capabilities:

  • Live map of every pot in the string with real-time status
  • Per-pot display: keeper count, bycatch count, door state, battery level, water temperature, GPS coordinates, drift alerts
  • Bidirectional encrypted command protocol (see Command Protocol)
flowchart TD
subgraph base["Base Station (Heltec Tracker)"]
B_DISP["OLED Display"]
B_CMD["Command Interface"]
B_LORA["SX1262 LoRa Radio"]
end
subgraph buoy["Smart Buoy (Heltec Tracker)"]
BY_LORA["SX1262 LoRa Radio"]
BY_GPS["L76K GNSS"]
BY_PWR["Solar + Battery"]
BY_UART["Tether UART"]
end
subgraph trap["Submerged Trap Unit (ESP32-CAM)"]
T_CAM["OV2640 Camera + IR"]
T_ML["TFLite Classification"]
T_SERVO["Door Servo"]
T_UART["Tether UART"]
end
B_LORA <-->|"LoRa 915MHz\n3-8 miles"| BY_LORA
BY_UART <-->|"SLIP over UART\n24V PoE tether\n10-20m"| T_UART
T_CAM --> T_ML
T_ML --> T_SERVO
style base fill:#e6f3f0,stroke:#2d7d6f
style buoy fill:#e8f0f5,stroke:#3a6d8c
style trap fill:#f0f4f8,stroke:#4a6785

The submerged unit handles all vision and mechanical operations. The smart buoy handles positioning and long-range comms. The base station is the operator’s interface. Each layer does one job well.