๐งญ 1. Convoy Mode Overview
A convoy is a group of seasteads that sail together on a grid, each maintaining a precise relative position via moving-base RTK GPS. Every seastead shares sensor data โ cameras, AIS, radar โ so that the fleet as a whole has 360ยฐ awareness that no single vessel could achieve alone.
Core Capabilities
- Position-hold: Each autopilot keeps its seastead within ยฑ2 m of its assigned grid cell.
- Shared watch: Cameras, AIS, and (optionally) radar feeds are fused across the convoy.
- Parallax ranging: When two or more seasteads see the same object, the system computes its distance via triangulation.
- Automatic join/leave: A newcomer approaches, receives a slot, and the autopilot engages.
- Night watch rotation: Crew on duty confirm their status; the system monitors for lapsed confirmations.
- Redundant comms: Mesh Wi-Fi for high-bandwidth data; Starlink as WAN backhaul; VHF/AIS as safety fallback.
๐ก 2. Network Topology
2.1 Why Directional Antennas on a Grid?
In a grid layout every seastead has, at most, four immediate neighbors (North, South, East, West). A directional antenna pointed at each neighbor focuses energy where it is needed, giving more range and higher throughput for the same transmit power compared to an omnidirectional antenna.
2.2 Link Layers
| Layer | Technology | Purpose | Direction |
|---|---|---|---|
| Mesh LAN | Wi-Fi 6, 5 GHz, directional | Camera streams, telemetry, parallax data, voice comms | Neighbor โ Neighbor |
| WAN / Internet | Starlink (Gen 3) | Weather data, fleet-wide coordination servers, updates | Each SS โ Internet |
| Safety fallback | VHF DSC + AIS Class B | SOLAS-compliant watch alerting, Mayday relay | Broadcast |
| Position | Moving-base RTK GPS | Centimeter relative positioning | Each SS โ Mesh LAN |
2.3 Mesh Routing
The directional links are not a broadcast medium โ they are point-to-point bridges. A local router on each seastead runs a mesh routing protocol so that packets can transit multiple hops to reach any seastead in the convoy:
- B.A.T.M.A.N. Advanced (batman-adv) โ Layer-2 mesh, kernel-level, very low overhead, widely used on Linux/OpenWrt.
- OLSR โ Layer-3 mesh, well-tested in mobile ad-hoc networks (MANETs).
- Babel โ Simple, loop-free, handles mobility well.
๐ฐ๏ธ 3. Recommended Hardware
3.1 Antennas โ Directional, Point-to-Point Bridges
Each seastead has 4 directional radio links (one per grid direction). A single pair of devices (one on each seastead) forms a dedicated, high-gain link. The table below compares several viable options:
| Device | Standard | Gain | Max Range | Throughput | Price / Pair | Notes |
|---|---|---|---|---|---|---|
| Ubiquiti airMAX NanoStation 5AC | Wi-Fi 5 (802.11ac) | 16 dBi | ~15 km | 450+ Mbps | ~$170 | Best Value Proven marine use, IP-rated |
| Ubiquiti Loco 5AC | Wi-Fi 5 (802.11ac) | 13 dBi | ~10 km | 450+ Mbps | ~$100 | Smaller form factor, great for โค200 m grids |
| Ubiquiti Wave Nano | Wi-Fi 6, 5 GHz | 20 dBi | ~8 km | 867+ Mbps | ~$400 | Wi-Fi 6 Higher throughput, DFS channels |
| MikroTik SXTsq 5 ac | Wi-Fi 5 (802.11ac) | 16 dBi | ~12 km | 450+ Mbps | ~$130 | Very thin profile, RouterOS included |
| Engenius ENH500v3 | Wi-Fi 5 (802.11ac) | 16 dBi | ~5 km | 300+ Mbps | ~$180 | Easy setup, no license needed |
At grid spacing of 100โ200 m you are far inside their rated range. The Loco 5AC is cheapest; the NanoStation 5AC has a bit more gain and a wider beam (which helps if boats are slightly off-grid). Wi-Fi 6 (Wave Nano) is nice-to-have but not necessary at this range.
3.2 Local Router / Switch
Each seastead needs a local device that:
- Bridges the four directional radio links.
- Runs the B.A.T.M.A.N. mesh routing daemon.
- Connects local devices (cameras, RTK GPS, control computer, crew laptops).
- Provides a Starlink WAN uplink.
| Device | Role | OS | Eth Ports | Price |
|---|---|---|---|---|
| GL.iNet Beryl AX (MT3000) | Travel router / mesh node | OpenWrt | 1 WAN + 1 LAN | ~$90 |
| MikroTik hEX S (RB760iGS) | 5-port managed router | RouterOS | 5 | ~$70 |
| Raspberry Pi 5 + USB Ethernet | Flexible Linux router | Raspberry Pi OS / OpenWrt | 2+ | ~$100 |
| Protectli Vault FW2B | Mini-PC router/firewall | pfSense / OpenWrt | 4 | ~$330 |
The hEX S handles switching and basic routing at very low power (~5 W). A Raspberry Pi 5 runs B.A.T.M.A.N. adv, parallax calculation, camera capture, and the convoy coordination daemon. Together: ~$170.
3.3 Optional: Omnidirectional Overlay
Alongside the four directional links, consider adding one omnidirectional antenna on each seastead. This provides a low-bandwidth safety net if a directional link is misaligned (e.g., during a storm or when a seastead is joining and has not yet locked onto its grid slot):
- Ubiquiti airMAX Omni AMO-5G13 โ 13 dBi omni, ~$130, works with a Rocket radio.
- Cambium ePMP Force 180 โ 16 dBi panel, can serve as a general-purpose access point, ~$160.
Optional but recommended for resilience. Budget ~$130โ$160 per seastead.
3.4 Antenna Mounting Notes
- Mount antennas above the roof/solar panels on a short mast (3โ5 ft) to reduce reflections.
- Use marine-grade stainless mounting hardware and drip loops on all cable runs.
- Cat-6 Ethernet from the antenna down to the router inside the truss. Max run ~100 m (well within limits).
- If the antennas have integrated radios (as the Ubiquiti PtP units do), power and data travel over a single PoE cable โ very clean.
๐ฐ 4. Cost Breakdown (Per Seastead)
Budget Configuration (Recommended)
| Item | Qty | Unit Price | Subtotal |
|---|---|---|---|
| Ubiquiti NanoStation 5AC (or Loco 5AC) | 4 | $85 โ $170 | $340 โ $680 |
| MikroTik hEX S router | 1 | $70 | $70 |
| Raspberry Pi 5 (8 GB) + case + SD + USB-Eth | 1 | $100 | $100 |
| PoE injector (24 V passive) or PoE switch | 1 | $40 | $40 |
| Mast mount hardware + cable + connectors | lot | โ | $80 |
| Optional omni antenna + radio | 1 | $130 | $130 |
โ $770 โ $1,100 per seastead
Add Starlink ($120โ$250/mo), AIS transponder (~$300 one-time), and RTK GPS base/rover set (~$500โ$2,000) separately.
๐ 5. Performance Estimates
5.1 Range
| Antenna | Grid Spacing | Expected Signal | Throughput |
|---|---|---|---|
| Loco 5AC (13 dBi) | 100 m | Excellent (โ30 dBm) | 450+ Mbps |
| Loco 5AC (13 dBi) | 500 m | Very good (โ45 dBm) | 400+ Mbps |
| NanoStation 5AC (16 dBi) | 2 km | Good (โ55 dBm) | 300+ Mbps |
| NanoStation 5AC (16 dBi) | 10 km | Usable (โ72 dBm) | 100+ Mbps |
At typical convoy grid spacing (100โ200 m), every link will be running at or near maximum data rate โ effectively zero packet loss.
5.2 Bandwidth Budget (Per Seastead)
| Data Type | Streams | Per Stream | Total |
|---|---|---|---|
| Camera video (H.265, 1080p) | 4 | 4 Mbps | 16 Mbps |
| Camera video (overwatch, neighbor feeds) | up to 8 | 4 Mbps | 32 Mbps |
| Telemetry / GPS / AIS fusion | continuous | 0.1 Mbps | 0.1 Mbps |
| Voice comms (VoIP, encrypted) | 2 | 0.1 Mbps | 0.2 Mbps |
| Control / autopilot sync | continuous | 0.05 Mbps | 0.05 Mbps |
Total estimated mesh traffic: ~50 Mbps worst case. Well within a single 450 Mbps link โ even with multi-hop routing there is plenty of headroom.
5.3 Latency
Point-to-point Wi-Fi links add <1 ms per hop. Even a 5-hop path across the convoy is <5 ms โ negligible for video, telemetry, and control loops.
๐ป 6. Software Architecture
6.1 Stack Overview
6.2 Data Distribution โ MQTT + Protobuf
Use MQTT (Eclipse Mosquitto) as the primary publish/subscribe bus for all inter-seastead data. MQTT is extremely lightweight, supports QoS levels, and has excellent library support in Python, C/C++, Rust, JavaScript, and more.
Key Topics
| Topic Pattern | Payload | QoS | Frequency |
|---|---|---|---|
fleet/{ss_id}/position |
Lat, Lon, heading, speed, RTK quality | 1 | 10 Hz |
fleet/{ss_id}/ais/targets |
AIS target list (MMSI, pos, SOG, COG) | 1 | 2 Hz |
fleet/{ss_id}/camera/{ch}/track |
Bearing, elevation, object class, confidence | 0 | 5โ30 Hz |
fleet/tracks/{track_id} |
Fused track: pos, vel, range, classification | 1 | 5 Hz |
fleet/{ss_id}/watch/status |
On-duty crew, last heartbeat, alert level | 2 | 1 / 10 s |
fleet/alerts |
Cross-convoy alerts (collision, weather, comms loss) | 2 | event-driven |
Payloads are serialized with Protocol Buffers (Protobuf) for compact, strongly-typed, language-neutral data encoding.
6.3 State Synchronization โ CRDT
The convoy's shared state (tracked objects, watch status, grid assignments) must stay consistent even when links are temporarily lost. A Conflict-Free Replicated Data Type (CRDT) approach is ideal:
- Each seastead maintains its own copy of the fleet state.
- Updates are broadcast and merged using last-writer-wins or grow-only set semantics.
- No single leader is required โ any seastead can go offline and re-sync when it returns.
6.4 Core Software Components
| Component | Language | Responsibility |
|---|---|---|
| convoyd | Rust or C++ | Main daemon: fleet state, autopilot interface, CRDT merge |
| trackd | Python / Rust | Parallax triangulation, multi-sensor fusion, Kalman filter |
| watchd | Python | Watch rotation, heartbeat monitor, alert escalation |
| camerad | C++ / Python | Camera capture, H.265 encode, object detection (YOLOv8) |
| webui | React / Vue | Crew dashboard: map, tracks, watch status, comms |
๐ 7. Joining & Leaving the Convoy
7.1 Joining Sequence
Discover
New seastead receives convoy broadcast via Starlink or VHF. It transmits its intent and vessel ID.
Assign Slot
Convoy coordinator allocates a grid cell โ edge or corner โ to minimize disruption.
Approach
Skipper navigates toward the assigned slot. Autopilot in "approach" mode.
Mesh Handshake
When within ~half a grid spacing, directional antennas align and a mesh link is established. "Convoy mode activated."
Lock
RTK GPS relative lock achieved. Autopilot takes over grid-hold. Cameras and sensors begin publishing.
Sync
CRDT state synchronized. New seastead appears on all crew dashboards.
7.2 Leaving Sequence
- Crew announces departure on fleet channel.
- Coordinator marks slot as vacated.
- Autopilot releases grid-lock; skipper takes manual control.
- Mesh links drop; state is pruned from CRDT after timeout.
7.3 Auto-Antenna Alignment
When a seastead is in "approach" mode, its directional antennas can use a scanning sweep (rotate ยฑ5ยฐ while measuring signal strength) to find the best link to each neighbor. Ubiquiti devices support this natively via their airOS alignment tool. Once aligned, the link is locked.
๐ 8. Parallax Target Tracking
8.1 How It Works
Each seastead's cameras continuously detect objects (ships, buoys, debris) and publish their bearing (azimuth and elevation from the camera's known position and orientation) to the fleet MQTT bus.
When two or more seasteads detect what appears to be the same object (matched by bearing convergence, AIS correlation, or visual similarity), the trackd service on any participating seastead computes the object's range via triangulation:
8.2 Accuracy
| Parameter | Typical Value |
|---|---|
| Bearing accuracy (camera + IMU) | ยฑ0.5ยฐ |
| RTK GPS relative position accuracy | ยฑ2 cm |
| Baseline (inter-SS distance) | 100โ200 m |
| Range error at 1 km target | ยฑ15โ30 m |
| Range error at 5 km target | ยฑ100โ200 m |
Accuracy improves dramatically with a longer baseline (seasteads farther apart) and with more observers (3+ seasteads seeing the same target enables least-squares fusion).
8.3 Multi-Sensor Fusion
The trackd engine uses a Kalman filter (or Unscented Kalman Filter for nonlinear geometry) to fuse:
- Camera parallax bearings
- AIS reported positions
- Radar returns (if radar is present on any seastead)
- Historical track state (velocity extrapolation)
The result is a continuously-updated fleet-wide track database with estimated position, velocity, classification, and confidence level.
๐๏ธ 9. Watch & Crew Rotation
9.1 Watch Confirmation Protocol
Crew members who are "on watch" must periodically confirm their status. This ensures that if someone is incapacitated or falls asleep, the system can escalate.
| Step | Action | Interval |
|---|---|---|
| 1 | On-watch crew taps a button on the dashboard app (or physical button in the living area). | Every 10 min |
| 2 | The watchd daemon publishes the heartbeat to the fleet MQTT topic. |
Immediate |
| 3 | All seasteads monitor heartbeats from all watch stations. | Continuous |
| 4 | If a heartbeat is missed for 15 min โ amber alert: notify that seastead's crew. | โ |
| 5 | If 30 min โ red alert: notify entire convoy, increase AI scan sensitivity. | โ |
9.2 Watch Scheduling
The convoy can have a shared watch schedule managed by the coordinator:
- Standard 4-hours-on / 8-hours-off rotation across all seasteads.
- At any time, at least N seasteads (configurable) must have confirmed active watches.
- If too few watches are active, the system issues a fleet-wide alert and the AI systems increase their sensitivity.
9.3 AI Watch Augmentation
Even when human watch-keepers are on duty, the AI camera system is always running:
- YOLOv8 object detection on all camera feeds.
- AIS target tracking with CPA/TCPA (Closest Point of Approach / Time to CPA) calculation.
- Anomaly detection: objects not matching AIS, unexpected wakes, small boats without transponders.
- Audio listening (optional): hydrophone or microphone detects engine sounds from approaching vessels.
๐ 10. Failover & Redundancy
10.1 Link Failure Modes
| Failure | Effect | Mitigation |
|---|---|---|
| One directional link drops | Traffic reroutes through other neighbors (mesh routing). | B.A.T.M.A.N. adv handles automatically. |
| Two links on same seastead drop | Still connected via remaining links + omni overlay. | Omnidirectional antenna provides backup. |
| All mesh links lost | Seastead is isolated. | Starlink for WAN coordination; VHF for emergency voice. |
| Starlink down | No internet; convoy mesh still works. | Local-only mode: all tracking and watch functions continue. |
| Local router failure | All comms lost on that seastead. | Spare Raspberry Pi pre-configured as hot standby. |
| GPS/RTK failure | Position hold degrades. | Neighbor GPS data shared; dead reckoning from IMU. |
10.2 Recommended Redundancy
- Carry one spare Ubiquiti radio (pre-paired).
- Carry one spare Raspberry Pi with a full image backup (USB stick).
- Dual RTK GPS receivers (if budget allows).
- VHF radio with DSC โ always on, independent of IT infrastructure.
โ๏ธ 11. Systems Integration with Seastead Design
11.1 Hardware Placement on the Triangle Frame
- Directional antennas: Mount on four corners of the roof/ceiling truss, above solar panels, on 3โ4 ft stainless masts. One faces each cardinal direction.
- Omnidirectional antenna: Center of the roof, on a 5 ft mast.
- Router + Pi: Inside the living area in a ventilated electronics cabinet, with UPS battery backup.
- Cameras: Four PTZ cameras on the roof corners + two fixed cameras on the front (bow) and back (stern) for the parallax system.
- RTK GPS antenna: Roof center, clear sky view, away from solar panel edges.
11.2 Power Budget
| Device | Power Draw |
|---|---|
| 4ร Ubiquiti NanoStation 5AC | 4 ร 8 W = 32 W |
| MikroTik hEX S | 5 W |
| Raspberry Pi 5 | 12 W |
| 4ร PTZ cameras | 4 ร 15 W = 60 W |
| RTK GPS | 3 W |
| Optional omni radio | 8 W |
Total: ~120 W continuous for the entire networking + sensing stack. This is easily supplied by the solar array (even at night with modest battery capacity).
11.3 Cabling
- All antenna links use shielded Cat-6 Ethernet with outdoor-rated UV-stable jacket.
- Ubiquiti radios use passive PoE (24 V) โ power and data on one cable.
- Camera PoE (802.3af/at) โ powered from a small PoE switch inside.
- All cable entry points sealed with marine-grade waterproof glands.
- Drip loops on all cables before they enter the enclosure.
โ 12. Summary & Recommendations
Hardware
- 4ร Ubiquiti NanoStation 5AC (or Loco 5AC) for directional mesh links.
- 1ร MikroTik hEX S as managed switch/router.
- 1ร Raspberry Pi 5 (8 GB) running OpenWrt + B.A.T.M.A.N. adv + convoy software.
- Optional: 1ร omnidirectional radio for resilience.
- Budget: $770โ$1,100 per seastead (excluding Starlink, AIS, RTK GPS).
Software
- B.A.T.M.A.N. Advanced for Layer-2 mesh routing.
- MQTT (Mosquitto) + Protobuf for data distribution.
- CRDT for resilient fleet state synchronization.
- Custom daemons: convoyd (fleet state), trackd (parallax fusion), watchd (crew monitoring), camerad (vision).
- Web dashboard for crew interface.
Convoy Operations
- Seasteads join by approaching a designated slot; autopilot engages at ~half grid spacing.
- Parallax ranging from multiple seastead cameras gives accurate distance to detected objects.
- Watch system uses periodic crew heartbeats with amber/red escalation.
- AI object detection (YOLOv8) runs continuously on all camera feeds.
- All operations continue in local-only mode if Starlink is lost.