Files
WII5Firmware/doc/EXTERNAL_REFERENCES.md
T
scottp 295abb37ee Initial public release of WII5 Buoy firmware
Firmware for an autonomous wave-measurement buoy (ATmega2560-based
WII5 v2 board). Reads wave motion from a Sparton AHRS-M1/M2 IMU,
samples GPS and battery state, and reports back over Iridium SBD
satellite telemetry. Originally developed 2012-2024.

This is the first public release. Code, documentation, and field-tested
operating modes (Capture, Sleep, Position, ManualTest, SelfTest,
LowBattery) are licensed under Apache 2.0 — see LICENSE and NOTICE.

See README.md for an overview and build instructions, CONTRIBUTING.md
for how to contribute, and DEPLOYMENTS.md for the field-deployment log.
2026-05-07 16:27:18 +10:00

46 lines
1.6 KiB
Markdown

# External References
Vendor documentation that the WII5 buoy firmware was developed against.
These documents are not redistributed in this repository (their licensing is
unclear); refer to the vendor sites for current copies.
## Iridium 9602 / 9603 SBD modems
Used for satellite telemetry. Key reference is the **Iridium 9602 / 9603
SBD Transceiver Developer's Guide** (AT-command set, SBD message lifecycle,
binary message framing for `+SBDWB` / `+SBDI`).
- Iridium developer portal: https://www.iridium.com/services/iridium-sbd/
- Search the Iridium partner network for the current "9602/9603 Developer
Guide" PDF.
Relevant code: `WII5Iridium.cpp`, `WII5SerialManager.cpp` (`+SBDWB`,
`+SBDI`, `+CSQ` parsing), `WII5BinData.*` (340-byte message format).
## Sparton AHRS-M1 / AHRS-M2
Used as the primary IMU / wave-motion sensor. Key references:
- AHRS-M1 / AHRS-M2 Software Interface Control Document
- AHRS-M1 / AHRS-M2 Hardware ICD
- NorthTek Programming Manual (Sparton's Forth-like configuration language;
the `programLine()` helpers in `WII5SerialManager.cpp` emit NorthTek
commands).
- Sparton (now Bel Power Solutions / part of Bel Fuse) documentation:
https://www.belfuse.com/
Relevant code: `WII5Sparton.cpp`, `WII5Setup.cpp` (compass/AHRS init).
## Other components
- **Dallas DS18B20** — temperature sensor:
https://www.analog.com/en/products/ds18b20.html
(Used in `WII5Weather_18B20.cpp` via the OneWire / DallasTemperature
Arduino libraries.)
- **TinyGPS++** — NMEA parser library:
https://github.com/mikalhart/TinyGPSPlus
- **u-blox NEO-6M / NEO-7M** — GPS module datasheets (NMEA reference):
https://www.u-blox.com/