Skip to content

floppyrj45/nowyousea-openctd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NowYouSea OpenCTD

Open-source, low-cost oceanographic instrument network for coastal monitoring

License: MIT License: CC BY-SA 4.0 Status: Field-validated


What is NowYouSea OpenCTD?

NowYouSea OpenCTD is an open hardware and software platform for deploying autonomous, solar-powered oceanographic buoys at a fraction of the cost of commercial solutions. Each buoy - called a "rocher" (rock, because it blends into the coastline) - measures Conductivity, Temperature, and Depth (CTD), captures passive underwater audio via a hydrophone, and streams data in near real-time to a cloud backend over 4G or LoRa mesh.

The system has been field-validated at Quily beach (Morbihan, France) against a commercial reference sonde (>5000 EUR) with error margins below 0.35%. It is developed by the NowYouSea team as part of an open, participatory coastal monitoring initiative.

Full project documentation and live data: https://nowyousea.fr


Why another open CTD?

Existing open-source CTD projects (OpenCTD, Niskin3D) focus on lowered profiling instruments operated manually. NowYouSea targets something different:

  • Permanent, autonomous deployment on fixed coastal structures (rocks, piers, moorings)
  • Passive acoustic monitoring alongside CTD (underwater noise, cetacean presence, AIS)
  • LoRa mesh networking for sites without 4G coverage
  • Solar + LiFePO4 energy autonomy for multi-month unattended operation
  • Open data pipeline from sensor to dashboard to public API

Hardware Overview

Each buoy consists of two node types:

Fat Node (Internet Gateway)

  • Raspberry Pi 4 (4 GB)
  • Blue Robotics Bar30 / MS5837-30BA pressure+temperature sensor
  • Aquarian H3-series hydrophone + Roland Rubix 22 USB audio interface
  • dAISy 2+ AIS receiver
  • GL.iNet Puli GL-XE300 4G modem (LTE-A)
  • RAK Wireless LoRa gateway HAT (for mesh)
  • 100W monocrystalline solar panel
  • MPPT 10A charge controller
  • 60Ah LiFePO4 battery (or Torqeedo Power 26-104 module)
  • IP68 enclosure with SubConn-compatible connectors

Light Node (LoRa Relay / Sensor-only)

  • ESP32 microcontroller
  • MS5837-30BA pressure+temperature sensor
  • LoRa SX1276 radio (868 MHz EU / 915 MHz US)
  • 10W solar panel
  • 10Ah LiFePO4 pack

Estimated total BOM cost (fat node): ~700-900 EUR. See docs/BOM.md.

NowYouSea Buoy


Software Stack

Layer Technology
Sensor firmware (ESP32) MicroPython / Arduino (TBD - see firmware/)
Edge compute (Pi) Python 3.11, asyncio
Audio processing Sox, librosa (offline), FFT streaming
4G uplink MQTT over TLS to cloud broker
LoRa mesh Meshtastic-compatible (evaluation ongoing)
Cloud ingest FastAPI + PostgreSQL + InfluxDB
Dashboard Custom HTML/JS + Leaflet + Tailwind
Public API REST JSON (OpenAPI spec TBD)

Validation Summary

Field tests at Quily beach (Morbihan, June 2025) compared a NowYouSea fat node against a calibrated commercial reference sonde (retail >5000 EUR).

Measurement NowYouSea error Notes
Depth < 0.6 % 0-10 m range
Speed of sound 0.10 - 0.35 % Across salinity/temp range
Temporal resolution 25x higher 1 Hz vs reference 0.04 Hz

Full methodology and raw comparison plots: https://nowyousea.fr/premiers-tests/ English version: https://nowyousea.fr/en/first-tests/


Quickstart

Note: Full firmware and deployment scripts are being prepared for public release. The sections below describe the intended workflow.

# Clone the repository
git clone https://github.com/nowyousea/openctd.git
cd openctd

# (Fat node - Raspberry Pi) Install Python dependencies
pip install -r requirements.txt   # TBD

# Configure your node
cp config.example.yaml config.yaml
# Edit config.yaml with your MQTT broker, GPS coordinates, etc.

# Run the sensor stack
python main.py   # TBD

For hardware assembly, see docs/HARDWARE.md. For the full software architecture, see docs/SOFTWARE.md.


Repository Structure

nowyousea-openctd/
├── docs/               Technical documentation
│   ├── ARCHITECTURE.md   System topology and design decisions
│   ├── BOM.md            Bill of Materials with supplier links
│   ├── HARDWARE.md       Assembly guide, enclosure, connectors
│   ├── SOFTWARE.md       Software stack, Pi + ESP32
│   ├── ENERGY.md         Power budget, autonomy calculations
│   ├── VALIDATION.md     Quily field validation summary
│   └── ROADMAP.md        Planned features and milestones
├── firmware/           ESP32 and Pi edge code (scaffolding)
├── examples/           Sample datasets and deployment notes
│   └── quily-2025/       Quily beach pilot deployment
├── .github/            GitHub issue templates
└── CONTRIBUTING.md     How to contribute

License

  • Code: MIT License (see LICENSE)
  • Documentation and hardware designs: Creative Commons CC BY-SA 4.0

Contributing

We welcome contributions from hardware makers, marine scientists, and developers. See CONTRIBUTING.md to get started.


Links


Contributors

  • cand0o - Hardware lead, field deployment
  • NowYouSea team - Software, data pipeline, infrastructure
  • Community contributors welcome - see CONTRIBUTING.md

About

NowYouSea OpenCTD : open hardware low-cost underwater acoustic and CTD monitoring stations. LoRa mesh, Raspberry Pi + ESP32, field-validated 2025.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors