Subsea Sensor Data Logger
An embedded data acquisition system designed to log and transmit environmental sensor data (pressure, temperature, salinity) — built on STM32, adapting my AUTOSAR development experience to marine instrumentation.
Overview
This project brings automotive-grade embedded development practices to marine instrumentation. The data logger captures environmental sensor readings at configurable rates and stores them on an SD card with timestamps and error correction.
Key Features
- Multi-Sensor Support: Pressure (MS5837), temperature (DS18B20), and conductivity (Atlas EZO-EC) sensor integration
- Low-Power Design: Sleep modes and duty cycling for extended deployment on battery power
- AUTOSAR-Inspired Architecture: Layered software architecture with hardware abstraction, following patterns from automotive ECU development
- Data Integrity: CRC-checked data packets with redundant storage for reliable ocean deployments
Technical Details
The firmware is built on STM32 HAL with FreeRTOS for task scheduling. The software architecture follows AUTOSAR BSW patterns — with a hardware abstraction layer, communication stack, and application layer cleanly separated. This makes sensor swapping straightforward without touching application logic.
What I Learned
The biggest challenge was adapting to the marine environment’s power constraints. In automotive, you have a 12V battery and alternator — in subsea, every milliamp matters. This forced me to deeply optimize sleep states and duty cycles in ways I hadn’t needed to in automotive.