WorldWide Weather Watcher (3W): Maritime IoT Station

Overview & Objective
WorldWide Weather Watcher (3W) is an advanced maritime embedded weather station prototype developed for startup THS to predict and prevent open-ocean natural disasters such as cyclones. Engineered under strict AVR ATmega328 bare-metal hardware constraints (2 KB SRAM, 16 MHz) using SysML/UML systems modeling (Bête à cornes, Pieuvre, activity, component, use-case diagrams). Features non-blocking Timer ISRs, 4 operational states (Standard, Economy, Maintenance, Configuration), real-time sensor polling (BME280 temperature/humidity/pressure, GPS coordinates, DS1307 RTC, luminosity), and corruption-resistant FAT32 SD card file rotation.
Context & Maritime Disaster Prevention
When navigating the open ocean, sudden weather changes can escalate quickly and dangerously. The WorldWide Weather Watcher (3W) is an advanced embedded station engineered for startup THS to continuously log atmospheric anomalies (rapid barometric drops indicating storm and cyclone formation) in remote maritime areas without cellular coverage.
4 Operational State-Machine Modes
Standard Mode (Green LED)
The default state. Acquires and logs BME280 atmospheric data and GPS coordinates every 10 minutes to the SD card.
Economy Mode (Blue LED)
Extends battery life on long voyages by doubling logging intervals and halving GPS polling frequency during calm sea stretches.
Maintenance Mode (Orange LED)
Safely unmounts the SD card, flushes cached file buffers for hot-swapping, and streams live sensor telemetry over the USB Serial bus.
Configuration Mode (Yellow LED)
A non-blocking command-line interface accessible at boot to adjust logging intervals, toggle individual sensors, and synchronize the RTC clock.
Bare-Metal Constraints & Fault Tolerance
Operating on an 8-bit AVR ATmega328 with only 2 KB of SRAM required strict memory budget discipline. The firmware eliminates memory leaks through static buffer pre-allocation, uses non-blocking Timer ISRs for button input debouncing, and features automatic file rotation on FAT32 to prevent file table corruption during open-ocean vibrations or power drops.
Engineering Artifacts & Diagrams
Click any diagram or visual artifact to examine in high resolution.

Complete 3W Prototype Hardware Assembly
Top-down view of the assembled Arduino UNO R3 station with BME280, GPS module, DS1307 RTC, SD reader, RGB indicator, and control inputs.

SysML Pieuvre Interaction Diagram
SysML interaction analysis detailing principal and constraint interactions between the 3W system, maritime crew, sensors, and ocean environment.

Hardware & Sensor Data Flow Architecture
Interactions and bus protocols between the ATmega328 MCU, I2C sensor bus, SPI SD interface, and UART GPS telemetry.

UML Use Case Diagram
User interaction pathways mapping crew actions: mode switching, SD hot-swapping, and serial boot parameter configuration.

Comprehensive Operational Activity Diagram
Logic flow mapping sensor acquisition cycles, error conditions, low-power sleep states, and mode transitions.

UML Component Diagram
Modular firmware architecture decomposing sensor drivers, storage managers, CLI consoles, and state machines.
Key Engineering Highlights
Rigorous SysML & UML Systems Engineering
Comprehensive upfront architecture mapping using SysML "Bête à cornes", "Pieuvre" interaction diagrams, and UML activity/sequence/component diagrams before writing firmware.
4 State-Machine Operational Modes
Engineered Standard (10m logging), Economy (extended intervals for power saving), Maintenance (safe SD hot-swap buffer flushing), and Configuration (boot CLI console) states.
Non-Blocking Execution & Hardware Timer ISRs
Employed hardware interrupts and Timer ISRs for button debouncing and RGB LED diagnostics, ensuring continuous, unblocked sensor telemetry on an 8-bit AVR.
Fail-Safe SD Logging & Dynamic Rotation
Implemented automatic log file size rotation on FAT32 and safe buffer flushing to eliminate file system corruption during power loss or card swap at sea.