Skip to content

Base Station

The base station is the operator’s interface to the SmartPot fleet. It receives telemetry from all deployed smart buoys and sends commands back to individual traps.

Same as the smart buoy: Heltec Wireless Tracker v1.1 (ESP32-S3 + SX1262 + GNSS).

The base station firmware differs — it runs the fleet management interface rather than the buoy relay firmware.

  • Single-pot status view (cycle through pots with buttons)
  • Summary stats: total pots, keepers, alerts
  • Compact for handheld/pocket use
  • Fleet map view with pot positions
  • Color-coded status indicators
  • Touch input for command selection
  • BLE connection from base station to phone
  • Full fleet dashboard with maps
  • Command interface with confirmation dialogs
  • Tide-aware alerts (see below)

The base station maintains a local database (NVS) of all registered pots:

FieldTypeDescription
pot_iduint16Unique identifier
aes_key16 bytesPer-pot encryption key
deploy_latint32Deployment latitude (1e-7 deg)
deploy_lonint32Deployment longitude (1e-7 deg)
last_seenuint32Unix timestamp of last telemetry
keeper_totaluint16Cumulative keeper count
statusuint8Current pot status flags

The operator can send any command from the Command Protocol to any pot in the fleet. Critical commands (SURFACE, LOCK_DOOR, UNLOCK_DOOR) require confirmation:

  1. Operator selects pot and command
  2. Base station displays confirmation prompt
  3. Operator confirms
  4. Command is sent with AES-CMAC authentication
  5. Base station waits for ACK (up to 10s, 3 retries)
  6. Result displayed to operator

Crabbing in river mouths and estuaries is tide-driven — crabs are most active during incoming (flood) tide, with catch rates dropping roughly an hour after high tide. SmartPot provides tide-aware alerts so the operator can time pulls to the productive window instead of guessing.

Tide logic runs entirely on the phone app, not on the ESP32 firmware. The base station’s role is limited to relaying telemetry via BLE to the phone — the base station hardware has no tide awareness of its own.

The data flow:

  1. Phone GPS fix — the app reads the operator’s current position (or the centroid of deployed pot positions)
  2. Station lookup — the app queries the NOAA CO-OPS Tides & Currents API for the nearest active reference station
  3. Prediction fetch — the app requests tide predictions (high/low times and heights) for the next 48 hours from that station
  4. Window computation — flood and ebb windows are derived from the prediction data, adjusted for any known time offset between the reference station and the actual fishing area
  5. Alert generation — the app compares the current time and incoming telemetry against the computed tidal windows and fires alerts

The phone app uses two primary NOAA CO-OPS endpoints:

Station discovery — find the nearest reference station to the operator’s GPS position:

GET https://api.tidesandcurrents.noaa.gov/mdapi/prod/webapi/stations.json
?type=tidepredictions
&units=english

The app filters the returned station list by distance from the phone’s GPS coordinates and selects the closest active station.

Tide predictions — fetch high/low predictions for a given station:

GET https://api.tidesandcurrents.noaa.gov/api/prod/datagetter
?station=8638863
&product=predictions
&datum=MLLW
&units=english
&time_zone=lst_lke
&interval=hilo
&begin_date=20250601
&end_date=20250602
&format=json
&application=SmartPot

A standalone noaa-tides MCP server is in development as a companion tool for working with NOAA CO-OPS tide data outside the SmartPot phone app. This server wraps the same NOAA API endpoints and is intended for desktop-side analysis, fleet planning, and development workflows. It is not a dependency of the SmartPot system itself — the phone app handles all tide queries at runtime.

AlertTriggerAction
Flood startingIncoming tide detected at deployment locationNotify: productive window opening
Window closing~1 hour after local high tideNotify: catch rates declining, consider pulling
Pot fullKeeper count hits operator-defined thresholdNotify: pot ready for recovery
Idle potNo catch events for configurable durationNotify: consider repositioning
Safe to soakPot GPS stable, no drift, good batteryConfirm: safe to leave for next tidal cycle

Because SmartPot pots are GPS-tracked and ropeless, leaving them across tidal cycles is low-risk — the system knows where every pot is and can surface any of them on demand. The operator pulls when the pot is full, not when they’re afraid of losing it.

Every catch event in the telemetry log carries a Unix timestamp. After a fishing session (or over a full season), these timestamps can be correlated with historical tidal phase data from NOAA to build a picture of catch rates relative to the tidal cycle at each deployment location. This is where the real operational value accumulates — over time, the operator learns which spots produce during which phase of the tide, turning anecdotal knowledge into verifiable data.

  • USB-C powered when on the boat (12V→5V adapter from boat electrical)
  • 3.7V 3000mAh LiPo for portable use (~12 hours active, days in standby)
  • External 915/868 MHz antenna (SMA, 3dBi whip or 6dBi directional)
  • Higher-gain directional antenna recommended for extended range to offshore pots
  • Magnetic mount for boat-top installation