Open-source, low-cost oceanographic instrument network for coastal monitoring
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
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
Each buoy consists of two node types:
- 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
- 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.
| 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) |
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/
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 # TBDFor hardware assembly, see docs/HARDWARE.md. For the full software architecture, see docs/SOFTWARE.md.
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
- Code: MIT License (see LICENSE)
- Documentation and hardware designs: Creative Commons CC BY-SA 4.0
We welcome contributions from hardware makers, marine scientists, and developers. See CONTRIBUTING.md to get started.
- Website: https://nowyousea.fr
- Field validation: https://nowyousea.fr/premiers-tests/
- Live dashboard: https://nowyousea.fr/dashboard/
- Contact: hello@nowyousea.fr
- cand0o - Hardware lead, field deployment
- NowYouSea team - Software, data pipeline, infrastructure
- Community contributors welcome - see CONTRIBUTING.md
