Embedded Systems & IoT

WorldWide Weather Watcher (3W): Maritime IoT Station

C++Arduino UNO R3AVR Bare-MetalSensors / GPSSysML / UML
WorldWide Weather Watcher (3W): Maritime IoT Station — Embedded Systems & IoT

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.

Visual Documentation

Engineering Artifacts & Diagrams

Click any diagram or visual artifact to examine in high resolution.

Complete 3W Prototype Hardware Assembly

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 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

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

UML Use Case Diagram

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

Comprehensive Operational Activity Diagram

Comprehensive Operational Activity Diagram

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

UML Component Diagram

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.