This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Other WII Software

Inventory of WII-family repositories — buoy firmwares, servers, dashboards, maths code, test rigs, and data archives. Possibly available on request; none of them have been individually assessed for release yet.

Beyond the pieces already featured under Firmware, Server, Analysis, Viewers, and Onboard Data Processing, the WII project carries a large family of related repositories — earlier buoy generations, dashboards, server tooling, maths libraries, test rigs, and data archives.

None of these have been individually assessed yet, so it’s genuinely unclear which ones can or can’t be released — that’s why they aren’t already public. Some are clean and would be straightforward; others may have licensing, customer-specific identifiers, or third-party dependencies that need looking at first.

If any of them sound useful for your work, get in touch and we’ll review that one and work out what’s possible. No promises on outcome or timing — but worth asking.

This page is the inventory.

Buoy firmware

Earlier generations and parallel firmware builds. The current production firmware is the AVR build documented at Firmware.

  • WII1_Board — original 2012 AVR buoy board firmware. Modular components (ADC, GPS, IMU, SD, Temperature) and higher-level modules (Collect, Config, Maths, Sleep, Storage, WDT). Older project; superseded by WII2/3/5.
  • WII2_Board — 2014 Scott Base sensor-board firmware. Inclinometer + MPU9150 + Kistler + GPS + Iridium SBD at 2–8 Hz to SD.
  • WII5_Buoy — alternative AVR firmware tree. “WII5 = WII3 WDT + WII1 Buoy Combined.” Version 5.5.4 was the 2024 KOPRI deployment build.
  • WII5_Buoy32 — planned ESP32 (dual-core 32-bit) successor to WII5_Buoy. Prototype stage.
  • WII5Sh3d — SparkFun LoRa Gateway ESP32 build of the WII5 buoy firmware. Same concept as WII5_Buoy, different hardware target.
  • WII5_Firmware — archive of compiled WII5 buoy .hex binaries, v1.0.0 through v1.0.21, field-deployment ready.

Buoy hardware and companions

  • WII_Hardware — Arduino board-definition package for the custom WII board (packages/WII/avr/5.1.0, MegaPro 3.3 V 8 MHz bootloader).
  • WII_GondolaController — Arduino sketch for the gondola rig.
  • WII5_RigController — Arduino sketch for the rig deck-side controller.
  • WII5_Controller — M5StickC PlatformIO firmware: handheld for field configuration of buoys.
  • WII5_MiniDisplay — Arduino sketch for a small OLED/TFT status display with 3 buttons. Companion to the buoys.

Servers, dashboards, UIs

  • WII3_Server — Node.js Express server (Dockerised). Handles Iridium inbound, buoy status, user management, REST API. Still in active use for the 2024 KOPRI deployment at wii.dd.com.au.
  • WII2Dashboard — Node.js dashboard for the WII2 buoy system, running on Intel Edison. Modes for photos, wind, GPS, voltage, downloads, console.
  • WII3_Dashboard — Node.js dashboard for the WII3 buoy. Manages capture, GPS, anemometer, Iridium, cameras, MPPT, AVR watchdog. UI under right/ (Jade + Gulp).
  • WII3_RudicsServer — Client/server pair tunnelling TCP over Iridium RUDICS using SLIP. Buoy-side dials out; AWS-side terminates inbound.
  • WII5_Buoy_UI — Bootstrap admin-template buoy status web UI (Bower + Gulp).
  • WII5_LocalServer — Pi-side ingest server. Receives HELLO requests from nearby buoys, auto-downloads data + logs via rsync, forwards to the main server.
  • WII5_Offline — Offline viewer + XLSX export tool for KOPRI buoy data. Standalone Node.js app; produces a single redistributable.

Maths and signal processing

  • WII3_Maths — C wave-analysis library. Significant wave height (Hs), peak period, wave direction from 2 Hz accelerometer. Compared against “Arctic Swift” reference measurements. v3.27 current.
  • WII3_Capture — C data-capture and post-processing programs. Builds process_data that turns raw IMU/ADS/MPU samples into spectral output.
  • WII3_Binary — Node.js library for encoding/decoding WII data packets. Sits between firmware and server/maths tooling. Apache-2.0.
  • WII5_MathsApp — Pi-side maths orchestrator. Controls AVR, runs WII3_Maths on captured data, generates Iridium payloads, tracks send status. Lerna monorepo.
  • WII5_MathsTools — systemd/service tooling (units, SD device tree, Bluetooth, multi-WiFi AP config) for the Maths Pi.
  • WII5_MathsSDCard — Scratch workspace bundling SPI / SD-card example code (fatfs, spi-tools, spincl) used while developing SD access.
  • WII5_SD_Block — Custom block-level SD-card library. AVR-side writes metadata + data to specific SD blocks; Linux-side tool reads them back. Avoids filesystem overhead.

Test rigs, experiments, debug harnesses

  • WII2_Test — Stand-alone GPS test sketches (GPSCapture, GPSRaw) from WII2 bring-up.
  • WII3_WatchDog — Initial debug Arduino sketch for the WII3 WDT AVR. Monitors the main Linux controller, controls 3.3 V main power, reads a DS18B20.
  • WII5_AnemometerTest — Anemometer test rig. Captures GPS time + 3× anemometer channels to CSV; calculates speed offline.
  • WII5_MegaTest — Single-file Arduino sketch for the Mega.
  • WII5_Memory — Arduino sketch experimenting with serial-debug, serial-manager, and serial-maths classes.
  • WII5_Direct_Sparton — Debug sketch talking directly to the Sparton compass/IMU, isolating it from the full buoy stack.
  • WII5_Fake_Sparton — Sparton emulator. Replays recorded raw Sparton data over serial so the buoy can run its IMU pipeline without real hardware. Perl generate.pl produces the C arrays from captures.
  • WII5_Sparton_10040 — Working tree of experiments around the Sparton 10040 compass/AHRS. Parallel variant subdirectories.
  • WII5_Sparton_Experiments — Container for related Sparton trials.
  • WII5_SDTester — Test sketch verifying WII5_SD_Block correctness. Used in production-test.
  • WII5_WatchDog — Placeholder repo (no code).

Client tooling

  • WII5_Client — CLI for talking to buoys over serial. Dual implementation: wii5cli.js (Node.js with serialport) and wii5cli.go (Go port). Used from Pi / Maths-app hosts for manual buoy inspection.

Data archives

Not source code — captured field data preserved for replay and analysis.

  • WII2_Data — Field captures from WII2: Antarctica 2014-11, Arctic 2015, PreArctic.
  • WII3_Data — WII3 field captures: FrenchIsland_July2016, NIWA_Test2017, PortPhillip_July2016, Rig_July2016, plus an rockblock/ Iridium subset.
  • WII3_TestData — Test-run output and archive logs from WII3 software.
  • WII5_Data — Numbered-directory archive (buoy/capture IDs 10046, 10801, 10804, 10805, 10806, 2617735, 5672702).
  • WII5Data — Captured data per WII5 buoy, one directory per buoy id (11000 through 11010). Matches the KOPRI 2024 fleet.

Already on this site

These two WII repositories are already featured here, not duplicated above:

  • WII5Firmware — the current production AVR firmware. Documented at Firmware with code highlights and a link to the Gitea source.
  • WII5Home — this site.