A production-grade, low-power edge computing stack designed for autonomous marine buoy nodes. Optimized for Raspberry Pi 5/CM4 with Hailo 10H AI accelerator, with optional NVIDIA Orin Nano support for compute-intensive workloads.
SeaLink delivers a containerized edge computing platform for marine data collection, processing, and telemetry. The system is engineered for autonomous operation with minimal power consumption, featuring comprehensive sensor data collection, intelligent compression, persistent local storage, and reliable telemetry bridging to cloud services.
- Features
- Quick Start
- System Architecture
- Hardware BOM
- Power Budget
- Services Architecture
- Configuration
- Development
- Monitoring and Observability
- Security
- Performance
- License
- Support
| Component | Part Number | Quantity | Unit Price | Total | Notes |
|---|---|---|---|---|---|
| Main Board | Raspberry Pi 5 (8GB) | 1 | $80 | $80 | Primary compute unit |
| AI Accelerator | Hailo 10H AI Module | 1 | $200 | $200 | AI inference acceleration |
| Storage | SanDisk 64GB Class 10 | 1 | $15 | $15 | OS and data storage |
| Power Management | Adafruit PowerBoost 1000C | 1 | $25 | $25 | Battery charging and boost |
| Battery | 3.7V 10Ah LiPo (2S) | 1 | $45 | $45 | Primary power source |
| Solar Panel | 20W 12V Monocrystalline | 1 | $35 | $35 | Solar charging |
| Charge Controller | MPPT Solar Charge Controller | 1 | $30 | $30 | Solar power management |
| Enclosure | IP67 Waterproof Case | 1 | $50 | $50 | Environmental protection |
| Antenna | LoRa/LTE Antenna Kit | 1 | $25 | $25 | Wireless communication |
| Sensors | Camera, IMU, GNSS, Hydrophone | 1 | $305 | $305 | Multi-sensor package |
| Total | $810 |
| Component | Part Number | Quantity | Unit Price | Total | Notes |
|---|---|---|---|---|---|
| Main Board | NVIDIA Jetson Orin Nano (8GB) | 1 | $500 | $500 | High-performance compute |
| Storage | 64GB NVMe SSD | 1 | $25 | $25 | Fast storage |
| Cooling | Active Cooling Kit | 1 | $40 | $40 | Thermal management |
| Carrier Board | Orin Nano Dev Kit | 1 | $100 | $100 | Development carrier |
| Sensors | Camera, IMU, GNSS, Hydrophone | 1 | $305 | $305 | Multi-sensor package |
| Total | $970 |
| Operating Mode | Raspberry Pi 5 | Hailo 10H | Sensors | Total | Duration | Energy |
|---|---|---|---|---|---|---|
| Sleep Mode | 0.5W | 0W | 0.1W | 0.6W | 20h | 12Wh |
| Active Collection | 3.0W | 5.5W | 1.0W | 9.5W | 3min | 0.48Wh |
| AI Processing | 3.0W | 5.5W | 0.1W | 8.6W | 1min | 0.14Wh |
| Data Transmission | 2.5W | 0W | 0.5W | 3.0W | 1min | 0.05Wh |
| Idle | 2.5W | 0W | 0.1W | 2.6W | 22h 55min | 59.4Wh |
| Daily Total | 72.1Wh |
| Component | Specification | Performance |
|---|---|---|
| Solar Panel | 20W Monocrystalline | Peak output: 20W |
| Daily Generation | 4h effective sun | 80Wh/day |
| Battery Capacity | 10Ah @ 3.7V (2S) | 74Wh total |
| Usable Capacity | 80% DoD | 59.2Wh usable |
| Autonomy | Without solar | 19.7 hours |
| Winter Operation | 2h effective sun | 40Wh/day deficit |
| Strategy | Implementation | Power Savings |
|---|---|---|
| Duty Cycling | 5min active / 25min sleep | 60% reduction |
| Dynamic Scaling | CPU/GPU frequency scaling | 15% reduction |
| Sensor Management | Event-driven activation | 20% reduction |
| Sleep Modes | Deep sleep between cycles | 40% reduction |
graph TB
subgraph "Marine Environment"
Sensors[Camera • IMU • GNSS • Hydrophone]
Power[Solar Panel + Battery]
end
subgraph "Edge Computing Node"
subgraph "Data Collection Layer"
Agent[Sensor Agent<br/>Port 8080]
end
subgraph "Processing Layer"
Compress[Compression Worker<br/>Port 8081]
AI[Hailo 10H AI<br/>Inference Engine]
end
subgraph "Storage Layer"
EdgeStore[(Local Ring Buffer<br/>Persistent Storage)]
end
subgraph "Communication Layer"
Bridge[Telemetry Bridge<br/>Port 8082]
OTA[OTA Updater<br/>Port 8083]
end
subgraph "Message Brokers"
NATS[(NATS JetStream<br/>Port 4222)]
MQTT[(Mosquitto MQTT<br/>Port 1883)]
end
end
subgraph "Backhaul Connectivity"
LoRa[LoRaWAN<br/>Long Range]
LTE[LTE/4G<br/>Cellular]
end
subgraph "Cloud Services"
DSG[DeepSeaGuard<br/>Marine Analytics]
Cloud[Cloud Storage<br/>& Processing]
end
%% Data Flow
Sensors -->|Raw Sensor Data| Agent
Agent -->|JSON Data| Compress
Compress -->|Compressed Data| EdgeStore
EdgeStore -->|Batched Data| Bridge
%% AI Processing
Agent -.->|Image Data| AI
AI -.->|AI Results| Compress
%% Communication
Bridge -->|Telemetry| NATS
Bridge -->|Telemetry| MQTT
NATS -->|Forward| DSG
MQTT -->|Forward| DSG
%% Backhaul
LoRa -->|Low Power| Bridge
LTE -->|High Bandwidth| Bridge
%% Updates
OTA -->|Update Management| EdgeStore
OTA -.->|Container Updates| Agent
OTA -.->|Container Updates| Compress
OTA -.->|Container Updates| Bridge
%% Power Management
Power -->|DC Power| Agent
Power -->|DC Power| Compress
Power -->|DC Power| Bridge
Power -->|DC Power| OTA
%% Styling
classDef sensor fill:#e1f5fe
classDef processing fill:#f3e5f5
classDef storage fill:#e8f5e8
classDef communication fill:#fff3e0
classDef cloud fill:#fce4ec
class Sensors,Power sensor
class Agent,Compress,AI processing
class EdgeStore storage
class Bridge,OTA,NATS,MQTT communication
class LoRa,LTE,DSG,Cloud cloud
- Multi-Platform Support: Raspberry Pi 5/CM4 and NVIDIA Orin Nano configurations
- AI-Powered Processing: Hailo 10H integration for real-time inference
- Intelligent Compression: Multiple algorithms (zstd, lz4, brotli) with adaptive selection
- Persistent Edge Storage: Configurable ring buffer with automatic cleanup
- Dual Connectivity: LoRaWAN and LTE backhaul options
- Over-the-Air Updates: Automated container and configuration management
- Power Optimization: Duty cycling and sleep modes for extended operation
- Production Ready: Comprehensive monitoring, logging, and health checks
- Raspberry Pi 5 or CM4 with 8GB RAM
- Hailo 10H AI accelerator module
- 64GB+ microSD card (Class 10)
- Solar panel and battery system
- LoRa/LTE connectivity module
-
Flash Raspberry Pi:
./scripts/flash_pi.sh --device /dev/sdX --wifi-ssid "YourSSID" --wifi-password "YourPassword"
-
Provision Device:
./scripts/provision_pi.sh --tailnet-key "your-tailnet-key" -
Deploy Stack:
docker-compose --profile edge-pi up -d
| Service | Port | Description | Health Check |
|---|---|---|---|
| Sensor Agent | 8080 | Multi-sensor data collection with AI processing | /health |
| Compression Worker | 8081 | Intelligent data compression and ring buffer management | /health |
| Telemetry Bridge | 8082 | Message broker integration and backhaul management | /health |
| OTA Updater | 8083 | Automated update and rollback management | /health |
| Service | Port | Description |
|---|---|---|
| NATS JetStream | 4222 | High-performance message broker |
| Mosquitto MQTT | 1883 | Lightweight MQTT broker |
| LoRa Backhaul | - | Long-range wireless connectivity |
| LTE Backhaul | - | Cellular connectivity |
Copy env.example to .env and configure the following key parameters:
# Device Configuration
DEVICE_ID=sealink-001
LOG_LEVEL=INFO
# Sensor Configuration
SENSOR_INTERVAL=30
CAMERA_RESOLUTION=640x480
# Compression Settings
RING_BUFFER_SIZE=10GB
COMPRESSION_LEVEL=6
# Telemetry Configuration
BROKER_TYPE=nats
BROKER_URLS=nats://localhost:4222
BATCH_SIZE=100
# Power Management
POWER_MODE=balanced
SLEEP_DURATION=25
ACTIVE_DURATION=5| Profile | Description | Use Case |
|---|---|---|
edge-pi |
Raspberry Pi 5 optimized stack | Production deployment |
edge-orin |
NVIDIA Orin Nano stack | High-performance computing |
backhaul |
LoRa/LTE connectivity only | Communication relay |
bridge |
Telemetry forwarding only | Data forwarding node |
ota |
Update management only | Update coordination |
# Clone repository
git clone https://github.com/sealink-dev-hub/sealink-dev-hub.git
cd sealink-dev-hub
# Build all services
docker-compose build
# Run development environment
docker-compose --profile edge-pi up -d
# View service logs
docker-compose logs -f [service-name]
# Run tests
docker-compose exec agent pytest- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
All services expose health check endpoints for monitoring:
# Check service health
curl http://localhost:8080/health # Sensor Agent
curl http://localhost:8081/health # Compression Worker
curl http://localhost:8082/health # Telemetry Bridge
curl http://localhost:8083/health # OTA Updater- System Metrics: CPU, memory, disk usage
- Application Metrics: Message throughput, compression ratios
- Power Metrics: Battery levels, solar generation
- Network Metrics: Connectivity status, data transfer rates
- Container Security: Trivy vulnerability scanning in CI/CD
- Network Security: TLS encryption for all communications
- Access Control: Role-based access with API keys
- Update Security: Cryptographic signature verification
- Data Throughput: Up to 100MB/hour sensor data processing
- Compression Ratio: 70-85% reduction in storage requirements
- Power Efficiency: 60% reduction through duty cycling
- Latency: Sub-second sensor data processing
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: docs/ directory
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: Security Policy
Made with ❤️ by the Triton Team