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 ruggedized waterproof tablet
  • Full fleet dashboard with maps, sunlight-readable
  • Command interface with confirmation dialogs (glove-compatible touch)
  • Harvest intelligence alerts: tidal window + soak time + pull priority

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 and soak logic runs entirely on the deck tablet app, not on the ESP32 firmware. The base station’s role is limited to relaying telemetry via BLE to the tablet — the base station hardware has no harvest intelligence of its own.

The data flow:

  1. Tablet 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 tablet 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 tablet’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

The mcnoaa-tides MCP server is a standalone companion tool for working with NOAA CO-OPS tide data outside the SmartPot deck tablet app. It wraps the same NOAA API endpoints and is built for desktop-side analysis, fleet planning, and development workflows. It is not a runtime dependency of the SmartPot system — the tablet app handles all tide queries at runtime — but it provides the tooling for tidal analysis during development and post-hoc catch correlation.

SmartPot-specific tools:

ToolDescription
tidal_phaseClassify current tidal phase (flood, ebb, slack high, slack low) at a station
deployment_briefingGenerate a full tidal briefing for a deployment window — optimal set/pull times, productive windows, risk factors
catch_tidal_contextCorrelate catch event timestamps with tidal phase for post-hoc analysis
water_level_anomalyDetect anomalous water levels (storm surge, wind-driven deviation) vs. predicted tide

Installation:

Terminal window
claude mcp add mcnoaa-tides -- uvx mcnoaa-tides

The server also provides SmartPot-specific prompts — smartpot_deployment for deployment planning and crab_pot_analysis for catch-tidal correlation analysis.

See the full Tools Reference for all 13 tools, 4 prompts, and 3 resources.

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.

Beyond tidal timing, SmartPot tracks soak-related metrics to prevent catch quality degradation. These metrics are computed on the deck tablet from telemetry data and the CATCH_EVENT log — they are not transmitted over LoRa or computed on the ESP32 firmware.

For the biological basis behind these metrics, see Soak Time Biology.

MetricSourceDescription
Guest durationCATCH_EVENT timestampsTime since oldest crab entered the pot. Computed from the earliest uncleared catch event.
Catch rateCATCH_EVENT frequencyEvents per hour, rolling window. Proxy for bait effectiveness.
Idle timeCATCH_EVENT gapTime since last catch event while pot contains catch. Indicates bait exhaustion.
Soak ageDeployment timestampTotal time since pot was deployed or last reset.
Water temperatureTelemetry water_temp fieldModulates all degradation rates — warmer water accelerates bait decay, stress, and cannibalism.
AlertDefault ThresholdTrigger
Long guest6 hours (configurable)Oldest crab has been in the pot longer than threshold
Bait exhausted2 hours idle with catch (configurable)No new catch events while pot contains keepers
Max soak24 hours (configurable per jurisdiction)Total soak time exceeds regulatory or operator-set limit
Temperature stress28C for blue crab (species-configurable)Water temperature exceeds species-specific stress threshold
Priority pullComputedPot ranks in bottom quartile of soak quality across fleet

A composite 0–100 metric computed per pot that decays from 100 based on:

  • Guest duration — the longer the oldest guest, the faster the decay
  • Water temperature — warm water accelerates the decay rate
  • Catch rate trend — zero catch rate with crabs present accelerates decay (bait exhausted)

The score gives the operator a single number: is this pot still producing value? Combined with keeper count, the tablet can rank every pot in the fleet by pull priority — answering “which pot should I pull next?” with data instead of habit.

  • 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